Great Run

Sziasztok!

Mivel rengeteg szabadidőm van – ja nem, hanem mert imádom a kislányom :D - készítettem egy játékot pici gyerkőcöknek. Nagyon könnyen kezelhető, mindössze egy gombot kell nyomogatni, nincs benne semmi erőszakos dolog, szerintem kb. 3 éves kortól ajánlott. Ezt szeretném veletek megosztani, használjátok egészséggel, open source, free az egész projekt ;)

A játék a Dóra a felfedező mese zenéit és képi megjelenését használja.
Íme, néhány screenshot a játékból:

 

Itt lehet vele online játszani: https://robertgirhiny.com/projects/great-run
Innen pedig letölthető windowsra (.exe): https://robertgirhiny.com/projects/great-run/great_run.zip
A github repót itt találjátok: https://github.com/robcaa/great-run

 

És ezzel el is értünk a technikai oldalhoz. Programozói szemmel, ami érdekes lehet az a használt technológiák listája. Íme:

  • TypeScript
  • NodeJS
  • Webpack
  • Electron
  • Phaser

Továbbá egy starter project is felhasználásra került, ami gyakorlatilag mindent az ember keze alá dolgoz. A starter projektet repója itt nézhető meg: https://github.com/rroylance/phaser-npm-webpack-typescript-starter-project

 

A játékot újrafordítani a következő parancsokkal lehet (nyilván ehhez nem árt, ha a gépen telepítve van a nodeJS és a repó klónozása után kiadtátok a npm install parancsot):

  • Fejlesztői szerver indítása: npm run server:dev
  • Assets osztály generálása (ez akkor kell ha egy új asset kerül hozzáadásra): npm run assets
  • Release buildelés: npm run build:dist
  • Electronnal való buildelés 32 bites windows rendszerre: npm run electron:pack:dist -- --platform win32 --arch=ia32

Ezek után bárki könnyen cserélheti a textúrákat illetve a hangokat, hogy akár másik kedvenc mesehőssel játszhasson a gyerkőce.

Let there be a cool variable (JS)

 

Nemrégiben tettem fel facebookon a találós kérdést, hogy mi lesz a végeredménye ennek a kódnak:

for (var i=0; i < 3; i++) {
setTimeout(function() { console.log(i); }, 100 * i);
}

Érkezett helyes megoldás azonban a "miért" nem teljesen pontos. Szóval öntsünk tiszta vizet a pohárba.

A helyes válasz "természetesen" az hogy 3 3 3. Pedig sokan a 0 1 2 -őt várnák megoldásnak. Nem csoda, ez az egyik sarkalatos pontja a JavaScript nyelvnek a

...

Ugrás a teljes cikkre Ugrás a menüpontra

WebGL teszt (diplomamunkám átirata webre)

A WebGL megjelenésével és azzal, hogy egyre több böngésző kezdte el támogatni ezt a technológiát, lehetőségem nyílt OpenGL tudásomat kipróbálni a webes környezetben. Ezért arra gondoltam, hogy a Diplomamunkámat továbbfejlesztem és átültetem webes környezetbe. Így született meg ez a program, amely a three.js keretrendszert is használja. A three.js keretrendszer megkönnyíti a WebGL beüzemelését és további hasznos ré

...

Ugrás a teljes cikkre Ugrás a menüpontra

Saját tartalomkezelő rendszerem

A weboldalkészítés és a webes technológiák egyre jobban elkezdtek érdekelni, így magától értetődő volt, hogy készítek egy saját CMS rendszert. A rendszer megtervezésénél a legfontosabb szempont az volt, hogy felhasználóbarát legyen, hogy bárki tudja használni. Szerintem ezt sikerült megvalósítanom, mivel a kezelőfelület roppant egyszerű és az úgynevezett Interaktív Segéd (Copyright :) is nagyban megkönnyíti a rends

...

Ugrás a teljes cikkre Ugrás a menüpontra

Weboldalak, amiket én készítettem

A lenti listában a weboldalak design tervezetét és az elkészült weboldalról egy screenshot is lehet látni az oldalra mutató linkkel. A design és a végleges verzió közötti eltérést az utólagos egyeztetések/variálások okozzák. Ha szükséges pixelpontosan is el tudom készíteni a design tervezetet.

