[#61] Re: Ktoś jeszcze pisze gry na klasyki

@asman, post #60

Dołączę się do dyskusji:

@rafgc

Z doświadczenia wiem, że nierozbudowana Amiga 1200 z procesorem 14MHz nie dysponuje dużym potencjałem wydajności kiedy w grę wchodzi wielozadaniowość. Jeśli chcesz grę w stylu Giana Sisters z pełnym scrollingiem to najbardziej polecałbym jednak asembler. Wtedy jest największa szansa na uzyskanie zadowalającego wskaźnika FPS (czyli 50 klatek na sekundę). Programista pisząc w ASM ma większą kontrolę wtedy nad kodem, a jak wiadomo każdy cykl procesora się bardzo liczy (kiedy jeszcze inne taski/procesy jak i sam system korzystają z cykli procesora oraz zasobów sprzętowych). Jeśli zdecydujesz się na asembler to masz szansę napisać program który będzie działał dobrze w wielozadaniowości i nie będziesz musiał wyłączać zasobów systemowych. Jeśli chcesz pisać w C to musisz pamiętać o tym, by zwracać uwagę na długość wykonywania głównej pętli gry i optymalizować ją na tyle na ile jest to tylko możliwe. Oprócz tego warto niektóre procedury wykonywać w przerwaniach sprzętowych bądź software'owych o wysokim priorytecie. Takie procedury wykonywane są błyskawicznie (należy pamiętać, by kod przerwań był możliwie najkrótszy i napisany w asemblerze). Przykładami przerwań są przerwanie wygaszania pionowego VERTB i przerwanie software'owe SOFT.

"Arcymag" na przykład dzięki betatestingowi zaczął działać na nierozbudowanej Amidze 1200 z dobrą prędkością, i była to zasługa przepisania jego kodu do asemblera.

Możesz zdecydować się na C, ale musisz pamiętać o tym, że właśnie w nierozbudowanej Amidze 1200 system obciąża sprzęt na tyle, że uzyskanie pełnej prędkości dla gier typu Giana Sisters jest czasami trudne. Jeśli zdecydujesz się na asembler to pamiętaj że uzyskasz największą efektywność kodu (szybkość i rozmiar) kosztem większego nakładu pracy. Zaopatrz się w odpowiednią literaturę, korzystaj z dobrodziejstw makroasemblera np. Asm-One, który na wiele sposobów może ułatwić życie (chociażby użycie makr).

@asman

Warto wspomnieć, że istnieją też inne rodzaje scrollingów nie zużywające tak pamięci CHIP. Sam mogę potwierdzić to tylko na przykładzie gry Benefactor, gdzie zastosowano metodę nie wrzucania całej mapy do pamięci. Żeby to uściślić musiałbym zajrzeć do opracowania gry Benefactor.

Pozdrawiam.



Ostatnia modyfikacja: 19.10.2010 10:51:13
[#62] Re: Ktoś jeszcze pisze gry na klasyki

@BagoZonde, post #57

Przyznam szczerze, że AmigaE też wydał mi się bardzo dobrą alternatywą, jednak tylko trochę go przyswoiłem ("za rączkę" do ostatniego numeru ACS + kilka przykładów), jedynie proste projekciki w okienkach, zczytywanie eventów z gadżetów, myszy, etc.

Sam też eksperymentowałem troszkę z Amiga E dość dawno temu, ale opierałem się nie na szkółce z ACS, tylko na przewodniku dla początkujących załączonym do pakietu. Miło wspominam dość krótkie obcowanie z tym językiem. Kompilator Amiga E należy do bardzo szybkich, można programować w E obiektowo oraz język Amiga E dysponuje wieloma ułatwieniami dla piszącego na Amidze (np. łatwe otwieranie okienek).

[#63] Re: Ktoś jeszcze pisze gry na klasyki

@Minniat, post #62

Dzięki za odpowiedzi, ASM wiem, że jest najlepszy, ale po prostu nie lubię jego składni, nie podoba mi się i w głowie mi się miesza jak tylko o nim pomyślę. Jaki jest nakład pracy w porównaniu np do C aby zrobić to samo?
Czy wiedza zdobyta przy nauce assemblera dla 68k przyda mi się w innych dziedzinach?

W przypadku A1200 myślałem raczej o rozszerzeniu pamięci fast, wiadomo, że jak się zaczyna i nie zna się dobrze na optymalizacjach, to i pamięciożerne programy wychodzą. I tak miałem na myśli jakąś grę wykorzystującą dodatkową pamięć, by przynajmniej można było załadować lepiej animowane postacie lub jakieś dodatkowe animacje. Wszystko to leży na razie w sferze marzeń :) Czy Amiga E nadaje się do pisania gier?

[#64] Re: Ktoś jeszcze pisze gry na klasyki

@rafgc, post #63

: Jaki jest nakład pracy w porównaniu np do C aby zrobić to samo?

Taki, że w życiu nie zacząłbym czegoś od początku w asemblerze - a pewnie już mało kto ;)

: Czy wiedza zdobyta przy nauce assemblera dla 68k przyda mi się w innych dziedzinach?

Nie sądzę. To już procesor, którego rola w historii rozwoju sprzętu się skończyła. No może poza zdobyciem pewnego doświadczenia, lepszym zrozumieniem jak działa komputer, co to są adresy, wskaźniki itd.

: to i pamięciożerne programy wychodzą.

Wręcz przeciwnie, czasem im więcej pamięci, tym można zrobić szybszy program (bo np. coś się stablicuje itp., pomijając że w klasycznej Amidze sama pamięć Fast przyśpiesza komputer)

: Czy Amiga E nadaje się do pisania gier?

Jak najbardziej się nadaje, problem tylko w tym (tak samo jak w przypadku C), że musiałbyś znaleźć jakieś procedury (w przypadku E tzw. moduły) na obiekty, grafikę, dźwięk, muzykę, konwersję C2P itp. itd. Albo użyć procedur systemu operacyjnego (ale to już zwykle na szybki sprzęt z kartą graficzną) albo napisać własne :P

Zresztą jeśli w ogóle nie masz ŻADNEGO doświadczenia z programowaniem, naprawdę nie wiem, może jednak zacznij od jakiegoś Basica i napisz coś w jak saper, 15 czy coś w tym stylu i wtedy zobacz, czy dalej masz ochotę i siły na tę zabawę. Czyli zacznij coś robić, a nie "męcz" ludzi na forach, pomijając, że każda pliszka swój ogonek (język) chwali ;) Zresztą o ile danego języka da się nauczyć od biedy nawet w parę dni, doświadczenie można zdobywać nawet latami.

[#65] Re: Ktoś jeszcze pisze gry na klasyki

@Adam Kulesza, post #64

Nikogo nie męczę, tylko się pytam, odpowiadać nie muszą, a pytam się raczej o opinie i doświadczenia a nie algorytmy od kuchni. Nie lubię zaczynać czegoś w jakimś prymitywnym języku po to by zobaczyć, czy coś mi wyjdzie, albo jedziemy z koksem, albo skręcamy w inną uliczkę.

[#66] Re: Ktoś jeszcze pisze gry na klasyki

@rafgc, post #65

Rafgc, pytanie nawiązujące do postu Adama -> masz jakiekolwiek doświadczenie w pisaniu programów/gier na jakąkolwiek platformę? Miałeś z tym wcześniej styk? Jeżeli nie, naprawdę dobrze jest zacząć coś pisać choćby w jakimś basicu, żeby wyrobić sobie pojęcie o pisaniu różnych funkcji, algorytmów. To nie jest tak, że widzisz jakąś grę i bez żadnej wiedzy o programowaniu napiszesz w tydzień podobny silnik oparty na scrollingu, z animowanymi obiektami etc. To wymaga bardzo dużego nakładu pracy, kompromisów i optymalizowania kodu (przynajmniej w moim założeniu warto włożyć w to dodatkową pracę i "udrażniać" różne procedury), i to wciąż na nowo kawałek po kawałku w ciągu jego powstawania. W programowaniu dochodzi wiele aspektów: jak rozwiązać wyświetlanie obiektów, ich kolizję, rysowanie planszy, sterowanie. Czasem sprawa rozbija się o prozaiczne rzeczy, które mogą jednak przysporzyć nie lada problemów w trakcie tworzenia programu. Trzeba wypracować sobie osobno te wszystkie elementy by potem móc je złożyć w jedną całość: nasz projekt - grę. Trzeba to przeeksperymentować na własnym podwórku i wyjść cało z każdego problemu, a przy pisaniu złożonych programów - problemy te lubią się nawarstwiać, nie mówiąc o tak elementarnych rzeczach - które na początku pisania programów wychodzą - tj. kolizji zmiennych, przypadkowego nieustawiania jakiś zmiennych w pętlach wykonywanych ponownie, etc. A do tego mamy ograniczoną pamięć.

Polecam więc zapoznać się z danym językiem krok po kroku, czy to Basic czy to C. Sił na pewno będzie brakowało, ale od czego jest regeneracja ;).

Powodzenia

[#67] Re: Ktoś jeszcze pisze gry na klasyki

@rafgc, post #63

Jaki jest nakład pracy w porównaniu np do C aby zrobić to samo?

Zależy jak jesteś oblatany w tych językach i jaką bazę procedur/funkcji już masz i ile masz czasu wolnego na to.

Czy wiedza zdobyta przy nauce assemblera dla 68k przyda mi się w innych dziedzinach?
Na pewno pozwoli Ci spojrzeć krytycznie na wygenerowany kod przez kompilatory.

[#68] Re: Ktoś jeszcze pisze gry na klasyki

@rafgc, post #65

rafgc mysle ze nie mozna wszystkie sroki zlapac za ogon albo jest sie dobrym w jednej dziedzinie albo w zadnej... jestes zajebisty z elektroniki masz spora wiedze i praktyke w tym temacie (rozszerzenie Amiha 600 9.5 MB FAST)
zostan przy tym ;-]

Programisci dziela sie na dwie grupy z urodzenia i z przymusu ;-]

[#69] Re: Ktoś jeszcze pisze gry na klasyki

@HOŁDYS, post #68

A ja myślę, że mnie nie znacie. Miewam różne zainteresowania w życiu, które przewijały się przez systemy operacyjne, html, php, photoshopa, after effects, elektronikę a nawet LPG w samochodzie, wszystko zależy na co mi przyjdzie ochota, zazwyczaj mi coś lepiej wychodzi jak tego chcę i czuję, ze coś z tego będę miał, bo dla samej zasady robienia czegoś odpadam z nudów w krótkim czasie. Raz miałem potrzebę zrobienia podkładu lektora do muminków w programie expressivo (nie mylić z typową amatorką na YT) i zrobiłem całe 20 minut jakimś cudem i nawet mi to dobrze wyszło, wszystkim znajomym się podobało a nawet tym, którzy za bardzo nie wiedzieli o co chodzi. Potem, jak oglądałem swoje dzieło sam się zastanawiałem jak to zrobiłem i chciałem zrobić kolejne części, ale już niestety tak dla zasady i mi nie wychodziło. Z Elektroniki jestem słaby, Stachu100 i kwaku85 mogliby mnie zniszczyć jednym paluszkiem swoją wiedzą, a za pamięć do A600 się wziąłem bo chciałem pomimo tego, że nie miałem wcześniej żadnego doświadczenia ani w robieniu płytek ani w pisaniu kodu do CPLD w Verilogu, zapuściłem się w nieznane i otrzymałem swoją nagrodę. Gdybym miał to robić ot tak sobie dla kasy, to by mi nic nie wyszło.

Dzięki za odpowiedzi, zgodnie z życzeniem, nie będę się już więcej pytał o nic w tej dziedzinie.

[#70] Re: Ktoś jeszcze pisze gry na klasyki

@rafgc, post #69

Eee to jak miałeś do czynienia z php to tylko C ;). Oczywiście to co innego, ale struktura listingu podobna ;).

[#71] Re: Ktoś jeszcze pisze gry na klasyki

@rafgc, post #69

W sumie na pewno najlepszy byłby asembler. Oczywiście pisanie wszystkich procedur w asemblerze od samego początku zajmie trochę czasu, ale jak chcesz to mozesz uzyć incylude'a od meynafa, gdzie zdaje się sa prawie wszystkie użyteczne procedury do pisania szybkich gier w asemblerze, choć targetem meynafa jest 68030, ale to dlatego, że pisze gry które używają c2p, a tu blitter jest za wolny w przypadku 68030+. Portowanie gry napisanej w MC68K na Amigę zajęło mu niecałe dwa miesiące, a do tego nie miał źródeł.
[#72] Re: Ktoś jeszcze pisze gry na klasyki

@Don_Adan, post #71

Skoro składnia asemblera nie przypadła mu do gustu to może niech jednak pozostanie przy C. Niech zainstaluje sobie NDK 3.x, jakiś kompilator i może zacząć przygodę. Żeby jednak uniknął zawodu, kiedy np. za wolno działają mu procedury rysujące, niech lepiej dobrze wybierze sobie rodzaj gry, może powinien zacząć od strategii turowej, a nie "Giany Sisters"?

[#73] Re: Ktoś jeszcze pisze gry na klasyki

@Minniat, post #72

Podejrzewam, że gdyby ktoś o niezwykłym darze nauczania pokazał mi w assemblerze co i jak, to bym pewnie przy nim pozostał.

O jakie procedury rysujące Ci chodzi, czy wyświetlanie grafiki poskładanej z elementów i przesuwanie jej to tez procedury rysujące?

Jaki kompilator najlepiej kompiluje kod w C i czy sa jakieś cross-kompilatory np na windowsa lub linuksa, który skompiluje kod lepiej niż te dostępne na amigę?

Ciekawe czy jest ktoś, kto pisał gry w C na gołego klasyka i może się wypowiedzieć.

EDIT:

No cóż, chyba ten wątek rzuca nieco światła na moje pytanie:
http://eab.abime.net/archive/index.php/t-11046.html



Ostatnia modyfikacja: 21.10.2010 07:53:09
[#74] Re: Ktoś jeszcze pisze gry na klasyki

@rafgc, post #73

Sam asembler 68K dla kogoś kto ma trochę rozeznania w matematyce to jest banał do nauczenia, wystarczy znać do dwudziestu rozkazów, żeby już coś potrafić stworzyć. Co innego napisać coś bardziej skomplikowanego niż tylko jakąś procedurę która coś wylicza, czyli np. demo lub grę, ale tu raczej chodzi o znajomość rejestrów Amigi, niż sam Asembler. Jak masz jakies pytania to mogę spróbować nauczyć Cię podstaw.
[#75] Re: Ktoś jeszcze pisze gry na klasyki

@rafgc, post #73

Ja polecam kompilator VBCC. Istnieje w wersji natywnej, jak tez jako cross-compilator. Jest szybki, caly czas utrzymywany i rozwijany, dostepny za darmo.

Moj artykul na temat cross-kompilacji z Unixa na Amige jest w dziale programy .



Ostatnia modyfikacja: 22.10.2010 14:39:33
[#76] Re: Ktoś jeszcze pisze gry na klasyki

@Don_Adan, post #74

W sumie to przydałby się jakiś kursik na ten temat, bo tłumaczyć jednej osobie nie mam sensu jak mogłoby skorzystać kilka.

[#77] Re: Ktoś jeszcze pisze gry na klasyki

@rafgc, post #76

Moim zdaniem C, w ogole sie nie nadaje do pisania gier w przypadku Ami.
Wiekszosc artykulow, jakie kiedys czytalem opisywalo, ze kod wynikowy jest niewiele szybszy niz ten Amosowy a nauka C zajmie piec razy wiecej czasu, niz takiego Amosa, wiec po co takie cos ?

Na pierwszym miejscu w wydajnosci jezykow postawilbym BlitzBasic'a, pozniej dlugo dlugo nic i pojawia sie zolwiowaty Amos a za Amosem cala reszta.

Asembler oczywiscie jest najszybszy ale kodowanie czegokolwiek jest, mowiac wprost TRUDNE i nie dla kazdego a bez obszernej literatury NIEMOZLIWE.



Po raz kolejny proponuje stworzenie dzialu "Programowanie 68k" gdzie bardziej zaawansowani koderzy mogli byc uczyc zoltodziobow, sam chetnie poczytalbym o kodzeniu na Amigi klasyczne ok, racja
[#78] Re: Ktoś jeszcze pisze gry na klasyki

@selur, post #77

Za przeproszeniem, pleciesz bzdury :/ . Nie wiem jaki był stan Amigowych kompilatorów kiedy czytałeś te artykuły, ale teraz musi być znacznie lepszy. Skoro mój kod C jest prawie tak szybki jak mój (słaby co prawda) kod asm.

Oryginalnemu autorowi tego wątku proponuje zbadanie całej sprawy samemu, bo na PPA usłyszy tyle różnych opinii ilu użytkowników portalu. Przy czym większość postujących nigdy nie programowała na Ami, albo było to lata temu kiedy standardem było wyłączanie systemu operacyjnego, bezpośrednie walenie w hardware itd.



Ostatnia modyfikacja: 22.10.2010 16:39:00
[#79] Re: Ktoś jeszcze pisze gry na klasyki

@strim, post #78

Widocznie twoj kod asm byl mega slaby ;)
[#80] Re: Ktoś jeszcze pisze gry na klasyki

@selur, post #77

Znów pojawia się pytanie - jaką grę chcesz zakodować? Czy jest to strategia turowa, czasu rzeczywistego, platformówka, gra logiczna, planszowa?? Po takim rozeznaniu można ocenić w jakim języku najlepiej ją napisać (najlepiej zacząć od C lub Basica, a potem w razie potrzeby część procedur przepisać do asemblera). Poza tym skoro szukasz pomocy to dział Programowanie stoi otworem. Śmiało zadawaj nurtujące Cię pytania w tym dziale. Inni muszą wiedzieć z jakimi problemami się borykasz i na jakim stadium zaawansowania jesteś. Wtedy udzielą Ci wskazówek i niezbędnej pomocy.

[#81] Re: Ktoś jeszcze pisze gry na klasyki

@rafgc, post #73

O jakie procedury rysujące Ci chodzi, czy wyświetlanie grafiki poskładanej z elementów i przesuwanie jej to tez procedury rysujące?


Nie, przesuwanie grafiki (czyli scrolling) na Amidze klasycznej (czyli OCS/ECS/AGA) nie wiąże się z rysowaniem tej grafiki (blitowaniem), tylko zmianą rejestrów odpowiedzialnych za pobieranie danych przez koprocesor (tak jak pisze Asman). Inaczej sytuacja wygląda na karcie graficznej.



Ostatnia modyfikacja: 22.10.2010 17:32:09
[#82] Re: Ktoś jeszcze pisze gry na klasyki

@strim, post #78

Przypinając ponownie swój post #57 z tego wątku, wszystko zależy od tego jaki program chcesz napisać. Na początek coś łatwiejszego - statycznego bardziej - to na pewno. Giana Sisters - myślę, że na pierwszy start to za duży "napał". Trzeba się rozeznać w sposobie programowania, stosowania zmiennych i sposobie ich wykorzystywania, tablicowania, stosowania flag, jak to efektywnie zrobić, jak się nauczyć pisać programy czytelnie/przejrzyście/uporządkowanie dla samego siebie - a to wszystko wychodzi i wyrabia się w trakcie prac. Jeżeli miałeś styczność z PHP, to w/g mnie jedyną słuszną drogą jest obranie kierunku: C. Oczywiście bardzo dużo rzeczy jest do nauczenia się, jednakże nie ma się co zniechęcać.

Odnośnie ASM. Zacząłem ogarniać assembler na C64, zająłem się nim rzeczowo około tygodnia temu. Kto więc tu mówi o ogarnianiu, no nie? Ale jednak. Dzięki rozbudowanej wiedzy odnośnie BASIC i niektórych rejestrów - przepisanie części rzeczy pod assembler okazało się dla mnie wręcz banalne i o wiele bardziej interesujące niż pisanie pod BASIC! Korzystając z książek wziąłem po prostu mapę pamięci C64 i szukałem rejestrów, o których te książki wspominają. Biorę teraz jakikolwiek listing czy to z książki czy z internetu i potrafię po każdym rejestrze dojść "o co kaman", po co się stosuje to i tamto. Oczywiście jeszcze długa droga przede mną, ale wbrew własnemu przekonaniu, że ASM jest językiem arcytrudnym - szybko rozwiałem te wątpliwości. Piszę jedną grę na c64 i właśnie część rzeczy zamierzam przepisać pod ASM, by zwiększyć prędkość wyświetlania, zaimplementować muzykę, etc. Myślę, że w przypadku Amigi może być podobnie. Assembler już po kilku dniach zaczyna być bardziej czytelny, zaczynamy oswajać tego demona prędkości ;). Nagle dotąd nieznane adresy zapisane do tego w hexach zaczynają wyglądać znajomo.

Tak naprawdę dochodzę do konkluzji, że nieważne którą drogę obierzesz - ważniejsze, byś na początek spróbował zrealizować mały projekt - i zobaczyć, czy dałbyś radę z większym, ile czasu to zajmuje. Gdy się wchodzi w programowanie, nawet gdy wyłączysz komputer i wyjdziesz z pokoju, jedną nogą nadal siedzisz w tym po uszy.

[#83] Re: Ktoś jeszcze pisze gry na klasyki

@selur, post #77


Asembler oczywiscie jest najszybszy ale kodowanie czegokolwiek jest, mowiac wprost TRUDNE i nie dla kazdego a bez obszernej literatury NIEMOZLIWE.

Po raz kolejny proponuje stworzenie dzialu "Programowanie 68k" gdzie bardziej zaawansowani koderzy mogli byc uczyc zoltodziobow, sam chetnie poczytalbym o kodzeniu na Amigi klasyczne


Joł,

Az takie trudne to nie jest. Pod pewnymi wzgledami asembler jest najprostszym jezykiem programowania, bo nie zawiera abstrakcyjnych elementow takich jak udziwnione API, obiekty, struktury, itp., czyli posluguje sie mozliwie najprostszymi srodkami do osiagnieciqa celu. Wymaga za to wiekszej wiedzy o architekturze danej maszyny i wyklucza przenoscnosc (przenaszalnosc? :)) kodu miedzy odleglymi architekturami. A ile radochy daje z "bezposreniej bliskosci"z nasza Przyjaciolka :)

Do poczytania polecam powszechnie znana ksiazke Adama Doligalskiego (o ile nie przekrecilem nazwiska). Tam jest w zasadzie wszystko co trzeba wiedziec o kodowaniu na klasyka. Pomijam pisanie pod system bo _moim zdaniem_ pisanie na klasyka pod system to... hm, no - ja nie lubie i umikam, ale ja ponoc jebn...ty jestem :)

Pozdro.
[#84] Re: Ktoś jeszcze pisze gry na klasyki

@Minniat, post #80

To ma być platformówka i to co potrzebne mi będzie to scrollowanie tła i animacja sprite'ów, kolizja itd.

Minniat, czy arcymaga kodowałeś pod C? Jeśli tak, to jakiego kompilatora używałeś? Jesli masz źródła w C i ASM, to przydałoby się skompilować to co jest w C jakimś najnowszym kompilatorem, który potrafi kompilowac na 68k i porównać wyniki z ASM, czy różnica jest nieznaczna, znaczna, czy bardzo wielka.

A ASM nigdy nic nie robiłem, po prostu nie podoba mi się ta składnia i wolałbym jej uniknąć, ale może to tylko moje takie widzi mi się.

Niestety, ale wbrew temu co mi się proponuje, czy li zaczynać całkowicie od podstaw i sprawdzać się, wolałbym pójść na głębszą wodę, aby móc się pomęczyć, inaczej znudzi mi się zanim cokolwiek zrobię.

[#85] Re: Ktoś jeszcze pisze gry na klasyki

@rafgc, post #84

Napiszcie grę podobną do superfroga. Może być pod inną nazwą, ale żeby głównym bochaterem była żaba, plissssss pokłony

[#86] Re: Ktoś jeszcze pisze gry na klasyki

@rafgc, post #84

Posiadasz dokumentację RKRM: Libraries? Obczaj w niej te rozdziały:

27 Graphics Primitives
28 Graphics Sprites, Bobs and Animation
29 Graphics Library and Text
30 Layers Library

Są z przykładami w C. Wystarczą do rozpoczęcia pisania platformówki!

Sam się zmagałem nie tak dawno z problemami które Ty teraz masz. Gdybym na samym początku się za to zabrał zaoszczędziłbym dużo czasu...



Ostatnia modyfikacja: 22.10.2010 18:36:51
[#87] Re: Ktoś jeszcze pisze gry na klasyki

@selur, post #77

kod wynikowy jest niewiele szybszy niz ten Amosowy a nauka C zajmie piec razy wiecej czasu, niz takiego Amosa, wiec po co takie cos?

I po co takie farmazony powtarzać. Takie rzeczy wypisywali ludzie, których możliwości kończyły się na jako takim opanowaniu Amosa.

Jeżeli chcemy jednocześnie wydajnie tworzyć i pisać wydajny kod, najlepiej poznać zarówno C jak i asembler. C pozwoli na szybsze tworzenie całego programu, zwłaszcza części niekrytycznych czasowo (np. ładowanie danych z dysku, menu gry i wiele wiele innych). Znajomość asemblera zaś pozwoli na po pierwsze sprawdzenie tego, jak sobie poradził kompilator, po drugie na napisanie krytycznych czasowo fragmentów jako wstawki asemblerowe do kodu w C.

I nie demonizujmy asemblera, a tym bardziej sympatycznego asemblera 68k. To co jest trudne w pisaniu gier na klasyka, to opanowanie możliwości chipsetu. I nie zależy to wcale od języka programowania. W C tak samo można wyłączyć system i rąbać po rejestrach jak w asmie . Tyle że łatwiej zapanować nad kodem.

Problemem za dawnych dobrych amigowych czasów było to, że koder pisał na docelowym (cienkim) konfigu, przez co nie mógł użyć dobrych kompilatorów C, głównie chodzi mi o GCC. SAS/C wysiada pod względem jakości generowanego kodu w porównaniu do GCC 2.95.3. O zabytkach w stylu Dice C, Maxonie i innych nie wspomnę. Tylko, żeby wygodnie pracować z GCC trzeba mieć 030, ze 32 MB fastu i dysk twardy. W czasach mistrzów Amosa taki konfig był rzadkością. Teraz to już nie jest rarytas, zresztą można krosskompilować na PC.

[#88] Re: Ktoś jeszcze pisze gry na klasyki

@rafgc, post #84

Powtorze to co napisalem..

nie asembler jest trudny, ale kodowanie w asemblerze, bo sama znajomosc rozkazow o niczym nie swiadczy.
Trzeba wiedziec jak, gdzie i w jakim czasie je wykorzystac i do czego, a zeby to prawidlowo zrobic, potrzebna jest znajomosc wszystkich zasobow komputera. A to z kolei wymaga sporej wiedzy i doswiadczenia ale przede wszystkim dokladnej literatury o danym sprzecie.

Mnie osobiscie te cale programowanie obiektowe w C++ tez nie przypadlo do gustu. Tony regulek, zawiklane nazewnictwo i skomplikowane odwolania do wskaznikow wskaznikow wskaznikow do wskaznikow... ;) a pozniej sie okazuje, ze obiektowo napisany program nie jest wcale bardziej zrozumialy dla drugiego niz ten sam napisany w basicu. W przypadku PC'ta alternatywy do C++ raczej nie ma. Ale PeCet to nie Amiga (po raz kolejny to mowie i mowic bede, szczegolnie tym, ktorzy myla PC z Amiga). Amigi rzadzi sie innymi prawami. Malo zasobow, mala predkosc dzialania wymusza na programujacym wiecej sprytu i innego podejscia do sprawy.



#rafgc

Jesli chcesz napisac dobra platformowke to tylko i wylacznie asembler wchodzi z gre. Jesli wybierzesz inna droge, to gra bedzie po prostu kiepska..wiec moze lepiej zmienic typ gry (przygodowa, turowa, tekstowa..?! ) i zaprogramowac ja w czyms latwiejszym.
[#89] Re: Ktoś jeszcze pisze gry na klasyki

@selur, post #88

Mnie osobiscie te cale programowanie obiektowe w C++ tez nie przypadlo do gustu.

Ale przecież C i C++ to dwa różne języki.

Jesli chcesz napisac dobra platformowke to tylko i wylacznie asembler wchodzi z gre. Jesli wybierzesz inna droge, to gra bedzie po prostu kiepska..

Wybacz, ale kit ciśniesz.



Ostatnia modyfikacja: 22.10.2010 18:57:03
[#90] Re: Ktoś jeszcze pisze gry na klasyki

@strim, post #86

Nie mam czegoś takiego. Skąd to wziąć?


jeśli wybierzesz inna droge, to gra bedzie po prostu kiepska..wiec może lepiej zmienić typ gry (przygodowa, turowa, tekstowa..?! )

A dlaczego miałbym zmieniać typ gry na taki, którego nie lubię lub mi nie pasuje? Ja mam zazwyczaj zasadę, albo robię to co chcę, albo nic nie robię.

Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem