Už je to tu zas! Otevřete zažloutlé stránky archivních příruček, vyžeňte pavouky ze 486tek a pro sichr zkontrolujte obsah disků dobovým antivirem, jelikož Pojer a OneHalf stále číhají v zapomenutých zákoutích archivních disket. A pak? Pak se pusťte do programování hry pro DOS!
Aktuální průběh
30.06. - BONUS pro výherce! Díky darům, které nezištně poskytl MilasPCE, mohou dva nejlepší obdržet hodnotný artefakt ideální pro vystavení na poličce. Jde o originální OEM instalačky systémů MS-DOS 6.22 (cca 5 disket), Windows 95 a Windows XP Home!
Je tu totiž #hvdosdev2019, což je sice mimořádně nezapamatovatelný hashtag, ale aspoň nám ho nikdo nevyfoukne ;) Pravidla jsou přísná leč spravedlivá, viz níže. V kostce: zapomeňte na letní slunění a koupání, zavřete se do programátorských doupat a stvořte hru pro DOS.
O co soutěžíme? O knihy, protože kvalitní kniha je nejvíc. Výherce získá nárok na objednání knih v hodnotě 700 Kč z nabídky tuzemských knihkupectví. Konkrétní publikace si vybere sám, na knihkupectví se domluvíme (ale nebudou to Knihy Dobrovský, od jejich nechvalně proslulé kájínkyjády na ně mám pifku). Antikvariáty povoleny. Pro další v pořadí budu mít připraveny ceny útěchy v podobně GOG / Steam kódů.
Pravidla soutěže
- Vytvořte novou hru pro operační systém MS-DOS či kompatibilní.
- Hotovou hru zašlete do 31.8. 2019 na sledge@high-voltage.cz.
- O vítězích rozhodne otevřená anketa spuštěná od 1.9. do 30.9.
- Soutěžící souhlasí se zveřejněním své hry na doshaven.eu.
Požadavky na hru
- Hra musí být spustitelná pod systémem MS-DOS 6.22.
- Hra musí být hratelná na PC 486DX2/66MHz, 16MB RAM, SVGA.
- Hra musí zobrazit aktuální rok (2019), jméno či přezdívku autora a doménu high-voltage.cz, např. na úvodní obrazovce.
- Jiná omezení nakonec nejsou, máte naprosto volnou ruku.
Dodatky & tipy
- Účastnit soutěže se mohou týmy i jednotlivci.
- Další info k průběhu soutěže bude doplňováno na tuto stránku.
- Diskutovat k soutěži můžete v komentářích a na fóru.
- Konkrétní trable programátorské můžete řešit též na fóru.
- Pro tvorbu hry lze použít cokoliv, včetně existujících enginů.
- Snažte se mít hry v angličtině.
- Kdo bude jakkoliv fixlovat, půjde do pekla! ;)
- Hotovými kusy kódu či svými dávnými díly, které dosud tlely v archivu, si samozřejmě drobně pomoct můžete.
- Neváhejte přihlásit i hry jednoduché, případně ne zcela doladěné.
Tedy vzhůru do akce, pevně doufám, že letos trhneme rekord a do soutěže se přihlásí aspoň desítka tvůrců :) Příští rok jsem rozhodnut soutěž otevřít světu, pojďme tedy nastavit laťku kvality vysoko ;)
P.S. Ano, anketa dopadla jinak, ale nakonec jsem se rozhodl to nekomplikovat. Věřím, že i když se sejdou hry grafické ve společnosti her textových, nakonec vyhraje celková kvalita, a ne laciné audiovizuální pozlátko ;) Hratelnost především!
Vidím to tak, že buď seženu koprocesor ke svý 486SX/66 abych z ní udělal DX, nebo zešedivím u optimalizace. Myslím, že k minimálním požadavkům jako má Silly Knight se s letošním nápadem ani nepřiblížím, bohužel ne kvůli kvalitě, spíš kvůli mé neschopnosti produkovat slušný, čistý a rychlý kód :D
Myslím, že koprocesor počítá spíše matematické úlohy (sin, cos, log atp.) a rychlosti optimalizace nepomůže.
A počítá právě nejen goniometrii, ale obecně s čísly s desetinnou čárkou, a bez něj jde rychlost výpočtů rapidně dolů (takže právě na SX mašinách, jsem moc rád že minimum je DX2). Sinus a cosinus jsem elegantně obešel jejich před-počítáním do paměti, ale s dělením a násobením nic neudělám. Fascinuje mě, kolik a jak rychle toho mistři x86 kódu zvládali, tam kde já drtím snímky za vteřinu v jednotkách na triviální scéně, oni zvládali desítky a ještě k tomu počítali fyziku. Můj tip je, že většinu výpočtů prováděli bez desetinných míst a navíc v asm, nemám na ně, ale pokusím se alespoň přiblížit.
Ps: ano, pokouším se o 3D a dost pravděpodobně si na tom vylámu zuby, ale pro mě je ta soutěž vždycky spíš o tom naučit se něco nového v kódu, než tam plácnout 2D unitu co už mám hotovou a dělat „jen“ novou hru…
Kdysi mi vysvětloval jeden programátor z Tesly Pardubice, co dělal zobrazování na radarech, jak se počítají šikmé přímky pomocí celočíselných hodnot. Vůbec jsem to nepochopil do dnes. Ale jemu to chodilo v ASM výborně.
Asi to bylo na principu „Bresenham’s line algorithm“ tím by se daly výhledy počítat rychleji.
Kreslení čar není problém, k dohledání jsou i rychlé hotové implementace v x86 asm pro mód 13h. Co je problém je přepočítávání z 3D do 2D souřadnic. Zkoušel jsem to implementovat celočíselně a ono to i funguje, ale nárůst výkonu je minimální. Samozřejmě počítám to v pascalu, nemyslím si, že mám šanci v asm dosáhnout rychlejších výpočtů, aniž bych se vzdal ženy, práce a zbytku života :D
Takže na PC kde Red Baron vykresluje 3D mapu se zákopy a domečky v 60FPS (a ještě k tomu počítá fyziku) já upoceně šourám cca. 15 čar v 20FPS. Ale je to SX, na DX by to mohlo dopadnout o něco líp.
Nemyslel jsem to použít na kreslení čar, ale na výpočet toho co vidíš. Když hledáš překážku ve výhledu, která se zobrazí.
Snažím se o projekci 3D bodů na 2D plochu, základ je:
x2d = (x3d * zplane) / z3d;
y2d = (y3d * zplane) / z3d;
Ale pokud použiju real, je to na SX pomalý (bez koprocesoru logický), integer je rychlejší, ale ne o moc (jen 10-20% zlepšení, což jsem čekal lepší), začtu se do archivů BBSek a uvidim jestli vymačknu něco lepšího :D
Zkoušíš 3D ve stylu WOLF3D nebo DOOM ?
Právě že vůbec, nechci 2.5D a nebude to střílečka :D
A už to vím a je rozhodnuto – Turbo Pascal bude nahrazen Watcom C kompilátorem, v 16bitovém režimu nemám šanci, zato s DOS32A extendérem mám na SXce 60 FPS na první pokus :D Teď už jen naučit se nějak kloudně to prokletý Céčko, kterýmu se celý život vyhýbám…
Je to soutěž jen jednotlivců, nebo se může účastnit i skupina. Například jeden bude programovat a druhý kreslit grafiku ?
Dobrá poznámka, doplním do textu. Týmy i jednotlivci, jak je libo :)
One_Half 3544 byla kdysi moje noční můra, Pojer je jen taková srandička, nic vážnýho nedělá, tedy krom těch hlášek, co zdržujou od startu :-)
Ne, nezapojím se. Nesnáším kritiku typu „proč je to textovka?“ a „proč zrovna qbasic?“ :-D
Já mám s Pojerem, tu zkušenost, že je sice víceméně neškodný, ale přisává se k existujícím souborům tak nevhodným způsobem, že často zamezí jejich spuštění :)
My sme mali v DOSe kedysi likvidátor One Halfu. Jednoúčelový antivír. A ten bol tak kvalitne napísaný, že všetky napadnuté súbory poškodil. Nakoniec sme na to prišli a odvírovali sme ho starým NODom. Ten bol bezchybný.
Před pár lety jsem se také zúčastnil, a po té strašlivé zkušenosti jsem si slíbil, že to bylo v QBasicu naposledy :-D
Ale kritizovat by mě ani nenapadlo, docela rád bych viděl výsledek.
QBASIC je náhodou dokonalý PC style. Gorillas a Nibbles jsou naprosto boží záležitosti. Kdybych si v něm byl jistý tak bych do něj šel.
Nikdy jsem nebyl moc na grafiku v basicu. Na druhou stranu mne bavilo psát textovky a podobné blbůstky. Pokud se k tomu dokopu a vzpomenu si na deklarace, proměnné a podobné 3,14čoviny, možná něco pošlu. Předem ale upozorňuji, že můj kód vypadá vždy, jako by to psalo prase :-D Navíc je dost možné, že to nebude kompatibilní, basiců je hromada (GW, QB, QBX, …) a některé nejsou navzájem kompatibilní. Osobně jsem dělal nejradši v QBX 7.1 kvůli kompilátoru a celkem přehledné nápovědě. Míval jsem na disku desítky nedokončených programů :-D Vše je pryč.
Soutěž v BASIC by mohla být super mohly by se zúčastnit i 8-bity. to by jsme mohly dát třeba přez vánoce.
Ano, ale muselo by se to psát v čistém basicu kvůli kompatibilitě s osmibity. QBX, ve kterém jsem psal já, by tak byl vyřazen. Nesnáším číslování řádků.
Nechápu to hloupé prosazování angličtiny, já si rád zahraji hru v češtině!
Angličtina není podmínkou, nicméně protože chci hry dále sdílet na doshaven.eu, byla by více než vhodná, to je celé.
Vzhledem k tomu, že o minulé soutěži se psalo i v zahraničí, tak snažit se to udělat mezinárodní je na místě. Hlasovat budou stejně asi jen naši, tak to na pořadí nebude mít vliv.
Pokud by mi textovku někdo přeložil do angličtiny, proč ne. Já dělám jen překlady z angličtiny.
Tak i když je to děsná kravina, tak já už jsem nějaký základ poslal. Takže už vyhrávám (teda jestli to půjde spustit na jiném než mém PC) :) Ještě se snažím vložit umělou inteligenci (ta je tak umělá, že umí říkat nahoru nebo dolů) :)
Potvrzuju, dorazilo! :)