Article View: pl.comp.lang.tcl
Article #135Re: Temat akademicki
From: Wojciech Kocjan
Date: Tue, 19 Jul 2005 06:31
Date: Tue, 19 Jul 2005 06:31
75 lines
4419 bytes
4419 bytes
Googie napisał(a):
> Wojciech Kocjan wrote:
>
>
>>No dokładnie też nie wiem - wolę pomyśleć dłużej niż potem pisać, że
>>jest "odrobinę procesożerne" :-).
> Z projektowaniem jest taki problem, że dopóki jest to sfera teorii, to
> wszystko wydaje się "do zrobienia"i oczywiste, ale gdy przychodzi
> praktyka, to jednak wiele faktów wypływa na wierzch i okazuje się że
> "tak się nie da", lub "nie jest to zbyt udane rozwiązanie". Tak było
> właśnie w moim przypadku. Choć oczywiście nie jest to reguła.
Wiem. Dlatego przy większych projektach dawniej siedziałem miesiąc nad
bawieniem sie wszystkimi detalami i próbowaniem robienia z nimi tego co
chciałem. Pomagało tego unikać.
>>Ja myślę albo o zdarzeniowości - bo
>>na logikę to albo w momencie jak np dojdzie do celu albo jak coś się
>>wydarzy to zmieni plan działania.
> No u mnie w gruncie rzeczy jest to zdarzeniowość - w końco
> zaimplementowałem własną pętlę zdarzeń i dla każdego cyklu tej pętli
> każdy z obiektów na mapie wykonuje swój cykl (ruch, obrót,
> strzał, ...). Procesorożerność wynika raczej ze stosunkowo
> zaawansowanej (jak na Tcl) grafiki i krótkich odstępów pomiędzy
> cyklami pętli zdarzeń (boda 50ms), a gdy np jeden z botów zaczyna
> naparzać z MachineGuna (gdzie każdy pocisk to obiekt ITcl) to nagle na
> mapie liczba obietków rośnie z (np.) 3 do 15 :) Dochodzi sprawdzanie
> kolizji dla każdego z nich, itd, itd...
Ja właśnie wolałbym uniknąć Itcl do tego. Zostałbym przy zmiennej np
::objects::spaceship1234 i w niej pamiętać wszystko. A jakieś pseudoapi
byłoby na zasadzie
interp alias ... spaceship1234 \
{} ::objects::handle_spaceship ::objects::spaceship1234
Jeszcze nie wiem, dlatego się bawię w testy.
> Nie wiem jak sobie poradzisz z setkami, a nawet tysiącami obiektów (jak
> to pisałeś na początku). Chyba że to ma być gra ASCII-Art?
Planowałem na wyrost, żeby potem nie klnąć na design kilku rzeczy. Sam
jeszcze nie wiem.
> Jak Ty chciałbyś takie problemy ominąć? Chyba że nie planujesz
> "Real-Time Figting" (to takie wymyślone określenie, tu i teraz) ?
Ja myślałem o strategii, dostosowanej do realiów siedzenia w firmie. Nie
wiem co z trzymaniem mapy - bo do jej renderowania pewnie musiałbym na
canvas wrzucić ok 30000 obiektów. Sadze, ze skonczy sie na wygenerowaniu
na sztywno mapy do obrazka - wtedy pamiętanie tego zajmie 30MB, ale
będzie śmigało. Można też to potem pociąć (np na kawałki 200x200).
Zobaczymy.
>>Może jakaś prostsza maszyna stanów
>>ze zdarzeniami i implementacjami stanów - wtedy sam edytor stanów
>>mógłby być graficzny i wypasiony nawet ;-)
> A tego już nie kumam ;)
Klikacz kodu :D
>>Skoro już robisz jakieś gry to może połączymy jakoś siły? :-)
> Zawsze jestem chętny. Ostatnio niestety jednak cierpię na brak czasu.
> Kiedy nieco się rozluźni, to dam znać, o ile będziesz nadal
> zainteresowany współpracą.
> Się tak nie uśmiechaj :) Znasz jakiś? Podziel się :)
Właśnie się koduje w C. Nie szuka optymalnej, ale w miare dobrą i robi
to szybko. Tylko jest minus - to trwa ok 1 sekundy na planszy 200x100
(0,0 do 199,99). Aha i nie przewiduje, ze planety sa okragle i mozna
przesmigac z prawej strony do lewej - ale i do tego dojdę.
--
WK
Technical Details
Message-ID:
<dbi6nb$heo$1@atlantis.news.tpi.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mailReferences:
<dbddek$9qb$1@atlantis.news.tpi.pl> <dbej9d$4u9$1@atlantis.news.tpi.pl> <dbfhlf$qr6$1@atlantis.news.tpi.pl> <dbh1bq$md1$1@atlantis.news.tpi.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail From: Wojciech Kocjan <mojeimie@kocjan.org> Newsgroups: pl.comp.lang.tcl Subject: Re: Temat akademicki Date: Tue, 19 Jul 2005 08:31:05 +0200 Organization: tp.internet - http://www.tpi.pl/ Lines: 75 Message-ID: <dbi6nb$heo$1@atlantis.news.tpi.pl> References: <dbddek$9qb$1@atlantis.news.tpi.pl> <dbej9d$4u9$1@atlantis.news.tpi.pl> <dbfhlf$qr6$1@atlantis.news.tpi.pl> <dbh1bq$md1$1@atlantis.news.tpi.pl> NNTP-Posting-Host: dq2.dataquest.pl Mime-Version: 1.0 X-Trace: atlantis.news.tpi.pl 1121754667 17880 195.116.54.236 (19 Jul 2005 06:31:07 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Tue, 19 Jul 2005 06:31:07 +0000 (UTC) User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317) X-Accept-Language: pl, en-us, en In-Reply-To: <dbh1bq$md1$1@atlantis.news.tpi.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit