Céges karácsony

Nem titok, hogy az IT területen mozgó emberek a legtöbb céges eseményt kicsit másképp élik meg, mint más területen dolgozó kollégáik. Nem kivétel ez alól a céges karácsony sem. Az általános IT-s karácsony élményt vau tökéletesen összefoglalta, a céges karácsonyi buli című írásában.

Mivel abban a szerencsés helyzetben vagyunk, hogy nálunk szinte mindenki az IT területen dolgozik, adott volt a lehetőség, hogy olyan karácsonyi bulit szervezzünk, ami nekünk IT-soknak tetszik. A  játszunk számítógépes játékkal alapvetést nem akartam én kijátszani, mégiscsak játékfejlesztésből kerültem a vállalati szektorba, és a világért sem szerettem volna a saját érdeklődési körömet ráerőltetni másokra. Szerencsére más irányból is felmerült ez az ötlet, és ha már így alakult nem is volt kérdés, hogy belevágjunk a projektbe.

A döntés megszületése után az első problémát maga a játék kiválasztása jelentette. Skill-t követelő  játék nem nagyon jött szóba, hiszen mind játéktapasztalatban, mind korban nagyon nagy volt a szórás.

Végül a választás a Bomberman ’93 nevű klasszikusra esett. Az irányítása egyszerű, bármin elfut, és lehet egyszerre 4-en játszani.

Hogy senki ne tegyen jelentős előnyre szert, magát a játékot egészen a kezdésig titokban tartottuk. A játék, irányítás bemutatására készült egy rövid prezetnáció, de aki ezt mellőzni szeretné, használhatja az eredeti kézikönyvet is:

A fordulókat kétfős csapatokkal játszottuk, melyek kialakítása során az volt a feltétel, hogy a csapattársnak egy másik területről kell jönnie. Ez okozott némi kavarodást, de abban bíztam, hogy ezáltal nem lesznek túl erős csapatok, hiszen a csapattársak kevésbé ismerik egymást, és a cégen belül is felpezsdül a területek közötti kommunikáció. A csapatok kialakítására egy egyszerű Google Sheets-et használtam. A szükséges ellenőrzési logikát (validateTeamData) pedig megírtam  gscript-ben. Nem lett hibátlan, de a célnak tökéletesen megfelelt.

Mivel a játék turbografx-16-on jelent meg, így a választott emulátor a mednafen lett, retroarch alól futtatva. Még meg kellett oldani az irányítást, amire eredetileg usb-s nes controllereket szerettem volna beszerezni, de a létszámra, és az idő rövidségére való tekintettel ezt végül elvetettem. Maradt az 1 gép, 1 monitor, 2 billentyűzet felállás, billentyűzetenként két játékossal.

A billentyűzetek controllerként viselkedjenek két dologra volt szükség: a vJoy-ra ami mint neve is mutatja virtuális joystick vezérlőket gyárt, és a Virtual Controller-re, amivel a virtuális joystick-okat a billentyűzetek bemenetével lehet etetni.

Szerencsére az egyszerű vezérlés miatt (4 irány 1 gomb) a vJoy beállítások nem lettek valami túl bonyolultak:

A Virtual Controller kapcsán már kicsit összetettebb a dolog:

  • A billentyűzet kezelést át kell állítani Raw módra, hogy a 2 billentyűzet ne akadjon össze (Options – IO Devices – Input – Keyboard Settings – API: RAW Input)
  • Engedélyezni kell a vJoy támogatást, hogy a cél eszköz lehessen a vJoy (Options – IO Devices – Output – vJoy Settings – Enabled: true)
  • Meg kell csinálni a mapping-eket a Controls menüpont alatt, a Quick Binding menü segítségével. Ez nekem nem működött tökéletesen, de jó alapot adott, hogy mit is kellene összerakni kézzel. A végleges fájl letölthető innen: bomberman.bnd

A kész beállítások tesztelhetők a Monitor vJoy alkalmazással:

Sajnos a RetroArch konfigurálás nem volt olyan egyszerű mint elsőre gondotlam, ugyanis else if van a retroarch binding kódjában. Tehát ha kapott billentyűzet inputot, akkor már nem nézte a joystick inputot. A megoldás végülis az lett, hogy készítettem egy mapping-et a Virtual Controllerben Xbox 360 controllerhez vJoy-ra, ezzel már tudtam menteni a vJoy beállításokat a RetroArch-ba. Még 3x megismételni a beállítást nem sok kedvem volt, ezért a többi játékos esetén már kézzel szerkesztettem a config-ot a retroarch.cfg-be. Ezen felül törölni kellett minden bind-ot (az F1 és az ENTER kivételével),  hogy a véletlen mellégépelésekből ne legyen probléma.

A Windows kapcsán a szokásos “gamer” beálllításokat kellett megtenni:

  • Power Options – High performance profile
  • Power Options – Ne kapcsolja ki a gépet / monitort / merevlemezt
  • Intel HD – Disable Hotkeys
  • Disable Sticky keys

A csapatok állását a challonge.com-on vezettem, kicsit aggódtam is, mi lesz ha lehal a szerver, de szerencsére nem halt le.

A döntőt streamelni szerettük volna kommentátorokkal, de végül ez technikai okok miatt nem sikerült.

Persze mint minden ilyen rendezvénynél, itt is voltak technikai problémák, és olyan dolgok, amiket lehetett volna jobban csinálni. Iyenek pl.:

  • A billentyűzetekre lehetett volna nyomtatni színes matricákat, amik mutatják, hogy melyik helyről melyik játékost irányítjuk
  • Jól jött volna egy a csapatokról, és csapattagorkról készített fényképes tabló, hogy ha épp kerestünk egy csapatot vagy tagjait, akkor gyorsabban megtaláljuk
  • Streamelni vagy dedikált capture card-al, vagy arra alkalmas hw támogatással lehet (ShadowPlay / ReLive). Az OBS software streaming használhatatlan (belassult / begagyott tőle az emulátor)
  • Mindent a saját letesztelt infrastruktúrával kell megoldani.  Pl. építettem az iroda wifi-jére, de arra nem számítottam, hogy az ipad amin a pontokat rögzítettem nem fogja túlzottan kedvelni azt.
  • A windows update-t is érdemes kikapcsolni, mert az egyik gép az esemény előtt 3 órával internet kapcsolat nélkül rájött, hogy 160 frissítést fel szeretne telepíteni,  amibe aztán belebukott, aztán megpróbálta a módosításokat visszavonni…

Az esemény a malőrök ellenére úgy gondolom jól sikerült, legalábbis elég sok pozitív visszajelzés érkezett. Örültem, hogy olyan menő kollégáim vannak, akik kortól / nemtől függetlenül ezt az egészet bevállalták. Szívbemarkoló volt a pillanat, mikor még a szabad játék alatt minden gép előtt ültek,  és akik nem fértek oda a váluk fölött nézték, hogy ki hogy játszik, elemezték hogy mi a jó taktika. Tisztára mint egy retro számítógépes klubban.

Már csak ezért is megérte. No meg az érmekért…

(Mellesleg az éremmel sokat szívtam, mert a rajta látható képet nem volt egyszerű megtalálni… Az eredetit végül itt leltem fel, amiről még az izzadságcsepepket is le kellett varázsolni 🙂 )

Új mame, régi frontend

A mame-t minden játéktermi gépen edződött fiatal ismeri (aki valamiért mégsem, gyorsan kezdjen ismerkedni vele :). Zseniális emulátor, de a fejlesztők a minél tökéletesebb emuláción kívül nem sok mindennel foglalkoznak (szerencsére), ezért sokan gyártottak hozzá különböző front-end-eket.

Ellenben az utóbbi időben az újabb mame verziókkal valahogy semmilyen front-end nem akart működni. Ennek az az oka, hogy a mame v.162 óta megváltozott a generált gamelist.xml fájl formátuma, aminek tartalmára a front-end-ek erősen támaszkodtak. A változás miatt az újabb mame verzió által generált xml fájlon már nem nagyon igazodnak ki.

