No BASIC līdz AI aģentiem
Aptuveni reizi piecos gados es no jauna apguvu amatu: Pascal, C++ un OpenGL, Unity, Solidity, TypeScript, un tagad izstrādi ar AI aģentiem. Lūk, ko es pa ceļam uzbūvēju.
- 2025+ Izstrāde ar AI aģentiem
- 2026
TaleCheck
Statiskā analīze daiļliteratūrai, ko uzbūvēju viens pats ar Claude Code un paralēliem aģentiem: 1 662 komiti mazāk nekā trīs mēnešos, darbojas ar maksājošiem lietotājiem.
TypeScriptNestJSClaude CodeAnthropic API
- 2026
Vokseļu pasaule nedēļā 📷 4
Minecraft stila vokseļu pasaule Unity, uzbūvēta apmēram nedēļā 2026. gada februārī ar Claude Code: procedurāls reljefs ar kalniem, upēm un mežiem, pasaule, sadalīta čankos, un rediģēšana ar bloku otu — līdz pat koku stādīšanai.
UnityC#Claude Code
Procedurāls reljefs: upe, pakalni un kalni.
- 2025–2026
Griddle Fun 📷 4
Spēle uz tiešsaistes kriptovalūtas grafika: tu pieskaries režģa šūnai, kurā, tavuprāt, nonāks cena, un laimē ar šīs šūnas koeficientu. Grūtākā daļa bija matemātika — katras šūnas koeficienta aprēķins. To darīju kopā ar matemātiķi: es uzstādīju uzdevumu, testēju viņa rezultātus un sūtīju atpakaļ to, kas nebija kārtībā, un paralēli veidoju pašu spēli. Simulācijas testēšana bija mana: boti ar dažādām stratēģijām, alkatīgām un ne tikai, spēlēja pret izmaksām, līdz koeficienti noturējās. Simulācija ar 604 800 sekunžu cenu datiem (viena nedēļa) iznāca gandrīz precīzi bez peļņas un zaudējumiem, ROI ap 0,4%, kā iecerēts.
Režģis: katrai šūnai cenas līnijas priekšā ir savs koeficients.
- 2017+ Web3 un reāllaika platformas
- 2022–
CTO uz daļslodzi
Tehniskais partneris dibinātājiem: izstrāde ar fiksētu apjomu, arhitektūras pārskati un due diligence.
- 2021
Ģeneratīvi NFT koki, kas aug 📷 2
Web3 spēlei es izveidoju kokus, kas aug blokķēdē. Katrs NFT saņem 256 bitu genomu no Chainlink VRF, un mans dekoders to pārvērš koka raksturā: zaru garums un resnums, leņķi, noliekšanās un izliekums, gravitācijas spēks, vainaga blīvums. Tad rekursīvs algoritms uzzīmē koku vokseļu režģī, bloku pa blokam Minecraft stilā, ar 3D simplex troksni vainaga formai un zaru izliekumiem. Katrs augšanas solis, līdz desmit, ir transakcija, un katram zaram ir savs seed, tāpēc koks tieši aug, nevis tiek pārzīmēts: zariņš no iepriekšējā soļa kļūst par zaru un sazarojas tālāk. Attēlā nonāk arī pasaule ap to: vainags sabiezē vai paretinās līdz ar tokena cenu starp soļiem (no Chainlink cenu plūsmas), mizas krāsa nāk no īpašnieka adreses, debesis mainās pa stundu garu dienas un nakts ciklu, lapotnē deg laterniņas, bet īpašnieki, kas tikko bija nobalsojuši par projektu, saņēma zelta vai rozā vainagus. Sākumā attēlus veidoja vokseļu staru izsekotājs, ko piedāvāja studija, ar kuru mani iepazīstināja partneri: es tam sūtīju režģi pēc saskaņota protokola, tas ielika uzdevumu rindā, un es periodiski vaicāju rezultātu. Taču tas zīmēja tikai kubus, bija maksas, un es biju atkarīgs no svešiem serveriem. Tāpēc pārgāju uz Blender: katrs modelis tiek eksportēts GLTF formātā un renderēts serverī ar Blender Cycles, izmantojot Python skriptu, un nu es varēju pievienot jebkādus objektus, zemes plāksnes, kameras un gaismas — uz nobrieduša atvērtā koda dzinēja. Metadatu serviss atdod katra augšanas soļa attēlu. Apmēram mēnesis darba 2021. gada oktobrī, Polygon un BNB Chain. Zemāk redzamos renderus 2026. gadā izveidoju vēlreiz no oriģinālā koda, ar Blender 2.93 un oriģinālo ainu.
TypeScriptNode.jsBlenderChainlink
Divpadsmit nejauši genomi, katrs savā pēdējā augšanas solī.
- 2021–
Roach Racing Club 📷 9
Web3 sacīkšu spēle no nulles, ko vada tiešsaistes kriptotirdzniecība: viedlīgumi, tokenomika, savs WebGL dzinējs 10 dalībnieku tiešraides sacīkstēm, sacīkšu modelis, kas sabalansēts manā paša simulatorā, un mikroservisu bekends. Tīmeklī un Telegram.
SolidityThree.jsTypeScript
- 2020–2024
Dice Chess
Reāllaika šahs ar kauliņu variantu, par kuru atbildēju no idejas līdz palaišanai: specifikācija, arhitektūra, sava testēšanas sistēma šaha pozīcijām; slodzes testi 20 000 vienlaicīgiem spēlētājiem.
JavaVueTypeScriptMicroservices
- 2017–2021
Blockchain Cuties
Rakstīju Ethereum viedlīgumus citiem, pēc tam līdzdibināju Cuties un palaidu to četros mēnešos (2018. gada aprīlī), vēl pirms ERC-721 bija galīgi pieņemts. Tēli un vairošana — blokķēdē, priekšmeti un kaujas — serverī ar vienreizējiem parakstiem, ko pārbauda līgumi. Ethereum, pēc tam EOS, TRON, NEO un Polygon — daudzķēžu arhitektūra, vēlāk paplašināta līdz 7 tīkliem. #1 DappRadar; 2021: pārvaldības tokena līgumi un IDO.
SolidityNode.jsEOSTRON
- 2017
Decrypted Kitties 📷 4
CryptoKitties stila spēle, uzbūvēta apmēram nedēļā un publicēta Google Play 2017. gada 31. decembrī ar nosaukumu „Crypto Kitties Decrypted Simulator”, — pirmais solis kriptospēlēs. Kolekcionē, audzē un pārdod kaķus ar saviem gēniem, bez maka un ētera.
Unity
Decrypted Kitties, Google Play, 2017. gada decembris.
- 2010+ Unity un studija ar 35 cilvēkiem
- 2015–2020
Zebrainy 📷 3
Līdzīpašnieks un tehniskais direktors uzņēmumā, kas veido izglītojošas spēles maziem bērniem. Viena no tā lietotnēm, Zebrainy ABCs, māca alfabētu: bērns velk mirdzošas lodītes burta formā, pēc tam izpēta ilustrētu pasauli ar vārdiem, kas sākas ar šo burtu, — 26 burti, 26 pasaules.
Unity
Zebrainy ABCs: burta A pasaule.
- 2015–2016
Bezmaksas spēļu izstrādes darbnīcas 📷 2
Atvērām MadSword biroju vietējai kopienai bezmaksas vakara darbnīcām: kā spēles tiek veidotas Unity un Blender, un nianses, ko bijām apguvuši ražošanā, — no tēlu riggošanas līdz pretkrāpšanas sistēmas veidošanai Unity C#. Ieraksti ir YouTube.
UnityC#Blender
Es uzstājos MadSword darbnīcā, 2015. gada decembris.
- 2013
Steam Defense izlaišana
MadSword pirmais pašu laidiens — Kongregate, VK un Odnoklassniki: savs scenāriju skriptēšanas mehānisms, mākslīgais intelekts skirmish un PvP režīmiem un BotWars — visu nakti ilgs slodzes tests ar desmitiem tūkstošu vienību, kas trīs nedēļās padarīja spēli stabilu, bez avārijām.
UnityC#Networking - 2013
Fizikas pulciņš pirmsskolniekiem
Brīvprātīgs fizikas pulciņš Rīgā pirmsskolas vecuma bērniem. Draugi to sāka saviem bērniem, tad paziņu bērniem, un es pievienojos kā pasniedzējs; bērni maksāja simbolisku maksu, bet es naudu neņēmu. Mēs palaidām raķetes ar saspiestu gaisu un CO₂, spēlējāmies ar sauso ledu, blīvumu un rotaļu mašīnītēm. Video ir viens no raķešu eksperimentiem.
- 2013
Global Game Jam: Tankraft
Tīkla vairāku spēlētāju tanku kauja, uzbūvēta vienā nedēļas nogalē kopā ar komandas biedru: paša spēlētāja vai atvēlēts serveris, divi ieroči, tanki ar fiziku. Izlaista Windows, macOS, Linux un pārlūkam.
UnityC#Networking
- 2012–2018
MadSword 📷 7
Līdzdibināju spēļu studiju un izaudzēju to līdz 35 cilvēkiem. Sākām Steam Defense pie virtuves galda, piesaistījām investoru, pēc tam pārgājām uz pasūtījuma spēlēm izdevējiem: viens atkārtoti izmantojams Unity dzinējs ar līmeņu redaktoru un kopīgu serveri deva 100+ spēļu un reskinu un tūkstošiem līmeņu. Kopā 160+ spēļu un 20M+ lejupielāžu, lielākoties caur kādu Nīderlandes izdevēju. Bija arī VR spēles.
UnityC#Java
- 2012
MyCountry innoWate studijā
Divi mēneši Game Insight studijā pie MyCountry — pilsētbūves spēles ar 5M+ instalācijām Google Play: kļūdu labošana un vecu mehāniku atgriešana.
C++Mobile - 2011
Nunnery
Divu dienu spēļu džems Londonas hakerspeisā, pilnā ar lodāmuriem, robotiem un serveriem. Devos turp pēc Igora uzaicinājuma — universitātes paziņas, kurš bija strādājis Sony un tagad taisīja 2D spēles uz sava starpplatformu dzinēja IGE, kas bija paredzēts galvenokārt tādām konsolēm kā PSP. Mūsu komanda uztaisīja divas spēles; es biju galvenais programmētājs spēlē Get Me to a Nunnery — platformerī par lēkājošu mūķeni. Izvēlējos IGE, nevis Unity, lai iepazītu dzinēju nākamajām spēlēm, un vēl divas dienas mājās refaktorēju kodu.
- 2011
Unity: Bastions
Pirmā Unity spēle: divi torņi — būvē savu un apšaudi pretinieka torni ar lielgabaliem. Plānota kā vairāku spēlētāju spēle.
UnityC# - 2004+ C++, OpenGL un savi dzinēji
- 2008
Labyrinth 📷 6
Mans maģistra darbs Latvijas Universitātē (2008, vadītājs doc. Kārlis Freivalds): Steel Engine, kas izaudzis līdz apmēram 30 000 C++ rindām, un Labyrinth — tīkla sacīkstes pa ģenerētu labirintu — kā tā demonstrācija. Es nodibināju un vadīju mūsu DiVision komandu un uzrakstīju visu, izņemot skaņu, ko veidoja Andrejs Movļaiko. Svarīgākais: pikseļu līmeņa apgaismojums GLSL, kur katrai gaismas avotu skaita un materiāla karodziņu kombinācijai vienreiz tiek nokompilēts savs šeiders, kas pēc tam tiek kešots; ēnu tilpumi ar Carmack’s reverse, izvēlēti shadow mapping vietā precīzu ēnu dēļ; redzamības algoritms labirintiem, kas ļāva spēlēt 100×100 labirintu 14×14 vietā, jo zīmēto objektu skaits vairs nebija atkarīgs no labirinta izmēra; un tīkla protokols virs enet bibliotēkas ar paša izdomātu sinhronizācijas metodi, penalty synchronization: dažādu spēlētāju ķermeņi uz brīdi var pārklāties, un spēki tos atgrūž vienu no otra.
C++OpenGLGLSLNetworking
- 2006–2012
whiteCryption
Programmatūras arhitekts white-box kriptogrāfijā un koda aizsardzībā (RSA, ECC, SHA, AES). Izstrādāju v5 arhitektūru, kas joprojām darbojas produkcijā ~15 gadus vēlāk, tagad kā daļa no Zimperium.
C++Cryptography - 2006
Steel Engine 📷 5
Pašam savs C++ dzinējs: ainas, kas aprakstītas konfigurācijā, prefabi ar pārdefinējamiem parametriem — ideja, ko vēlāk padarīja populāru Unity. Tas bija arī mans bakalaura darbs „Mehāniskās kustības modelēšana datorgrafikā” (Latvijas Universitāte, 2006, vadītājs Dr. Paulis Ķikusts): atsevišķi grafikas un fizikas dzinēji, kur objekts tikai apraksta, kā tas izskatās, bet dzinējs izlemj, kā to zīmēt; un cieto ķermeņu fizikas modelis, no nulles uzrakstīts 3D, ar sešām brīvības pakāpēm — cilindru metode un secīgais sadursmju algoritms, pārņemti no mana 2D kursa darba, skriptētas trajektorijas līdzās brīvai kustībai, sadursmes, kas atrisinātas pēc impulsa un enerģijas saglabāšanās likumiem, ap simts ķermeņu reāllaikā. Recenzents atzīmēja, ka kustība demo patiešām pakļaujas fizikas likumiem, kā daudzos tā laika grafikas dzinējos nebija. Pirmkods ir publisks.
C++OpenGL
- 2005–2018
muo.lv
Privāts MuOnline serveris, ko līdzdibināju un programmēju: 300–400 spēlētāju tiešsaistē dažu nedēļu laikā pēc palaišanas 2006. gadā. Es uzbūvēju visu ap spēli — PHP vietni ar spēlētāju tirgu, reitingiem, izsolēm, priekšmetu tirdzniecību un uzdevumiem, SMS maksājumus, kredītu ekonomiku, VIP serveri, publiskus banu sarakstus —, kā arī savu pretkrāpšanas sistēmu, servera tuneli, palaidēju un automātisko atjauninātāju un botu, kas vadīja notikumus spēlē.
PHPSQL
muo.lv Season 6 gados: tēlu reitingi un kas ir tiešsaistē.
- 2005
ULTRA ParaShop: mana paša CMS 📷 3
Interneta veikals paraplānu klubam — spārni, iekares sistēmas, deltaplāni, motodeltaplāni — uz mana paša dzinēja virs PHP 5 un PostgreSQL, nevis uz gatavas CMS. Katra lapa ir koks, kas glabājas datubāzē: lokācija, bloki (pa kreisi, centrā, pa labi), grupas, pagelets. Katru daļu zīmē veidne, kas arī glabājas datubāzē un tiek rediģēta administrēšanas panelī, manā paša veidņu valodā ar mainīgajiem, nosacījumiem, cikliem un ligzdotiem komponentiem. Administrators rediģē dzīvo lapu turpat uz vietas: katram blokam un grupai ir sava rīkjosla, lai pievienotu, pārvietotu, paslēptu vai dzēstu. Preces ar krāsām un modeļu tabulām, grozs ar pasūtījumiem, kas tiek nosūtīti pa e-pastu, komentāri, apmeklējumu un pārdošanas statistika, trīs valodas (RU, EN, LV), attēli datubāzē, kā arī dublēšana un atjaunošana no administrēšanas paneļa, nosūtot dampu pa e-pastu. Ap 10 000 PHP rindu. 2026. gadā es to no jauna palaidu Docker no 2005. gada novembra dublējuma, lai uzņemtu šos ekrānuzņēmumus.
PHPPostgreSQLJavaScript
Veikala sākumlapa krievu valodā, atjaunota no 2005. gada dublējuma.
- 2005
- 2004–2006
Physics 2D
Kursa darbs, kas izauga par mana bakalaura darba 3D fiziku uz Steel Engine: pašam savs fizikas dzinējs un pilnvērtīga spēle uz tā, iedvesmota no Elasto Mania un Half-Life 2. 2005. gada kursa darbs „Collision Detection” prof. Paula Ķikusta vadībā izvirzīja mērķi: simts cietu daudzstūra ķermeņu reāllaikā, kas nekad neizlien cits caur citu pat pie zema kadru ātruma. Tajā apskatīts, kā to darīja spēles — ierobežojošie taisnstūri Doom un Mario, režģa hešošana Warcraft, daudzstūri Quake un Havok —, un pievienotas manas paša metodes: cilindru metode, kas kustīgu, rotējošu ķermeni telpā „2D plus laiks” aplūko kā savītu cilindru, lai sadursmi laika solī atrastu precīzi, secīgais sadursmju noteikšanas algoritms un patvaļīga daudzstūra inerces moments.
C++STLOpenGL
No kursa darba: zvaigzne, kas kustas un griežas, zīmēta telpā „plakne plus laiks”, kļūst par savītu cilindru. Sadursmju noteikšana pārvēršas par šādu cilindru krustošanās vietu meklēšanu.
- 2004
C++ un OpenGL: Chess 3D 📷 2
Pārgāju uz C++ (ar STL olimpiāžu uzdevumi kļuva krietni vieglāki) un uz pilnvērtīgu 3D. Pirmais pasūtījuma projekts: 3D šahs ar bump mapping un atstarošanas kartēm.
C++OpenGL - 1994+ BASIC, Pascal un olimpiādes
- 2003–2007
Sistēmadministrators Progmeistars 📷 2
Paralēli pasniegšanai biju skolas sistēmadministrators: uzstādīju un uzturēju tās Linux serverus uz Gentoo un rūpējos, lai skolēnu klases datori darbotos, līdz pat paša kompilētiem kodoliem.
LinuxGentooNetworking
Konfigurēju Linux 2.6 kodolu skolas datoram, 2005. gada oktobris.
- 2003–2004
Testing Suite
Kopā ar Sergeju Kozloviču un Aleksandru Belovu, maniem ACM komandas biedriem, uzbūvējām sistēmu programmēšanas olimpiāžu rīkošanai. Sergejs uzrakstīja testēšanas kodolu: iesūtīto risinājumu rinda, dalībnieku programmas tiek palaistas ar atsevišķu lietotāju chroot vidē ar laika, atmiņas un bērnprocesu ierobežojumiem, C++ un Free Pascal kompilatori. Aleksandrs uzrakstīja pārbaudītāju spraudņus. Es izveidoju tīmekļa daļu PHP un MySQL: pieteikšanos, risinājumu iesūtīšanu, rezultātus, jautājumus žūrijai un katras olimpiādes iestatījumus, piemēram, kad dalībnieki un viesi drīkst redzēt kopvērtējumu.
PHPMySQLC++Linux - 2003
Datorprogrammu turnīrs
Uzvarēju 12. Datorprogrammu turnīrā Progmeistars (kā Andrey Ivanov), kur programmas spēlē spēli cita pret citu. Triks bija iepriekš aprēķināta 16 miljonu pozīciju tabula, saspiesta 2 MB.
PascalAlgorithms - 2003
IRC baunseris
IRCdaemon: IRC starpniekserveris un baunseris C++ valodā uz tīra WinSock, bez tīkla bibliotēkām. Savu IRC klientu pieslēdzi tam ar paroli; kad aizgāji, tas palika tavos kanālos ar prombūtnes ziņu. Vairāki lietotāji, katram savs segvārds, serveris un kanāli, administratora tiesības un atkļūdošanas režīms, kas žurnālā ierakstīja visu datplūsmu.
C++Borland C++ BuilderWinSockIRC - 2003
Mans PHP kurss
Uzrakstīju pats savu tīmekļa programmēšanas kursu PHP valodā skolai Progmeistars un pasniedzu to.
PHPMySQL - 2002–2011
Pasniedzēja darbs Progmeistars
Deviņus gadus mācīju programmēšanu skolēnu grupām lielākajā bērnu programmēšanas skolā Latvijā; izveidoju jaunu mācību programmu. Mana metode: vispirms problēma, tad rīks. Naktīs rīkoju LAN ballītes, kas pulcēja olimpiāžu bērnus, universitātes grupas, skolotājus un mūziķus.
Progmeistars, 2006: skolēns zaudēja derības savam skolotājam un norēķinājās uz tāfeles.
- 2002
Half-Life un Counter-Strike kartes 📷 10
Kartes Counter-Strike spēlei, veidotas, balstoties uz gadiem ilgu spēlēšanu: mums nepatika pusminūti skriet līdz pretiniekam tikai tāpēc, lai tur nomirtu. cs_mini ir neliela karte ar daudziem ceļiem — teroristi sāk aplenktā mājā, pretteroristi var to apiet no divām pusēm, nolaisties kanalizācijā vai uzkāpt uz jumta trīs dažādos veidos. ge_roy ir vēl mazāka, 4 pret 4.
Valve Hammer Editor - 2002
kindex.times.lv — mana pirmā vietne 📷 2
Mana pirmā vietne bezmaksas times.lv hostingā, ar roku rakstīta HTML un JavaScript: intro, par mani, CV, mana segvārda stāsts, fotogrāfijas, mans Winamp atskaņošanas saraksts, saites un viesu grāmata. Galvenā lapa bija progs — manas programmas lejupielādei: Doom RF („ietilpst vienā disketē”), Space War 2K, F(x) un divas Counter-Strike kartes. Demo, ko rakstīju tajā gadā, savā skrejošajā tekstā aicināja uz to. No tā paša laika, Delphi vidē: Ticker, metronoms manām ģitāras nodarbībām. Ekrānuzņēmumos ir 2004. gada decembra versija.
HTMLJavaScriptDelphi
kindex.times.lv, 2004. gada decembra versija.
- 2002–2006
ACM ICPC
Piecas ACM Starptautiskā studentu programmēšanas konkursa sezonas Latvijas Universitātes komandā. 2002. gadā, būdami pirmkursnieki, — Aleksandrs Belovs, Sergejs Kozlovičs un es, visi trīs no IOI 2002 — mēs ieņēmām 1. vietu universitātes atlasē, 6. vietu ceturtdaļfinālā Minskā, bet Ziemeļaustrumeiropas pusfinālā Sanktpēterburgā kļuvām par labāko komandu no Baltijas valstīm. Tieši pateicoties šim pirmā kursa rezultātam, universitātei atļāva sūtīt uz nākamo ceturtdaļfinālu četras komandas divu vietā. Vēlāk kā komanda BUGS-XP un pēc tam BUGS.NET mēs ieņēmām 3. vietu 2004. gada ceturtdaļfinālā Minskā un 5. vietu 2005. gadā.
AlgorithmsC++
Mūsu Latvijas Universitātes komanda: Aleksandrs Belovs, Sergejs Kozlovičs un es (pa labi).
- 2002–2008
Latvijas Universitāte 📷 3
Datorzinātnes Latvijas Universitātē, bakalaura un pēc tam maģistra grāds. Bakalaura darbs „Mehāniskās kustības modelēšana datorgrafikā” par manu Steel Engine iekļuva labāko desmitniekā starp 125 darbiem konkursā e-Dimensija 2006, ko rīkoja Microsoft Latvia un Ekonomikas ministrija. Video zemāk — mūsu fakultāte, modelēta manā paša dzinējā Steel Engine, ar tekstūrām no fotogrāfijām, ko tur uzņēmu pats.
C++Numerical methods
Pie tāfeles: Furjē metode, Latvijas Universitāte.
- 2002
IOI zelta medaļa
No algoritmu grāmatām un Progmeistars sponsorētās elites grupas līdz 2. vietai Latvijas olimpiādē un bronzai Baltijas olimpiādē, pēc tam zelts Starptautiskajā informātikas olimpiādē Jonginā, Korejā — 18. vieta kopvērtējumā, viena no 23 zelta medaļām (protokolā Andrejs Ivanovs, Latvija). Latvijas olimpiādē es vienīgais ieguvu 100 punktus divos uzdevumos, viens no tiem — „Operācija @”, iekavu izvietošana 250 ciparu izteiksmē ar neasociatīvu operāciju, un tas man atnesa Progmeistars speciālbalvu par risinājumu kvalitāti. Par olimpiādēm saņēmu apbalvojumus no Latvijas valdības un Rīgas domes.
AlgorithmsPascal
- 2001
Pinball: vektoru fizika 📷 2
Gribēju trešo Space War bez tā sadursmju problēmām, tāpēc ķēros pie vektoru fizikas. Katra bumba ir rotējošs daudzstūris, sienas ir patvaļīgi nogriežņi, un solis no vecās pozīcijas uz jauno tiek krustots ar katru sienu un tuvumā esošo bumbu, tāpēc ātra bumba nevar izlidot cauri. Iespiešanās tiek izstumta pa normāli, kas svērta ar masām, atsitiens saglabā 98% ātruma un pievieno griešanos, un bumbas var pievilkt cita citu kā planētas. Free Pascal un režģis pār pasauli to paātrināja no apmēram 39 līdz vairāk nekā 200 kadriem sekundē. Šeit sākās ceļš uz manu fizikas kursa darbu, Steel Engine un maģistra darbu.
Free PascalPhysics
Pinball, 2001. gada septembris: bumbas krājas kaudzē, līnija katrā no tām rāda tās rotāciju.
- 2000–2003
Lamera tests
Humoristisks tests, kas pasaka, kas tu esi attiecībās ar datoriem: iesācējs, lamers, lietotājs, hakeris, programmētājs vai spēlētājs. Katra atbilde pieskaita punktus visiem sešiem tipiem, un uzvar tie tipi, kas ir vistuvāk labākajam rezultātam. Vispirms kā DOS programma 2000. gada decembrī, pēc tam 2003. gadā kā vietne PHP un MySQL ar reģistrāciju pēc segvārda un atbilžu statistiku.
Turbo PascalPHPMySQL - 2001
Doom RF 📷 2
Uztaisīju divās nedēļās kā dzimšanas dienas dāvanu klasesbiedram, pēc tam gadu slīpēju: 4 spēlētāji pie viena datora plus 8 boti, kas pārvietojas pa kontrolpunktiem, līmeņu redaktors un banku pārslēgšanas triks, lai zīmētu 640×480 ārpus 64 KB video loga. 2026. gadā pārnesu uz 64 bitiem un SDL2, pievienoju skaņu un izlaidu kā pilnvērtīgu laidienu.
Borland PascalFree PascalSDL2
- 2000
Nauda un vara
Stratēģijas spēle Heroes of Might and Magic garā, kas apvieno gājienu un reāllaika kaujas: nodokļi dod naudu, armija dod varu, burvestības dod maģiju, un dizaina dokumentā, datētā ar 2000. gada jūliju, jau bija vienību raksturlielumi, morāles formula un prasmes, piemēram, telepātija un mirušo augšāmcelšana. Komanda saucās IVAvision: kodu rakstījām mēs ar Sergeju Trasko, grafiku zīmēja mans draugs Pāvels Burakovs. Pati spēle tā arī netika pabeigta, bet tās daļas ir saglabājušās.
Turbo PascalVGA - 2000
Krievu Pascal
Translators, kas ļāva rakstīt Pascal krieviski, — iespēja sākt tiem, kuri nezināja angļu valodu. Atslēgvārdi nāca no rediģējamas vārdnīcas, tāpēc derētu jebkura valoda; krievu identifikatori tika automātiski transliterēti; << un >> aizstāja begin un end, un bija iekļautie makro. Tas pieslēdzās Borland Pascal IDE kā karstais taustiņš izvēlnē Tools: Shift+F9 pārtulkoja failu, nokompilēja to ar paša Borland kompilatoru un palaida. Neliela rezidenta programma izcēla krievu atslēgvārdus tieši Borland redaktorā.
PascalBorland Pascal - 2000
Space War 2K: viens dzinējs, trīs spēles 📷 4
Iedvesmojies no tā, kā darbojās Half-Life modi, es uzbūvēju vienu dzinēju un vienu izpildāmo failu, kas darbināja trīs dažādas spēles — kosmosa kuģu kaujas, tankus ar skatu no augšas GTA garā un Worms līdzīgu artilērijas spēli —, tikai nomainot resursu mapes un konfigurācijas noteikumus. Galvenajā izvēlnē gāja 3ds Max renderēts video, atskaņots ar manu paša delta kadru formātu un BMP ielādētāju, Pascal valodā, kurai video atbalsta nebija vispār.
PascalEngineVideo codec - 2000
Lamer-Killer: 3D bez dzinēja
Šāvējspēle ar skatu no augšas, ko sākām kopā ar klasesbiedru, pārvērtās par manu paša programmatisko 3D renderētāju — bez dzinēja, bez GPU, katrs pikselis aprēķināts uz CPU ar projekcijas formulu, ko izvedu pats, gadiem pirms uzzināju, kā to darīja Doom. Līmeņu redaktors glabāja karti kā izejamības režģi, un optimizētājs garās sienas apvienoja atsevišķos daudzstūros.
PascalSoftware rendering - 1998–2002
Demoscēna
Nelielas programmas, kas vienkārši uzzīmē kaut ko skaistu, — no punktiem uz sfēras 1998. gadā līdz uguns intro ar skrejošu tekstu 2002. gadā. Lielākā daļa ir daži desmiti rindu, kas raksta tieši video atmiņā.
PascalFree PascalVGA
- 1998–2002
DiVision projekti
Viss, kas nebija spēles. Mūsu skolā katru ziemu notika programmēšanas konkurss, un dažus gadus tas bija mans galvenais iemesls rakstīt kodu. 1998. gada janvārī es atnesu četras programmas un saņēmu balvu par oriģinālāko; 1999. gada konkursam man bija desmit; 2001. gadā ieguvu pirmo vietu trijās kategorijās un skatītāju simpātiju balvu. Visvairāk es taisīju to, kas bija vajadzīgs man pašam: failu pārvaldnieku, čaulu, vārdu trenažieri, metronomu.
Turbo PascalFree PascalDelphi
- 1998–2001
DiVision spēles
Mazākās spēles, ko taisīju starp lielajām (Tank, Space War, Lamer-Killer, Doom RF), Turbo Pascal un vēlāk Free Pascal vidē. Lielākā daļa no tām rakstīta skolas programmēšanas konkursam, un visas joprojām darbojas DOSBox.
Turbo PascalBGIText mode
- 1999
Space War
Mana pirmā labā spēle: divu kuģu duelis, pagriešana ar sinusu un kosinusu, līdz kurai nonācu pats, kuģi, kas taranējot deformējas, vektoru kuģu redaktors, ducis ieroču, misijas un paša rakstīti BMP/WAV ielādētāji.
PascalBGIVector graphics - 1998
Tank — mans pirmais pabeigtais produkts
Mana pirmā lielā programma, ko es novedu no idejas līdz gatavai spēlei: tanku kauja Pascal valodā, zīmēta teksta režīmā uz 80×50 režģa, ar līmeņiem, ieročiem, izvēlni un titulekrānu. Ap tūkstoti rindu, kas no 1998. gada marta līdz maijam izauga līdz versijai 1.60; tā paša gada rudenī sekoja Tank 2 jau ar grafiku.
Turbo PascalText mode - 1997
Super Amik 📷 9
Izdomāju platformeri uz papīra, līmeni pa līmenim skolas burtnīcā: spēļu dizains vēl pirms tam, kad bija dators, uz kura to uzbūvēt.
Paper - 1996
Pascal
Pārgāju uz Pascal — visu olimpiāžu un manu pirmo īsto spēļu valodu. Nodarbībās mēs gandrīz sacentāmies, kuram uzrakstīts vairāk programmu: katram bija sava diskete, „man ir simts programmu” — „bet man simt divdesmit”. Programmas bija pavisam vienkāršas, piemēram, ievadi divus skaitļus un izvadi to summu, taču katra nodarbība kaut ko pievienoja. Pēc tam man sagribējās uztaisīt pašam savu lielu spēli, un es sāku Tank.
Pascal - 1994
Pirmās programmas BASIC valodā
Sāku programmēt BASIC valodā uz padomju mājas datora BK-0010, pēc tam QBasic uz PC.
BASICBK-0010QBasic