OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 19.04.2024, 06:57

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 14 ] 
Autor Zpráva
PříspěvekNapsal: 12.02.2020, 14:30 
Offline
Profík

Registrován: 27.07.2013, 13:24
Příspěvky: 903
Has thanked: 25 times
Been thanked: 125 times
Hry jsem nikdy neprogramoval a chtěl bych si udělat obrázek o tom, jak se řešily závodní hry na retrostrojích s omezenými zdroji. U moderních platforem hromadou výkonu a GPU je to asi jasné, tam to bude všechno jako 3D model a příslušný engine. Ale jak se takové věci řeší nejmenších strojů?

_________________
Atari 600XL, 800XL/XE, 130XE, ST, STE, MegaST, 7800, JaguarCD, Commodore C64, Amiga 500/Plus, 1200, CDTV, Sinclair QL + GC, Sharp MZ800, Sord M5, CPC 6128, Spectravideo SVI X'Press, Sony HB-750, Philips CDi 370, Ohio Scientific Challenger, Eureka.


Nahoru
 Profil  
 
PříspěvekNapsal: 12.02.2020, 14:38 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1975
Bydliště: Most, Praha
Has thanked: 870 times
Been thanked: 699 times
Podklad - zelený obdélník jako travnatá plocha. Přes něj silnice = šedé linky s rúznou délkou, posuvem X se silnice kroutí. Auto jako 2D obrázky ve 3 směrech natočení, ostatní auta 2D obrázky v pár velikostech. Objekty terénu jako 2D obrázky v např. 3 velikostech, jen se vykreslující přes trávu v různých místech. Nahoře nad terénem je pozadí - hory, což je 2D obrázek vykreslovaný opakovaně dokola (skrolování), jeho X posouváním se vytváří dojem otáčení kamery.

Podobně jednoduchá hra byla "Zoom", raketka prolétající mezi sloupy v 3D pohledu. 3D terén byla jednobarevná plocha, přes kterou se vykreslovalo několik horizontálních čar, které se postupně posouvaly k hráči (= dolů). Směrem k dolnímu okraji se rozteč mezi nimi zvětšovala a tím se vytvářel dobrý dojem 3D prostoru.

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Naposledy upravil Panda38 dne 12.02.2020, 14:41, celkově upraveno 1

Nahoru
 Profil  
 
PříspěvekNapsal: 12.02.2020, 14:40 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3816
Has thanked: 280 times
Been thanked: 456 times
Velmi dobře je to v praxi vidět třeba na hře GPMOTO od Accolade, byť ta už je pro PC a DOS.


Nahoru
 Profil  
 
PříspěvekNapsal: 12.02.2020, 17:47 
Offline
Site Admin
Uživatelský avatar

Registrován: 11.05.2013, 23:48
Příspěvky: 10123
Bydliště: Praha
Has thanked: 1956 times
Been thanked: 1521 times
No dobře je to vidět i na rokouskované grafice k Lotus Turbo Challenge pro Amigu. Existují stránky, na kterých redaktor rozebírá, jak které hry byly dělány a jaké používaly programátoři triky. Jen to teď bohužel nemůžu najít. Možná si někdo jiný na to samé vzpomene a postne link.

_________________
Amiga/Amstrad/Atari/Commodore/Mac/Nintendo/PS/PC/Sega/Tandy/ZX


Nahoru
 Profil  
 
PříspěvekNapsal: 12.02.2020, 17:56 
Offline
Profík

Registrován: 27.07.2013, 13:24
Příspěvky: 903
Has thanked: 25 times
Been thanked: 125 times
Panda38 píše:
Podklad - zelený obdélník jako travnatá plocha. Přes něj silnice = šedé linky s rúznou délkou, posuvem X se silnice kroutí. Auto jako 2D obrázky ve 3 směrech natočení, ostatní auta 2D obrázky v pár velikostech.


