gra asm FPS
sabunia portal
Witam!
Skonczylem prace nad swja pierwsza gra, gra nie jest zbyt urodziwa ale
moze
ktos sie pokusi o sciagniecie. Powiedzcie co o niej sadzicie.
P.S. szukam grafikow :) jezeli ktos bylby chetny to piszcie.
Powinienes troche pomyslec nad optymalizacja gry - narazie nie widze zadnej.
Piszesz w BCB... moze najbardziej krytyczne fragmenty przepisz na asm'a?
Ogolnie mowiac - niech to chodzi szybciej :) (u siebie na C333+160 RAM
"wyciagam" 1 fps :))
Borys Power wrote:
Powinienes troche pomyslec nad optymalizacja gry - narazie nie widze zadnej.
Piszesz w BCB... moze najbardziej krytyczne fragmenty przepisz na asm'a?
Ogolnie mowiac - niech to chodzi szybciej :) (u siebie na C333+160 RAM
"wyciagam" 1 fps :))
Optymalizacją w assemblerze?
Gra tego typu chodziłaby bez problemu na Amidze z 14Mhz zegarem.
Po kij tu assembler przy obecnych procesorach??
I naprawdę myślisz, że ten "assembler" coś by tu dał? Co na przykład?
U mnie zasuwa tak, że w sumie chyba nie dowiem się o co w niej chodzi.
Wszystko mi przelatuje przed oczami i paru sekundach mam 0 "życia".
Optymalizacją w assemblerze?
Gra tego typu chodziłaby bez problemu na Amidze z 14Mhz zegarem.
Po kij tu assembler przy obecnych procesorach??
I naprawdę myślisz, że ten "assembler" coś by tu dał? Co na przykład?
U mnie zasuwa tak, że w sumie chyba nie dowiem się o co w niej chodzi.
Wszystko mi przelatuje przed oczami i paru sekundach mam 0 "życia".
a u mnie na C333 mam 1 fps - zero optymalizacji!
| Optymalizacją w assemblerze?
| Gra tego typu chodziłaby bez problemu na Amidze z 14Mhz zegarem.
| Po kij tu assembler przy obecnych procesorach??
| I naprawdę myślisz, że ten "assembler" coś by tu dał? Co na przykład?
| U mnie zasuwa tak, że w sumie chyba nie dowiem się o co w niej chodzi.
| Wszystko mi przelatuje przed oczami i paru sekundach mam 0 "życia".
a u mnie na C333 mam 1 fps - zero optymalizacji!
Zmien procesor albo lepiej, karte graficzna :) Czego wymagasz od kogos kto
napisal pierwsza gre, skoro ogolnaswiatowa tendecja w komercyjnych grach
polega na olewaniu optymalizacji, czy raczej nadrabianiu jej braku przez
coraz to silniejsze akceleratory graficzne przetwarzajace zyliardy trojkatow
i wspierajace sprzetowo niewiadomo juz co :)
To jest OpenGL, naprawde nie wiem po co assembler w takich domowych
projektach.. Nie orientuje sie zreszta ale watpie tez by byl on stosowany w
"doroslych" grach...
A tak w ogole to mi sie podoba tylko moze gdyby tak uplastycznic ta ziemie,
dodac pare pagorkow i drzewek na billboardzie, to niewielkim nakladem pracy
lepiej by to wygladalo :)
Pozdrawiam
Tomasz Kopacz wrote:
Nie znam K6-3, ale robiłem sporo obliczeń numerycznych (testy na K5,
K6,Celeron, PII, teraz PIII). W obliczeniach całkowitoliczbowych
różnic nie ma. Ale jak wchodzi w grę FPU.... Intel bił na głowę PIII.
czy są jakieś wiarygodne testy procesorów ? z tego co się zorientowałem,
to różne gazety - wcale nie związane z grami - podawały wydajność
procesora w fps kolejnych quaków... a tam FPU jest przecież jak najbardziej
znaczący...
Druga sprawa - nie wiem jak w wiecie Linux-a, ale narzędzia
programistyczne NT/95 (zwłaszcza jakie niskopoziomowe debuggery,
jakie nakładki na SQL itp) lubią Intela. Nie, żeby na AMD (Czy
cyrixie :) w ogóle nie działały. Po prostu zachowują się _inaczej_. To
trudno opisać.
rozumiem, że może chodzić o optymalizację i brak wykorzystania 3D-now
(własnie - czy jedynym sposobem na wykorzystanie tego będzie assembler
lub gotowa biblioteka?), ale co to znaczy "zachowują się inaczej" ?
Druga sprawa - testy wydajno ciowe. Cięzko profilować na AMD aplikację
tak, by sprawdzać jak działa wydajnie na Intelu....
pamiętam ten problem gdy pisałem demo na moim Cyrixie i zastanawiałem się
nad optymalizacją dla pentium :) ale to był assembler - czy optymalizacją
_kodu_ - a nie algorytmu - nie powinien zajmować się kompilator?
A - i jeszcze jedno. Z moich do wiadczeń, płyta główna jest jednym _z
najważniejszych_ komponentów od których zależy wydajno ć systemu.
problem w tym, że zupełnie nie wiem _czym_ różnią się płyty od siebie,
próbowałem wejść na stronę http://www.anandtech.com/, ale jak na razie
niczego poza index.html nie udało mi się ściągnąć (sobota, godzina 19, może
to dlatego)
teraz tak. Ja bym kupował płyty producentów (w kolejno ci od
najlepszych, bez podziału na chipsety itp): Assus, ABIT, Intel, Aopen,
Atrend.
asus (assus? w cenniku mam "asus") ma 3 lata gwarancji, ale jest drogi
jak diabli... BTW czy według ciebie lepiej kupić płytę AT czy wymienić
obudowę i kupić ATX? tzn. czy są jakieś zalety takiego rozwiązania...?
Tomasz Kopacz
czyżbyś był autorem książki o C, czy to tylko zbieżność nazwisk? :-)
Eha.
| Well... Mam jakies no-name. Kupowalem z mysla o wylutowywaniu
| filtrow na wyjsciu. Po zamontowaniu i uruchomieniu... zrezygnowalem.
Tak dobrze bylo czy az tak zle? :)
Mysle, ze to jasne ? :)
Okay, odpowiem - po prostu ostro.
| BTW, moze ktos "to" chce ? ;-)
Ja napewno nie :)
Ja, ja, Ich weiss ! Moze ktos inny ?
| Aha - no tak - to Trio3D Hercules'a widzialem na gieldzie za 170PLN.
| Moj kosztowal 140PLN...
Ano racja - jest cos takiego. Ale w cenie Rivy wiec chyba nie jest to
najlepszy pomysl ...
??? Wtedy RIVA 128 (Diamond'a - moze i markowa ale bez TVout)
_okazyjnie_ kosztowala 280PLN...
| Mysle o tym. Ciagle. ;-) Tylko troche nie mam czasu - widzisz -
| - nawet Heretic'a 2 wczesniej nie mialem kiedy poszukac...
Zacznij prace na drugi etat :)
No co Ty ? Troche zycia !
| Wiesz... Ostatnio gralem z kumplem w Unreal'a; ja musialem przesiasc
| sie na gorsza maszyne i obiecac, ze nie bede strzelal ;) Wygralem !
Bez strzelania? Jak to zrobiles? Zmarl z nudow? :))
No wiesz... Jak strzelasz blisko sciany...
| Czekam na FPP, w ktorym na
| scianach nie beda namalowane rurki, tylko beda to obiekty 3D. Ze faktura
| sciany tez bedzie 3D. No i oczekuje ludzi na ulicach... Tlumu !!!
Do tego to Ci nie sa potrzebne gry :) Co do gier - mysle ze jeszcze
chwile trzeba bedzie na to poczekac. Ja szczerze mowiac wolalbym zeby
gry byly bardziej grywalne zamiast coraz ladniejsze ...
Dobra, dobra, z kalachem na ulice jednak nie mam zamiaru wychodzic...
Zreszta - malo kto wychodzi - wiec multiplayer odpada... ;-)))
Ale - spoko - jest takie towarzystwo ( :-) ), ktore organizuje
strzelanki po lasach - dostajesz ubranko, pukawke na kulki z farba...
Ech... Do wiosny !!!
Jesli to prawda to stracilem caly szacunek dla nich. Zeby pisac gre w
VBasicu ... Chyba juz nic mnie nie zdziwi
No a moj postulat ? Logo ? :-)
No coz czesc procedur nadal pisuje sie w assemblerze - te ktore sa
odpowiedzialne za fragmenty krytyczne predkosciowo. Ale ja nawet sie
ciesze z tego ze juz sie nie pisuje wszystkiego w assemblerze - co
prawda nie da sie w jezykach wyzszego rzedu osiagnac takiej szybkosci
ale kod powstaje szybciej i jest czas na jego optymalizacje. Tyle ze
ostatnio i optymalizacja podupada ...
Uwielbialem pisac w TC++, wstawiajac assembler do srodka :-).
To bylo to !!! Przygotowanie, wprowadzenie danych w C a potem
wzzzzzzz...
i juz !
| "Low", "Medium", "High", "Highest (requires S3TC compatible
| hardware)"...
Pazywiom, uwidim :) Ja nie mam nic przeciwko - zobaczymy co powiedza
developerzy :)
A czytaja to jacys ??? Hello ! Is anybody there ???
[...] cyt. : "Uzyskany obraz sprawia
wrazenie ogladanego przez szybe pokryta stala, kropkowana faktura". Ja
odbieralem to dokladnie tak samo
A to nie oznacza dithering'u ? Bo kurcze - u mnie nie ma !!!
Zaraz, jak to mu bylo ... Jakos na "M" chyba ... Mikolajek? A
Kwiatkowska swietnie to czytala :)
To bylo moje dziecinstwo. :) Jak sie mialo do wyboru jakas denna
kreskowke w TVP1 i Mikolajka w PR1, czytanego wlasnie przez Kwiatkowska
-
- wybor mogl byc tylko jeden...
Czy ktos chce namiary na sklep Naszej Ksiegarni w Warszawie ? :-)
| Zdecydowanie plec przeciwna ! :-
Przeciwna do czego? ;)))
Ech. Podpisuje sie imieniem i nazwiskiem. Czy jest tam jakas "Maria"
(na zasadzie: "Jan Maria...") ? Chyba nie. Czy imie Mariusz nie jest
imieniem meskim ? Chyba tak. A wiec - chyba mozna stwierdzic (po moich
danych osobowych - oraz po sposobie mojej wypowiedzi) ze jestem
facetem ? Chyba tak. A plec przeciwna do facetow - o ile mi wiadomo -
- reprezentuja kobiety !
_Czy_teraz_jest_WSZYSTKO_jasne_???_
:-P
| No tak... Pytanie: czy na PII tez jest "albo albo" ?
Zawsze jest "albo albo" - korzystaja z tych samych rejestrow
Nie wiedzialem No tak... Assembler to mi sie skonczyl na 286...
Pytanie jednak dotyczy "wspoldzialania" jednostki fpu i MMX w PII;
o ile pamietam, w P55C wylaczane bylo zasilanie jednej z tych
jednostek przy pracy drugiej (i na odwrot)...
| Zgodze sie na 20 fps przez krotkie chwile... :-O
Na zmiane z 10 i 40 fps :)
Powtorze: grywalem swego czsu w Tomb Raider'a wlasnie przy 10fps -
- i musze powiedziec, ze bylem zachwycony (grafika - nie
szybkoscia !). W erze Doom'ow Tomb Raider byl "czyms innym"...
No coz - jaki jest teraz najszybszy pecet? :)
Macintosh na PowerPC - 300MHz ! :-D
| Mi to zajmuje jakies pol dnia. No - tylko jeszcze musze popracowac !!!
Tyle ze ja na posty odpowiadam w domu - w pracy pracuje :)))
No wiesz ? Powazne (ukryte) oskarzenie ! Ja tez pracuje ! Ale jestem
w stanie te 45 minut wyskrobac ! Zreszta - nie jadam w pracy...
| Chyba sie staram ? ;-)
Ujdzie :)
Teraz - to nawet wychodzi nam krotko ! :-)
M.
Mariusz Jaworski
gene@bonair.waw.pl
Taka mała uwaga na początek - czy moglibyście wreszcie wynieść ten
wątek z pcoa? Crosspost był kompletnie niepotrzebny.
["Followup-To:" header set to pl.comp.os.advocacy.]
epsilon$ while read LINE; do echo "$LINE"; done < "Bernard"
| Problem w tym (dla wątkotwórcy i "niemłodego już informatyka") ze
| pamiętam czasy gdy pisząc program w asm siedziałem nad nim z mapą
| pamięci i liczyłem na kartce takty procesora dla rozkazów, żeby zmieścić
| się w limicie czasowym przerwania.
| Na szczęscie w chwili obecnej programowanie nie polega na walce ze
| sprzętem/systemem, a na faktycznym skupieniu się na realizacji danego
| projektu, czy rozwiązaniu problemu.
I to właśnie w takiej mentalności leży cały problem. Kiedyś trzeba było
pisać programy dobrze,a dzisiaj już nie trzeba, bo zamiast tego można
kazać kupić użytkownikowi szybszy sprzęt z większą pamięcią, w dodatku
coraz szybszy i z coraz większą pamięcią dla każdej nowszej = gorzej
napisanej wersji programu.
Naprawdę chciałbyś czekać rząd, czy dwa rzędy wielkości więcej czasu na
projekt tylko po to, żeby mieć wyoptymalizowany do bólu kod?
Zwłaszcza, jeśli np. w programie mocno obciążającym I/O faktycznie i tak
procesor większość czasu czeka na dane z zewnątrz?
Owszem, czasami trzeba optymalizować. I bardzo pożądaną cechą jest
umiejętność dostrzeżenia tych sytuacji, w których warto się bić o
wydajność, jak i tych, w których jest to tylko bezsensownym kosztem.
| graficzne miały programy pod dos czy inne nie PC komputery. Brak
| jednolitości, wprowadza koszty po stronie użytkownika (chocby uczenia
| sie niestandardowej obsługi programu, brakiem mozliwości komunikacji
| dwóch systemów itd itp). Tak więc koszt jakim jest wzrost wymagań przy
| dzisiejszej technologii jest znikomy w porównaniu z ewentualnymi
| kosztami które były by przeniesione na uzytkownika końcowego jesli nie
| byłoby standardów.
Zgoda, tylko ja zupełnie nie o tym.
Ależ oczywiście, że o tym. Tylko nie wprost.
| - Fatalna praca programistów nie dbających wogóle o zasobożerność
| programów - "nieważne, ile pamięci używam, ważne, że działa". To samo
| dotyczy algorytmów - bezsensowne, zbędne angażowanie czasu procesora,
| "przecież i tak jest szybki". Taka mentalność kończy się spiralą
| nakręcania wymagań, którą mamy przyjemność obsewować od kilku lat.
| Nie zgodze się z tym. Moze taką mentalność mają młodzi programiści
| wychowani na językach pseudokompilowanych z bajerami typu GC. Dla mnie
| umiejetnosc optymalizacji jest jedna z podstawowych umiejetnosci
| potrzebnych moim pracownikom.
Typowy dialog z "młodymi" (praktyka, nie teoria) wygląda tak:
- Ten kod mógłby działać 3 razy szybciej i zużywać o połowę mniej pamięci
- Oczywiście, ale tak mi było wygodniej napisać, a przecież procesor
jest szybki, a pamięci i tak mamy dużo.
Przy czym to owszem, może mieć sens. Wszystko zależy od założeń
projektu. Ile mamy czasu, co się dzieje poza naszą działką itede itepe.
Naprawdę, nie ma sensu skupiać się na optymalizacjach, jeśli nie ma
połowy funkcjonalności.
Teraz wyobraźmy sobie niezbyt wielki projekt, w którym pięciu
programistów o takiej mentalności pisze pięć poziomów składników
oprogramowania. W wyniku uzyskujemy kod, który działa 3^5 razy wolniej,
niż mógłby i zajmuje 2^5 raza więcej pamięci niż powinien. Przyczyną
takiego stanu rzeczy jest nie tyle brak umiejętności, co mentalność
właśnie - "po co mam pisać program dobrze, skoro komputer jest szybki i
ma dużą pamięć".
Patrz wyżej.
| Podsumowując:
| Problem (poza oczywistym wzrostem ilosci danych typu grafika, dźwięk)
| jak dla mnie jest kompromisem pomiędzy kosztem wytworzenia
| oprogramowania a kosztem jego użytkowania.
Fakt, niefrasobliwego dyletanta łatwiej wykształcić, a i płacić mu za
dużo nie trzeba.
Wiesz, dla zabawy potrafiłem za czasów studenckich bawić się w
implementacje np. różnych algorytmów sortowania na różne sposoby.
I siedzieć nad tym po nocach. Ale jak mam do napisania na szybko skrypt,
użyję standardowego sort(1), zamiast pisać własne narzędzie. I naprawdę
będę mieć w głębokim poważaniu, czy on mi to raz na dobę zrobi w O(n^2),
czy O(nlogn).
| Oczywiscie, można pisać dla każdego projektu nowy, dopasowany framework,
| ale należy zdać sobie sprawę, że po pierwsze projekt będzie powstawał
| znacznie dłużej, po drugie, będzie znacznie droższy, a po trzecie
| potencjalnie będzie zawierał o wiele więcej błędów.
Zgoda, ale NIE O TYM mowa.
Jak najbardziej o tym.
| Pozatym przynajmniej dla mnie, wzrost zapotrzebowania na pamięc i
| szybkość procesora, jest powodowany oczekiwaniem rynku. Dawnej np. na
| renderig jednej klatki czekało się powiedzmy kilkanascie-dziesiąt minut
| (takiej nieskomplikowanej), obecnie jest tendencja do wykonywania tej
| operacji w czasie rzeczywistym.
Oczywiście, rynek oczekuje, że program będzie działał wydajnie, a
kiepski programista każe w tym celu kupić szybszy komputer z większą
pamięcią.
OK. Napieraj. Pierwszą grą FPP, którą miałem w rękach było Total Eclipse
na ZX Spectrum. Oczywiście to, że współczesne FPS-y działają na
wypasionych dupalkorach i ochnastopotokowych kartach graficznych, to
kwestia kiepskiego programisty. Ty byś przecież bez problemu
zaimplementował to wszystko na tym biednym Z80 w 48KiB pamięci, prawda?
Cytat
A sami byli dla siebie większym ciężarem niż ciemność. Mdr 17,20
A sami byli dla siebie większym ciężarem niż ciemność. Mdr 17,20_2