Minden weboldal reszponzív, mobilbarát.

 

 

Baktalórántházi Reguly Antal Általános Iskola weboldala

 

 

A rák ellen, az emberért, a holnapért! Társadalmi alapítvány weboldala

 

 

Móricz Zsigmond Magyar Angol Kéttannyelvű Általános Iskola weboldala

 

 

 

Ugrás a teljes cikkre Ugrás a menüpontra

Űrhajós CreateJS Game

A CreateJS szintén egy HTML5/javascript keretrendszer amit egy játék elkészítésének erejéig leteszteltem. A játékot teljes mértékben órán a diákok előtt készítettem. Az oktatásba lehetőség szerint mindig belecsempésztem a legújabb technológiákat trendeket, hogy a diákok naprakész tudást szerezzenek. Amikor ezt a játékot írtuk a HTML5 akkor kezdett kibontakozni.

 

 

Játék tulajdonságai:

  • 100 pálya
  • Egyedi ellen
    ...
Ugrás a teljes cikkre Ugrás a menüpontra

Zombie Strike Phaser Game

A flashes Zombie Strike játék újragondolva HTML5/JavaScript nyelven phaser keretrendszerrel megvalósítva. Maga a phaser keretrendszer egy zseniálisan egyszerűen használható grafikus 2D engine. Rengeteg tutorial és segítség található hozzá, csak ajánlani tudom. Rengeteg komoly dolgot levesz az ember válláról és így már csak magára a játékfejlesztésre kell koncentrálni.

A játékmenet igazából még nincs leprogramozva. Az

...

Ugrás a teljes cikkre Ugrás a menüpontra

HTML5 snake

Az első HTML5-ös Canvas játék alkalmazásom. Elkészítésekor nem akartam semmilyen keretrendszert használni, még jquery-t sem. Tisztán javascriptben íródott. Amennyire lehetett javascriptben annyira OOP-ben van felépítve. Maga a játékterület reszponzívan alkalmazkodik a böngésző méretéhez átméretezéskor is.

 

Játékmódok:

  • egy játékos (irányítás: fel, le, balra, jobbra nyilak)
  • két játékos (2. játékos irányít
    ...
Ugrás a teljes cikkre Ugrás a menüpontra

Zombie Strike Flash Game

A játék egy volt CounterStrike 1.6-os zombis szerverünk népszerűsítésére készült. Ezen a szerveren teljesen saját készítésű pluginok futottak.

Sajnos mire a játék elkészült, addigra a flash "kiment a divatból". Mindenesetre az Actionscript 3 nyelv elsajátítása hasznos tudással gyarapított, amit a html5 +javascriptben tovább lehet vinni.

A cikk végén a játékot ki is lehet próbálni, ha a böngésző még nem tiltja te

...

Ugrás a teljes cikkre Ugrás a menüpontra

Air Traffic Control (ATC) Simulator

Ez egy igazi "success story", amit most elmesélek.

Az egész azzal kezdődött, hogy hobbiból fejlesztettem egy grafikus engine-t, amiről itt olvashattok bővebben. Ahogy haladtam előre a fejlesztéssel, mindig készítettem videókat arról, hogy hol tartok és azokat feltöltöttem youtubra.

Aztán kaptam egy emailt valami Brambilla nevű embertől. Mondom magamban egy újabb spam levél, de minő szerencse, mielőtt beraktam volna a kukába,

...

Ugrás a teljes cikkre Ugrás a menüpontra

Rantanplan Graphics Library

Saját 3D enginem Delphi nyelven. Maga a grafikus engine fejlesztés régóta érdekel, mert tele van komoly kihívásokkal. Egy engine készítése során az ember mindig küzd az FPS értékkel, hogy szinten tartsa, ugyanakkor a látvány minőségére is ügyelni kell. Az engine nulláról lett felépítve az OpenGL api-t használva nincsenek egyéb keretrendszerek, teljesen saját kezű munka az utolsó háromszögig. Természetesen OOP paradigma mentén épül föl.

Talán ez az egyik legnagyobb projektem. Csak a gui kezelésére szolgáló RGLGUI unit 3000 sorból áll és ez csak egy a sok unit-ból amit az engine használ. 

Ezt a grafikus könyvtárat több éven át készítettem hobbiból a szabadidőmben, de azóta már leálltam a fejlesztésével, mivel most már inkább webes és mobil platformokra koncentrálok.

 

A grafikus engine tulajdonságai

  • Saját 3d modellek kezelése
  • LOD
  • Terrain, shaderrel textúrázva
  • Skybox, Skydome és társai
  • Napszak rendszer (nappal / éjszaka csillagokkal ) égbolt színezéssel
  • Időjárás rendszer (3D villám, eső, hó)
  • Lensflare effekt
  • 3d felhők
  • Shader Pipline (Depth Of Field (DOF), Ambient Occlusion, Bloom, Brightness/Contrast)
  • material editor
  • reflected, refracted water shader
  • saját GUI (ablakok, panelek, feliratok, gombok, csúszkák, progress bar)

 

 A demó program:

 

 

Ugrás a teljes cikkre Ugrás a menüpontra

Saját Level Of Detail (LOD) algoritmus

A Sutherland Hodgman poligonvágó algoritmusnál már beszéltem arról, hogy milyen fontos a poligonok számát redukálni a 3d grafikában. A vágásuk az egyik lehetőség, a másik módszer, ami a látható poligonokra vonatkozik a Level of Deatil technika, röviden LOD. A LOD algoritmusok segítségével el tudjuk azt érni, hogy a nézőponttol távolabb lévő objektumok poligonjainak számát csökkentsük anélkül hogy érdemben romlana az

...

Ugrás a teljes cikkre Ugrás a menüpontra

Winsee a mozaik képnézegető

Történet: Szükségem volt egy olyan képnézegetőre ami mozaik nézetet is tud, mivel így könnyen megállapítható egy textúráról, hogy megfelelően illeszkedik-e a szélein. Így hát írtam egy saját képnézegető programot, amibe aztán egyre több funkciót pakoltam bele. Elég régi, 2006-os projectem volt.

 

A képnézegető főbb tulajdonságai:

  • Képek megjelenítése több módban (méretarányos nagítás, nagyítás, mozaik)
    ...
Ugrás a teljes cikkre Ugrás a menüpontra

Sutherland Hodgman vágóalgoritmus implementációja Delphi nyelven

A poligonok nagyon fontos szerepet játszanak a számítógépes grafikában. Így a velük kapcsolatos műveletek is fontosak. Az egyik ilyen megoldandó probléma a poligonok vágása úgy, hogy a poligon ne essen szét. Hiszen a vágóélekkel új élek kerülnek a poligonba és nem mindegy, hogy azt milyen sorrendben jelenítjük meg. Rossz sorrend esetén kicsavarodhat a poligon.

Hol lehet hasznos? Gondoljunk csak bele, egy számítógépes já

...

Ugrás a teljes cikkre Ugrás a menüpontra

Kedves látogató!

Ezalatt a menüpont alatt találod az eddigi megírt fontosabb programjaimat. Nagyrészük hobbiból készült el, némelyiket 15-16 éves fejjel készítettem, akadnak közöttük egyszerűek és öszetettek is. Végignézve valószínűleg azt fogod leszögezni, hogy ez az ember a számítógépes grafika iránt érdeklődik a legjobban, mivel elég sok játékprogrammal találkozhatsz.

Jó csemegézést a kódokhoz.

 

 

H
...

Ugrás a teljes cikkre Ugrás a menüpontra

Felelések időpontja SZF21

Hétfő (április 11) Szerda (április 13) Péntek (április 15)
Márton Norbert 2
Bucskó Andrea 12
Kozma Krisztián 16
Szabó Levente 7
Tóth Norbert 15
Lukovics Georgina 17
Csipkés Gergő 6
Csepei Zoltán 14
Ábrók Csaba 3
Kantár Csaba 1
Kecskés József Ákos 13
Bíró Máté 4
Nagy Lajos 10
Kovács Roland 18
Plank Roland 5
Filep Zsolt 11
Ugrás a teljes cikkre Ugrás a menüpontra
2019 © Robert Girhiny