Jasně, to jak se ten obraz skládá je celkem jasné. Ale mě šlo spíš o to, jak je definovaná ta trať a co má být kolem, jestli je to nějaké 2d pole s půdorysem, kde má silnice, objekty a hráč(i) nějaké definované souřadnice a tudíž se z toho dělá nějaká triviální 3D projekce nebo je silnice definovaná jako nějaké segmentované pole, které se "postrkuje" směrem k hráči nebo něco ještě plně jiného?

_________________
Atari 600XL, 800XL/XE, 130XE, ST, STE, MegaST, 7800, JaguarCD, Commodore C64, Amiga 500/Plus, 1200, CDTV, Sinclair QL + GC, Sharp MZ800, Sord M5, CPC 6128, Spectravideo SVI X'Press, Sony HB-750, Philips CDi 370, Ohio Scientific Challenger, Eureka.


Nahoru
 Profil  
 
PříspěvekNapsal: 12.02.2020, 18:12 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 31.08.2014, 16:27
Příspěvky: 1007
Bydliště: Praha
Has thanked: 63 times
Been thanked: 398 times
Tak to může být různé.

Třeba u Pole Position pro 8bitové Atari je trať v podstatě jednorozměrné pole.

Každý element pole definuje segment trati takto: délka úseku, ostrost zatáčky, směr zatáčky.
Tak se dá celkem lacino uložit i složitý okruh. Takový "okruh" může končit i jinde než začínal, různě se křížit a hernímu enginu to nevadí. Samozřejmě takový engine nedovoluje otočení do protisměru.

Hezky je to vidět u programu Pole Position Race Designer: http://atarionline.pl/v01/index.php?ct=katalog&sub=P&tg=Pole%20Position%20Race%20Designer%20v3.01#Pole%20Position%20Race%20Designer%20v3.01

To je celkem jednoduchý příklad. V elementu takového pole mohou být další indikátory - tabule, překážky na silnici, stoupání/klesání, svodidla.
Na podobném principu nejspíš fungují hry ze série Lotus.

U hry Rally Speedway (to je závodění z ptačí perspektivy) je to zase skutečně dvourozměrné pole a každý element určuje co na daném místě je. V takovém herním světě se pak dá naprosto volně pohybovat. Svět je cyklický, jedeme-li pořád na západ, objevíme se na východě.


Nahoru
 Profil  
 
PříspěvekNapsal: 12.02.2020, 19:32 
Offline
Radil

Registrován: 18.10.2014, 23:10
Příspěvky: 377
Has thanked: 28 times
Been thanked: 120 times
misticjoe píše:
No dobře je to vidět i na rokouskované grafice k Lotus Turbo Challenge pro Amigu. Existují stránky, na kterých redaktor rozebírá, jak které hry byly dělány a jaké používaly programátoři triky. Jen to teď bohužel nemůžu najít. Možná si někdo jiný na to samé vzpomene a postne link.

Možno toto:
https://codetapper.com/


Nahoru
 Profil  
 
PříspěvekNapsal: 12.02.2020, 19:45 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1521
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 383 times
Nebo tady, velmi pěkné (hlavně stran dráhy, méně řeší auta a stromy):
http://www.extentofthejam.com/pseudo/


Nahoru
 Profil  
 
