Oznámení

Sbalit
Aktuálně žádná oznámení.

Jak naprogramovat svojí první hru? (Saboteur - verze z PMD 85)

Sbalit
X
 
  • Filtr
  • Čas
  • Zobrazit
Vymazat vše
new posts

    Jak naprogramovat svojí první hru? (Saboteur - verze z PMD 85)

    Od počátku, co jsem se začal hrát s programováním mám takový sen si naprogramovat Sabotéra. Programovací jazyk Python může posloužit jako prvý náčrt toho, jak co by mohlo fungovat. Sice pomocí Pythonu nemáme přístup ke grafice (pokud z něj neskočíme do assembleru), ale máme přístup ke znakové sadě a znak je tvořen z pixelů. To nám umožnuje použít jednoduchou grafiku a začít si dělat prvotní náčrty logiky samotné hry pro možná budoucí přepsání do jazyku C, který by samotnému vykreslováni jednoduché grafiky pomocí znakové sady mohl a taky nemusel dát dostatečnou rychlost. To již závisí od rychlosti vykreslování znaku ve Workbenchi. Prvotní studie ukazují, že by to tak mohlo fungovat a že programovací jazyk C spolu s vykreslením jednoduché grafiky pomocí znakové sady by mohl stačit. Samozřejmě další level by bylo již použití normální grafiky, které by krom případného nežadoucího pomalého vykreslování "znaku" ve Workbenchi mohlo posunout hru na lepší úroveň.

    Udělal jsem jednoduché video, které znázorňuje, jak se dostat k jednoduché grafice, i když k ní nemáme přístup, nebo to zatím neumíme. Sabotér je nakreslen narychlo .

    Naposledy upravil Lisiak; 09.08.2014, 01:20:09.
    Amiga - PMD 85

    #2
    O: Jak naprogramovat svoji první hru? (Saboteur - verze z PMD 85)

    #amiga #demo #freecliptv... mehr Demos als Video gibt es unter https://freecliptv.samsonsheim.de/ ...Impact DK: In A World Of ASCIIVolle Laufzeit!Aufgenommen...
    Amiga 1200T (E/Box)+BlizzardPPC 603p/363+060/66+BVision PPC+256MB+KS3.1+Cocolino+Lyra 2+Fast Ata MK-IV+320GB WD Blue 3200AAJB PATA HDD(PFS3)+dvdrw+dvd+cf2ide
    Amiga 1200+BlizzardPPC 603e/210+040/25+128MB+KS3.1+CF4GB(PFS3)

    Komentovat


      #3
      O: Jak naprogramovat svojí první hru? (Saboteur - verze z PMD 85)

      Uživatel zz_indigo mne přiměl přemýšlet, jak daný pohyb sabotéra ještě můžu řešit. Sice mi psal pro mne né příliš schůdné varianty, ale pak mne napadlo, jak to udělat ještě lépe. Sice jsem původní myšlenku nezrealizoval úplně tak jak jsem původně chtěl, ale nasměrovalo mne to správnym směrem. Pohyb v prvním videu není rešen nejlépe, jak může být. Zaráz v něm smazávám původní pozici celého sabotéra a vykresluji ho na nové pozici.

      Mne stačí pri konkrétním pohybu ale smazat jen část sabotéra. To jsem hned napravil.

      Nová myšlenka byla využít na pohyb sabotéra více Workbench, než to dělat pomocí Pythonu. Tedy neposouvat ho pomocí vodorovné a svislé souřadnice, ale pomocí posunu znaku (sabotéra) na další pozici (pohyb vpravo) a nazpět (pohyb vlevo). Ano i pohyb vlevo jde. U proporcionálního fontu můžeme zobrazit znak i vlevo od pozice kurzoru. Myšlenka to byla hezká, ale v samotné eufórii jsem opoměl skutečnost, že příkaz PRINT zobrazuje text po větších částech než po 1 písmenu. Nejjednoduchší příklad by byl při posunu písmena A o 20 pozic doprava. Pokud by jsem napsal tenhle pohyb jen pomocí PRINT, písmeno A by se mi třeba zobrazilo na 0,5,10,15 a 20 pozici. Mezipozice by by se vynechali. Na to aby jsem donutil Python zobrazit každou pozici, musím po každém zobrazení řádek zalomit. Tím jsem ale ztratil původní pozici znaku kterou potřebuji, když nepracuji se souřadnicemi a je zde problém. Tak jsem udělal takový kompromis. Vzpoměl jsem si na jeden příkaz, který mení vlastnost Enteru a po zalomení řádku mi nedá kurzor na začátek nového řádku ale pod původní pozici kurzoru + 1 posun vpravo, čim jsem při zalomení řádku nestratil původní pozici kurzoru. Stačilo mi tedy posunout kurzor o 1 pozici nahoru.

      Měl jsem tedy nový způsob pohybu a rychlejší zobrazení sabotéra. Pak jsem nový způsob zobrazení aplikoval i na původní posun pomocí souřadnic a postavil oba způsoby posunu proti sobě. Rychlost posunu u obou způsobú je stejná.

      Já si tedy vybral novější způsob posunu. Je mi sympatičtější řešit pohyb z místa sabotéra, jako pomocí souřadnic.

      Aby se mi sabotér posouval rozumně, posouvám s ním po skocích po 6 pixelech. Takový posun je i u prvního videa. potom, co kurzor u nového způsobu posunu vrátím o 1 pozici nahoru, musím jej posunout o 5 pixelů doprava. O 1 pixel doprava se mi kurzor posunul při zalomení řádku. Vše jsem to srovnal se zobrazením s prvním způsobem pohybu a neviděl jsem rozdíl. Navíc nový způsob zobrazení mi umožnuje ještě:

      -pokud budu potřebovat něco posunout o 1 pixel, stačí mi návrat kurzoru o 1 pozici nahoru, co je asi o neco rychlejší, než zadávat kurzoru obě souřadnice

      -je možná ještě jedna optimalizace, od které jsem upustil (nevidel jsem rozdíl a přitom vznikaji kolem toho další nežádoucí věci = více problémů než užitku, který ani vlastne nevidím, jen vím, že by tam měl být . Pohyb kurzoru o 5 pixelu se dá vyřešit i pomocí proporcionálního písma, kterému zadefinuji šířku písma 5 pixelů a tedy bude posun sabotéra o 6 pixelů bez zadání příkazu k tomu, aby se kurzor o tyto pixely ještě posunul. Vyzkoušeno a nevidel jsem rozdíl.

      No nic jde se na video. Zůstávám v něm na výkonu Amigy 1200. Každá animace zopakovaná 3 krát.

      Ten začátek, co jsem to ukončil, to je posun po pixelu + spomalení 0 vteřin a to jsem nechtěl.
      No a ty odmlky mezi ruznýma rychlostmi pohybu = upravji program na pozadí.

      poprvé: posun sabotéra po 1 pixelu bez zpomalení
      podruhé: posun sabotéra po 10 pixelech (změna) bez spomalení
      potřetí: posun sabotéra po 10 pixelech (změna) se spomalením 0 sekund - zpomaluje se jen o načtení samotné funkce SLEEP.

      Amiga - PMD 85

      Komentovat


        #4
        O: Jak naprogramovat svojí první hru? (Saboteur - verze z PMD 85)

        Měl jsem požadavek na odstranění rušivého kurzoru. OK, ale přícházím o 2 z celkových 8 možných barev. Výkon Amigy 1200.

        Amiga - PMD 85

        Komentovat


          #5
          O: Jak naprogramovat svojí první hru? (Saboteur - verze z PMD 85)

          Dělat hru pro Amigu pomocí ASCII, resp. UDG, to zní dost ostřácky! S programováním ti jako obvykle nepomůžu, ale kdybys hledal nějaké vodítko, jak takového Sabotéra napsat, před delším časem jsem něco málo načrtnul u sebe na blogu.


          Kdyby se ti to líbilo a chtěl bys to rozpracovat do detailu, dej vědět!
          Amiga 1200 + Blizzard 1260 + 64 MB RAM + CF2IDE + Indivision AGA Mk1 + PCMCIA2CF + WHDLoad registered + GOTEK

          Komentovat


            #6
            O: Jak naprogramovat svojí první hru? (Saboteur - verze z PMD 85)

            Autorem citovaného textu je davesade Přejít na původní příspěvek
            Dělat hru pro Amigu pomocí ASCII, resp. UDG, to zní dost ostřácky! S programováním ti jako obvykle nepomůžu, ale kdybys hledal nějaké vodítko, jak takového Sabotéra napsat, před delším časem jsem něco málo načrtnul u sebe na blogu.


            Kdyby se ti to líbilo a chtěl bys to rozpracovat do detailu, dej vědět!
            Díky Dave, jak bude čas počtu velice rád. Tohle co dělám je jen koncept aby jsem nabral nějaké zkušenosti s řízením procesu ve hře co má i "grafiku". Novým nápadům se nebráním, ale do tohohle konceptu je to zbytečné mrhání. Není vyloučeno že bude i další koncept na Sabotéra. Mám to zatím v plánu. Sabotér si přímo říka o to to zkusit... . Ale pokud by se stal tenhle omyl, už by to nebylo free a budou i inovace, ale to je ještě daleko. Jak pořád říkam, skončit s programováním můžu i zítra .
            Amiga - PMD 85

            Komentovat


              #7
              O: Jak naprogramovat svojí první hru? (Saboteur - verze z PMD 85)

              Zajímavé chování Workbenche?

              Mám naprogramovanou základní logiku pro pohyb sabotéra vlevo a vpravo. Pohyb vpravo je v pohodě. Při pohybu vlevo se mi vozík (kurzor) Workbenche chová zajímavě. Sabotéra zatím posunuju po 10 pixelech. Pro 2 různé sekvence zobrazení sabotéra se 2. "obraz" zobrazí o 5 pixelů dále, než 1. "obraz". Pro pohyb vlevo ale musím posunout vozík u 2. "obrazu" ne o 5 pixelů, ale o 9 aby se mi sabotér posunul skutečně o 5 pixelů vlevo. Při posunu vozíku o 4 pixely mi tedy sabotér zůstane stát na místě. Pak nastáva další posun o 5 pixelů sabotéra a jeho návrat do původní polohy (1. sekvence zobrazení). Aby se mi sabotér posunul o 5 pixelů vlevo, musím ho posunout pouze o 2 pixely! Tedy celkový součet je vpořádku. 9 + 2 je sice 11 a ne 10, ale 5 + 5 není správně, když chcu posunovat sabotéra po 5 pixelech vlevo. Správně je to 5 + 6. Při 1. posunu sabotéra o 5 pixelů se mi po jeho zobrazení posouvá vozík o 1 pixel doprava. Tedy pro zobrazení sabotéra o dalších 5 pixelů vlevo musím s tímhle počítat a posunout vozík Workbenche o 6 pixelů.

              Ještě jeden fakt. Když pohybuji sabotérem vpravo u změnu směru doleva mi pokud nastavím posun voziku o 5 pixelů se skutečne posune o 5 pixelů (1 pixel to rozhodne neni). Zde nemusím zadávat posun o 9 pixelů, aby se mi vozík posunul fyzicky o 5 pixelů. Tuhle opravu musím dělat až při 2. a dalším posunu sabotéra vlevo. Při vykonání 2. pohybu vlebo i vidím, jak se vozík posube o nechtěné 4 pixely doprava.

              V parametrech fontů mám nastavenou šířku proporcionálního písma na 1 (1 pixel). Tím dosahuji možnost pracovat s vozíkem Workbenche s přesností na 1 pixel. U všech zobracovaných "písmen" (obrázků sabotéra) mám parametre Spacing a Kerning na hodnotě 0.

              Pracuji s tím co mám a umím. Test stisku klávesy neumím. Ten jsem si nahradil jinou logikou. Na numerickej klávese měním směr sabotéra klávesou 3 pro pohyb vpravo a klávesou 2 pro pohyb vlevo. Klávesou Enter pak sabotérem posouvám. Takový způsob pohybu má chyby o kterých vím (snad vím již o všech chybách ). O tomhle pohybu mám napsán článek, který jsem zatím nepustil ven, protože řeším tenhle problém, tohle divné chování se Workbenche. Zajímal by mne důvod, proč se takhle Workbench chová?

              Jako já můžu všechny pohyby sabotéra doleva krom toho prvního (5+6) posunout vozík o jiné vzálenosti (9+2). Další možnosti je přejít na 2. způsob pohybu sabotéra viz historie vlákna (pohyb pomocí souřadnic)

              zde je současná verze pro pohyb sabotéra

              Code:
              # -*- coding: latin2 -*-
              
              import os, sys, time
              
              os.system("SetFont saboteur 50 PROP")
              sys.stdout.write("\f\033[>3m\033[31m\033[43m")
              
              sys.stdout.write("\033[3;0H\033[20l")
              
              
              def pohybVpravo():
                  sys.stdout.write("\033[5C3\n\033[A\033[4C")
                  time.sleep(0.2)
                  sys.stdout.write("4\n\033[A\033[D")
              
              def pohybVlevo():
                  sys.stdout.write("\033[9D2\n\033[A\033[2D") #1.doleva o 4=na miste
                  time.sleep(0.2)
                  sys.stdout.write("1\n\033[A\033[D")
              
              r = "3"
              while 1:
                  r = raw_input(), r
                  if r[0] == "": r = r[1]
                  else:
                      r = r[0][-1]
                      sys.stdout.write("\033[D")
                  sys.stdout.write("\033[A")
                  if r == "3": pohybVpravo()
                  elif r == "2": pohybVlevo()
              popsaný posun vozíka od začátku pro pohyb vlevo:
              while 1:

              else: ... sys.stdout.write("\033[D") - pokud nebyla stisknuta klávesa Enter (u té sa nám vozík neposouvá), vrať vozík o 1 pozici doleva (D)

              sys.stdout.write("\033[A") - Enter zalomí řádek - posun vozíku přesně pod poslední pozici - změna chování klávesy Enter pomocí escape sekvence (20l) (sys.stdout.write("\033[3;0H\033[20l") - tedy posunu vozíku zpět o 1 pozici nahoru (A)

              def pohybVlevo():,
              sys.stdout.write("\033[9D2\n\033[A\033[2D") #1.doleva o 4=na miste
              9D - posun vlevo o 9 pixelů
              2 - "obrázek" sabotéra
              \n - zalomení
              A - posun o 1 pozici nahoru
              2D - posun vlevo o 2 pixely

              sys.stdout.write("1\n\033[A\033[D")
              1 - "obrázek" sabotéra
              \n - zalomení
              A - posun o 1 pozici nahoru
              D - posun vlevo o 1 pixel (po zobrazení sabotéra návrat vozíku na středovou výchozí hodnotu (po zobrazení sabotéra se nám vozík posune o 1 pixel doprava))

              Takže?
              Naposledy upravil Lisiak; 23.08.2014, 07:04:52.
              Amiga - PMD 85

              Komentovat


                #8
                O: Jak naprogramovat svojí první hru? (Saboteur - verze z PMD 85)

                OK, dávam jsem článek, který mám již nějakou dobu napsán. Článek neměním, přešel jsem na pohyb sabotéra pomocí souřadnic. Chyby pohybu sabotéra zůstávájí stejné, jako u posunu z jeho samotné pozice, ale v budoucnu by jsem i tak musel přejít na souřadnice. Musím pak řešit i pohyb nepřátel a na to ty souřadnice již budu potřebovat. Chyba, kterou popisuji v minulém příspěvku ohledem prvního pohybu sabotéra vlevo zůstává. Ošetřil jsem ji zatím programem. Dělá ji smaotné "písmeno" (předešlá pozice sabotéra), které vozík "přitáhne" k sobě doprava protože když jsem vynechal zobrazení sabotéra, vozík se posouval doleva tak jak má.

                Dnes jsem testoval možné vyřešení mnoha problému zobrazení samotné hry. Zatím to nevypadá nejhúře, tedy mohlo by to i fungovat, ale na to je ještě brzo. Princip spočívá ve schazování obrazu mimo zobrazenou část (úplně dolů). Už jsem to někde psal. Takhle "shozená obrazovka" nám zanechá původní statický obraz. V "pracující" obrazovce, která je schozená dolů se vykreslí vše potřebné a obrazovku opět "nahodím na své místo" tedy na zobrazovací část monitoru. Chci tim zkusit vyřešit možné posunutí celkové grafiky (i sabotéra) mimo její správnou pozici, které je možné v době, kdy zpomaluji zobrazení sabotéra a ke slovu se dostává tedy možné psaní v samotném Workbenchi, co mi dělá v "grafice" hry nechtěné věci. Uvidím, jestli v tomhle způsobu zobrazování pohořím.


                A zde je již nějakou dobu napsán článek:

                Tak jsem si před pár dny našel čas se hrát a navrhnul jsem základný logiku pro pohyb sabotéra. Ještě v ní nejsem u konce, ale na ukázku to snad stačí. Výslední logika bude jiná, měla by pracovat s klasickým testem stiskuté klávesy, co je pro mne zatím problém a dělám tedy s tím, co umím a mám k dispozici a tedy se vstupem, který je nutné potvrzovat klávesou Enter.

                Nemožnost mít k dispozici test stisknuté klávesy je zatím největší problém a plyne z něj hned několik faktů:

                -špatné ovládání sabotéra
                -v místnosti s nepřítelem nemožnost s ním hýbat - program je v režii toho co dělá sabotér, místo toho, aby řídil nepřítele a sabotér do děje zasahoval pomocí testu stisknuté klávesy. Dočasně se to dá udělat na tahy, pro samotné odzkoušení logiky.

                Test stisknuté klávesy se pak dá řešit pomocí assembleru a možná taky načtením modulu na test klávesy napsaného v jazyku C.

                Současný princip ovládaní je jednoduchý. Konkrétní klávesou vybereme směr a pak klávesou Enter již se sabotérem hýbeme vybraným směrem. Ani tohle se však neobyšlo bez problému. Sabotér se pohne jen jeden krát. Klávesa Enter se musí pustit a opětovně stisknout. Ach jo. S tímhle si zatím musím vystačit a progrmovat si ostatní věci.

                Hrál jsem se tedy s pohybem a zkusil střídat 2 "obrázky" sabotéra po sobě. Zde je problém, že když jsem dal malou pauzu, aby bylo 2. "obrázek" i vidět, do okna Workbenche se může psát, takže sabotéra můžu Entrem posunout o řádek víš a jiné.

                Když použiju dostatečně krátkou pauzu mezi zobrazením 2 "obrázků" sabotéra, aby jsem klávesou Enter nemohl jeho pozici nechtěně posunout nahoru (zjištuji že, pozici posunu i tak, když použiku výkon A1200. U většího výkonu se již pozici sabotéra posunout nedaří), je zobrazení 2. "obrázku" tak rychlé, že ho ani neni vidět. Akorát mne napadají různá řešení, která odzkouším.

                (doplnění - když zpomalení v programu nepoužiju, grafiku sabotéra se nedaří nechtěně posunout ani na výkonu A1200 - ve videu se to jednou povedlo - nahrávání natolik zpomalilo mé PC... . Můžeme předpokládat, že v té době byl ale výkon emulace i pod výkonem A1200)

                Princip pohybu má ještě další chyby o kterých vím a které se pokusím odstranit.

                Grafika je ilustrativni .

                Asi si v nejbližší době nakreslím ilustrativní grafiku chúze (asi 2 "obrázky"), tak jako je to u verze pro PMD 85 (současný 1. obrázek je pro stojícího sabotéra) a budu se hrát dál.

                Na videu pohyb se zpomalením a pak bez zpomalení - vše na výkonu A1200.

                Amiga - PMD 85

                Komentovat


                  #9
                  O: Jak naprogramovat svojí první hru? (Saboteur - verze z PMD 85)

                  Vyzkoušel jsem "schazovat" obrazovku a tak vyřešit problémy, co mám se zobrazovaním. Výsledek je, že i když "shodím" obrazovku, kurzor zůstává v původní, tedy v neschozené obrazovce a tímhle kurzorem můžu posunout taky obraz (ten co je zobrazen, ale již by tam neměl být fyzicky, protože je ve "shozené" obrazovce) nežádoucím způsobem. Tohle schazování obrazovky je dobrý hack...

                  Nechtěné posouvání sabotéra kvůli rolující obrazovce nakonec řeším v posouvání kurzoru na první řádek. Čím pomalší Amiga, tím se to musí dělat častěji. U Amigy 1200 po každém příkazu při 4 řádcích, které mi zaplní celou obtazovku (velikost písma 50). Rolovat obrazovkou se mi i tak povedlo, ale mačkal jsem oba Entre zaráz. Jedním Entrem jsem to alespoň já nedal.

                  Test, jak nejrychleji posouvat vozík na 1.řádek jsem dělal na výkonu neco nižším, než má A600. A zobrazovat sabotéra stíha i A600. Někde jsem četl, že může být v A500/600 i 3.0, nebo 3.1. To by mělo postačovat na spuštění AmigaPythonu + nějaká RAM (celkově 2 MB pro Python, celkově +-4 MB pro program) co je tak trochu výzva jak by to utáhla tahle mašinka. U A500/600 by jsem musel mít obraz na víc než na 4 řádky (i u A1200 budu muset něco málo přidat).

                  Čím více rádků na obrazovce, tím menší pravděpodobnost nechtěného schození obrazu.

                  2. problém - když držím například klávesu 3 co je určení pohybu sabotéra směrem doprava a pod klávesou 3 mám i "grafiku" sabotéra, posouvám sabotéra po 1 pixelu doprava (klasicky píšu ve Workbenchi). Tohle chci zlikvidovat, že vozík bude v téhle situaci v jednom pracovním řádku (třeba úplně spodní řádek obrazovky) a sabotér bude v barvě tohoto řádku, tedy nebude vidět. Workbench má jisté omezení v počte znaků, co dává na jeden řádek. Při posouvání kurzoru po jednom pixelu se kurzor zastaví před koncem tohoto řádku a tedy mi neposune obrazovku, co mi stačí. Tímhle zavedu jednu nežadoucí věc. Když se otočím se sabotérem třeba doprava klavesou 3, otočení se provede až po stisku klávesy Enter, ale vyřešení nechtěného posování sabotéra tím, že se píše ve Workbenchi je větší priorota. Pro pokračování pohybu ve zvoleném směru stačí pak mačkat už jen Enter.

                  Líbí se mi velký sabotér, ale budu ho muset zmenšit. Nemůže mi pracovní řádek zabírat 1/4 obrazovky a taky větším počtem řádků snížim možnost nechtěného posouvání obrazu.

                  Na kolik je zmenšení sabotéra přípustné? 1/3? 1/2 je již moc?
                  Amiga - PMD 85

                  Komentovat


                    #10
                    O: Jak naprogramovat svojí první hru? (Saboteur - verze z PMD 85)

                    Autorem citovaného textu je Lisiak4 Přejít na původní příspěvek
                    Líbí se mi velký sabotér, ale budu ho muset zmenšit. Nemůže mi pracovní řádek zabírat 1/4 obrazovky a taky větším počtem řádků snížim možnost nechtěného posouvání obrazu.

                    Na kolik je zmenšení sabotéra přípustné? 1/3? 1/2 je již moc?
                    Vidím, že mám sledovanost a to je fajn . Rád bych slyšel (četl) nějaké názory o tom, jak by sabotér mohl byt velikej .
                    Amiga - PMD 85

                    Komentovat


                      #11
                      O: Jak naprogramovat svojí první hru? (Saboteur - verze z PMD 85)

                      Velkost je ok, len som zvedavy ako budes vykreslovat pozadie + dalsie postavy... Mal si sa zacat hrat s tym C a nie kreslit si fonty...
                      Amiga 1200T (E/Box)+BlizzardPPC 603p/363+060/66+BVision PPC+256MB+KS3.1+Cocolino+Lyra 2+Fast Ata MK-IV+320GB WD Blue 3200AAJB PATA HDD(PFS3)+dvdrw+dvd+cf2ide
                      Amiga 1200+BlizzardPPC 603e/210+040/25+128MB+KS3.1+CF4GB(PFS3)

                      Komentovat


                        #12
                        O: Jak naprogramovat svojí první hru? (Saboteur - verze z PMD 85)

                        Zkusim se pochlapit a trosku to rozhrabnout. Pred par dny jsi se tu bal vyjadrit k jedne priserne hre a je mozne, ze neco podobneho se deje i v tomto pripade. Na jedne strane je super, ze se snazis neco delat, ale Python provozovany na 68k Amize je proste naprosto nevhodny pro takovyto typ hry. Rekl bych to asi tak, pokud chces udelat super klon hry Saboteur, zkus to Ccko, a my se budeme tesit. Pokud chces zustat u Pythonu, mozna by stalo za to vymyslet nejaky jiny projekt...

                        Komentovat


                          #13
                          O: Jak naprogramovat svojí první hru? (Saboteur - verze z PMD 85)

                          Ještě jednou. Je důležité začít s něčím. Potřebuji si odzkoušet logiku. Nevylučuji, že to pak udělám i v C (je to v plánu jak jsem zde již jednou psal), ale nestíhám se učit. Scválně mám více vláken (zatím dvě - textovka, Sabotér). A je v plánu třetí (ATEconvert - nezavírat původní vlákno). Tohle vše budu střídat dle nálady + ještě jeden projekt na PC. Když tohle vše budu mít v Pythoně, začnu se v něm nudit a mít více času na C. A jak se ho začnu učit? Začnu do něj přepisovat programy, které mám již napsané v Pythoně. Pythoní příkazy, které v C nejsou si naprogramuji.

                          Nemám v plánu teď dělat super klon Sabotéra. Tohle je jen skica (jak jsem již psal). Taky ale nehodlám ani skicu flákat. Vytáhnu z toho co to dá, tak jak to dělám s každým programem.
                          Amiga - PMD 85

                          Komentovat


                            #14
                            O: Jak naprogramovat svojí první hru? (Saboteur - verze z PMD 85)

                            Mně se líbí, že se Lisiak snaží o něco jiného. Vykreslovat něco pomocí fontů je úžasný nápad - něco podobného jsem dělal na ZX pomocí UDG a přišlo mi to geniální. Ale ano, jako objekt hry bych nevolil Sabotéra, ale spíše bych na tom principu udělal nějakou tahovou strategii nebo klienta pro rogue-like hry s grafikou atd. Tj. u mne dobrý!
                            Amiga 1200 + Blizzard 1260 + 64 MB RAM + CF2IDE + Indivision AGA Mk1 + PCMCIA2CF + WHDLoad registered + GOTEK

                            Komentovat


                              #15
                              O: Jak naprogramovat svojí první hru? (Saboteur - verze z PMD 85)

                              Autorem citovaného textu je DJM Přejít na původní příspěvek
                              Velkost je ok, len som zvedavy ako budes vykreslovat pozadie + dalsie postavy... Mal si sa zacat hrat s tym C a nie kreslit si fonty...
                              Veľkosť som donútený zmenšiť. Ide mi o to o koľko možem. Pozadie čo sa týka sabotéra bude animácia v rámci jednoho znaku. Ja sa najviac teším na súčasný výskok Sabotéra a nepriaťeľa, kde sa budú obe postavy vo výskoku prekrývať. Mám za to, že nepriateľ v sabotérovy z PMD 85 neskáče, ale toto by som rád zaviedol + možno ešte nepriaťeľov volný pohyb po celej budove by bol fajn, ale obmedzil by som to radšej na 1 nepriateľa na 1 miestnosť.

                              Ok uzavrieme neškodnú stávku? Aký mi dáš limit na súčasný výskok Sabotéra a nepriaťeľa, kde sa budú obe postavy vo výskoku prekrývať? 1 pivo? Stávka bude platiť len keď neseknem s programovaním. Keď s ním neseknem, toto chcem dokončiť.

                              Mňa len zaujímal názor o koľko možem sabotéra zmenšiť - ten sa dá napísať aj tromi znakmi .

                              ALL: No a s negativnym názorom som počítal - takže smola - ja viem, že toto je brána k možnému pokračovaniu.
                              Amiga - PMD 85

                              Komentovat

                              Zpracovávám...
                              X