Erre jelenthet megoldást az alábbi parancs:

</pre>
sed -e "s/machine+/game+/g" -e "s/<!ELEMENT machine/<!ELEMENT game/g" -e "s/<!ATTLIST machine/<!ATTLIST game/g" -e "s/<machine/<game/g" -e "s/<\/machine/<\/game/g" < gamelist.xml > gamelist_of.xml
<pre>

Ez az új formátumú mame gamelist.xml-t konvertálja át a régi formátumra.

A problémáról az alábbi linken írnak a Mala front-end kapcsán, de ugyanúgy érinti a Maximus Arcade felhasználókat is:

http://forum.arcadecontrols.com/index.php/topic,145865.0.html

 

 

RicmoTech LoadCell mod

Az ember általában ragaszkodik a jól megszokott, és bevált dolgokhoz. Én sem nagyon mertem módosítani a jól bevált Logitech G27-en. Persze, ahhoz, hogy elégedett legyek, szükség volt még pár dologra (rFactor2, PlaySeat, TrackIR), de utána úgy éreztem, hogy tényleg nincs tovább, olyan mintha egy autóban ülnék, a szimulátorok végre elérték azt a szintet, aminél több már nekem nem kell.

Aztán egy gyenge pillanatomban, mégiscsak elszántam magam egy loadcell modra, mert mindenki azt mondta, az a G27 legnagyobb problémája, hogy nem loadcell alapú a fék.

De mire is jó a loadcell? A probléma, hogy a G27-ben, minden pedált ugyanolyan módon alakítottak ki. A pedál benyomás mértékét továbbküldik a szoftvernek, és kész. Ez jó is a kuplung, és a gázpedál esetében, mert azok tényleg így működnek, de sajnálatos módon a fékpedálok esetén már nem.

Aki látott már/használt tárcsaféket, pontosan tudja, hogy a pedált csak addig lehet lenyomni, amíg a fékpofák hozzá nem érnek a féktárcsához. Onnantól kezdve már a lenyomás ereje számít, nem “esik” beljebb a pedál, és legfőképpen nem a pedál pozíció határozza meg a fékezés mértékét.

A LoadCell-es pedál tehát nem esik be. Van egy pici holtjátéka (hogy szimulálja amíg a fékpofa a féktárcsáig elér), de utána megáll, és a lenyomás mértéke számít. Ráadásul minél jobban szeretnénk fékezni, annál erősebben kell nyomni a pedált, míg a hagyományos esetben csak beljebb kell nyomni. Ez így leírva nem tűnik olyan nagy dolognak, de valójában hatalmas különbség.

Egy kis csavarozás, és farigcsálás után a helyére került a LoadCell, és bár működött, nagyon furcsának éreztem. Annyira, hogy el is ment a kedvem a vezetéstől, és bár nem jellemző rám picit szomorú voltam. Be se lehet nyomni a fékpedált, minden fékezési pontom, és amit eddig gyakoroltam kuka, lehet vissza kellene csinálni az egészet, és a többi.

Ma aztán nem bírtam tovább, és a már jól bevált pályán, a jól bevált autóval mentem pár kört. A hatás lehengerlő volt. Sokkal jobban éreztem az autót, a féket, egyszer sem blokkolt egyik kerék sem, iszonyú durván lehet csapatni. Az már csak a jéghegy csúcsa, hogy a második körnél már 1.3 másodperccel gyorsabb voltam az eddigi leggyorsabb körömnél (és azért nem kevés kört mentem már). Szóval a loadcell bevált, mindenkinek bátran ajánlom.

Van sokféle, az enyém innen jött.

 

Egér optimalizálás játékokhoz

Az elmúlt időben volt szerencsém mindenféle játékkal játszani, és kezdett kicsit fusztrálni, hogy az egerem nem mindig úgy viselkedik mint ahogy szeretném. Először azt hittem, hogy én vagyok a béna, aztán azt, hogy az egérrel van probléma, és végül rájöttem, hogy mindennek a fejlődés az oka. Történt ugyanis, hogy a felhasználók nagy részének kényelmetlen a pontos, precíz egér. A microsoft-nak pedig fontosak a felhasználók, így történhetett az, hogy mindenféle okos algoritmusokat raktak az egér és a pointert mozgató réteg közé. Ennek viszont az lett az eredménye, hogy a precíz egérhasználat megszűnt.

Szerencsére elég sokan játszanak mindenféle játékkal, és van köztük olyan, aki ért is ahhoz, amit csinál, így nem kellett sokat keresgélni ahhoz, hogy ráleljek erre a nagyszerű leírásra, amiben szépen elmagyarázzák, hogy miről is van szó:

CS:S Mouse Optimization Guide

Pár programról esik szó még a cikkben, ezek:

MarkC Windows 8.1 + 8 + 7 + Vista + XP Mouse Acceleration Fix Builder

Mouse Rate Checker

Mouse Movement Recorder

Azt hiszem minden gépen meg fogom tenni ezeket a beállításokat, mert sokkal pontosabb lett az egér, és ez nem csak a játékok alatt jön jól, hanem sok más területen is (pl. zeneírás, képszerkesztés, stb).

Régi játékok – Unreal Tournament (GOG)

Nem vagyok egy történész alkat, de ha számítógépes játékokról van szó, egyre inkább tekintek visszafelé az időben, semmint előre. Most is vannak kiváló játékok (új xcom, új hitman, stb.). De a régi játékokon azt érzem, hogy lelkes fejlesztők készítették, akik azt szerették volna látni, hogy az emberek arcára kiül a mosoly, amikor a játékukról beszélnek. És ez érződik a terméken, hiába voltak technológiai korlátok, sokkal kevésbé elérhető tudás, vagy nehezebben használható eszközök.

Manapság már minden adott, és mégsem sikerül megismételni (vagy csak ritkán) a régi klasszikusokat, ha pedig igen, azok az idő törtrésze alatt feledésbe merülnek.

Sok dologra lehet ezt fogni, de amit mint felhasználó azonnal érzékelünk egy régi játék kapcsán, hogy az akkori játékok mélyebbek, komplexebbek voltak. Sokkal több mondanivalójuk volt, mint a mostani játékoknak. Ugyanakkor régi játékokkal játszani problémás, és itt nem csak a grafikára gondolok (ami csak egy interfész, és nem összekeverendő magával a játékkal), hanem a játékok indítására, irányítására, kompatibilitási problémákra.

Szerencsére a GOG és a dosbox sokat tett az ügyért. Részben ezért is született meg a SyncToCloud, hogy tovább egyszerűsítse ezt a dolgot.

A régi windows-os játékok cpu pörgetéses hibájáról már írtam, most egy nagy klasszikus, az unreal tournament került sorra. Ugyanis a játék zsenialitásából mit sem vesztett az évek során, viszont a videókártya meghajtók átlépték a játék által használt (és akkoriban még modernnek számító) dx és opengl verziókat. A laptopomon már felbontást sem lehetett állítani, és nem lehetett megértetni vele, hogy a másik videókártyát kellene használni, nem azt ami a software renderre van…

Szerencsére a rajongók készítettek olyan render engine-ket is a játékhoz, amivel a modern kártyákon is működik. Elég sokat kerestem, gondoltam megőrzöm az utókor számára.

Open GL driver

DirectX driver (ha az openGL verzió nem menne)

Telepítés:

Ki kell tömöríteni a zip fájl tartalmát a játék könyvtárán belül a /System könyvtár alá

A játék beállítások között a renderer-nél meg kell nyomni a change gombot, aminek hatására a játék bezáródik és feljön egy Windows ablak

Ott kell a show all mode, és ott választható az OpenGl, ezután már csak a next gombot kell nyomogatni és végül a Run-t…

Diablo 3

Nem hittem volna, hogy valaha ezt fogom mondani (kiálltam érte, védtem), de ha valaki azt tervezi, hogy diablo 3-at vesz, írja inkább be a böngészőjébe:

http://error37.com

Olcsóbb, az élmény pedig ugyanaz.

A blizzard meg egy szánalom. Komolyan.