PříspěvekNapsal: 12.02.2020, 20:27 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1975
Bydliště: Most, Praha
Has thanked: 870 times
Been thanked: 699 times
U hodně jednoduchých her se mapa ani neřeší. Pro trať a objekty se použije pseudo-generátor náhody (s opakovatelnou posloupností). Výchozí číslo udává typ trati. Od aktuálního čísla z generátoru se odvodí typ zatáčky i okolní objekty.

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
PříspěvekNapsal: 12.02.2020, 20:46 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.05.2013, 14:56
Příspěvky: 2341
Has thanked: 303 times
Been thanked: 640 times
Docela by mě zajímalo do které "kategorie" patří Spektrácké hry (resp. jak jsou řešené), jako třeba
Sito Pons 500 (https://www.youtube.com/watch?v=SWhXlDRdUCg)
Hard Drivin' (https://www.youtube.com/watch?v=JHGkHlmebbo)
Turbo Esprit (https://www.youtube.com/watch?v=OtHQNzPugdA) - je to ještě "závodní" hra?

Kdybys chtěl něco z toho disassemblovat a opravdu zkoumat do hloubky, tak bys mohl mít šanci s 4k Race Refueled+, která má pouhé 4kB - někdy kolem roku 2006 jsem se o to velmi zlehka pokusil, takže mám pár souborů s poznámkami, ale nedostal jsem se dál než k hrubému zdokumentování, kde je kód, sprity, data...

https://www.worldofspectrum.org/infoseek.cgi?regexp=^4K+Race+Refueled%2b$&pub=^Paolo+Ferraris$&loadpics=1
video https://www.youtube.com/watch?v=VJ8kCZY6ihU

Výhodou téhle hry je, že je malá a obsahuje opravdu jen to nezbytné minimum. Na druhou stranu, na poměry osmibitů je velmi pěkně plynulá.

_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS


Nahoru
 Profil  
 
PříspěvekNapsal: 12.02.2020, 21:33 
Offline
Profík

Registrován: 27.07.2013, 13:24
Příspěvky: 903
Has thanked: 25 times
Been thanked: 125 times
Myslel jsem právě ty hry z vlastního pohledu, jako 4k Race Refueled+, Pole position nebo Out run. Prostě takové to pseudo 3D.

Nikoliv tedy 2D závody shora jako Sito Pons 500, Rally Speedway nebo Supercars, případně isometrické, kde se jen scroluje obrázkem.
A rovněž ne Hard Drivin nebo Stunt Car Racer, což už vypadá jako plnotučné vektorové 3D.

Každopádně díky všem za tipy a linky.

_________________
Atari 600XL, 800XL/XE, 130XE, ST, STE, MegaST, 7800, JaguarCD, Commodore C64, Amiga 500/Plus, 1200, CDTV, Sinclair QL + GC, Sharp MZ800, Sord M5, CPC 6128, Spectravideo SVI X'Press, Sony HB-750, Philips CDi 370, Ohio Scientific Challenger, Eureka.


Nahoru
 Profil  
 
PříspěvekNapsal: 13.02.2020, 10:29 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.06.2013, 20:26
Příspěvky: 2487
Has thanked: 115 times
Been thanked: 424 times
ctirad píše:
Myslel jsem právě ty hry z vlastního pohledu, jako 4k Race Refueled+, Pole position nebo Out run. Prostě takové to pseudo 3D.
Ještě by stálo za to vědět (alespoň mě by to zajímalo ;) ), jak je dělané takové to mírné zvlnění trati nahoru a dolů - to myslím uměl už stařičký Chequered Flag na Spectru...

_________________
"Je lepší rozsvítit byť jen malou svíčku, než jen proklínat temnotu." (Konfucius)

www.zxsparrow.com


Nahoru
 Profil  
 
PříspěvekNapsal: 13.02.2020, 10:50 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1521
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 383 times
Jiiira píše:
jak je dělané takové to mírné zvlnění trati nahoru a dolů

To už je v tom mém odkazu.


Nahoru
 Profil  
 
PříspěvekNapsal: 17.02.2020, 10:05 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.06.2013, 20:26
Příspěvky: 2487
Has thanked: 115 times
Been thanked: 424 times
dex píše:
Jiiira píše:
jak je dělané takové to mírné zvlnění trati nahoru a dolů
To už je v tom mém odkazu.
Koukám na to, díky :thumbup:

_________________
"Je lepší rozsvítit byť jen malou svíčku, než jen proklínat temnotu." (Konfucius)

www.zxsparrow.com


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 14 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 6 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz