MMO-k és az Ő addonjaik

Már az idejét sem tudom mikor kezdtem el foglalkozni az MMORPG kel, de azóta rengeteget tanultam róluk. Mondhatom szerencsémre.
Jelenlegi írásomban nem a játékokról, hanem a hozzájuk tartozó addonokról szeretnék pár szót szólni. Eléggé sok MMO val volt már dolgom az elmúlt években, ezek közül természetesen mi lehetne az, ami a legtöbb időmet elvette és a mai napig is szép emlékeket társítok hozzá? (nem, nem a Hello Kitty Online) Természetesen a World Of Warcraft. Eme nagyszerű játék volt az első az életembe, Ő volt, aki behúzott az MMO-k, a Raidek, a BG-k világába, és Ő volt az, aki megismertette velem az Addonok-at is.

Azt hiszem mondhatom azt, hogy a WoW volt az alapozó, hisz legyen szó bármilyen MMO ról, az addon rendszer szinte teljesen ugyan az, mint a WoW -é. Ugyan az a scriptnyelv, ugyan azok a függvények, ugyan az a felépítés, így nem lenne csoda, ha az addonok minden ilyen stílusú játékban gomba mód szaporodnának, de ellenben az elvárással, a mai napig a WoW az, aki hatalmas addon adatbázissal rendelkezik, míg a többiek több ezerrel szorulnak mögé!

Egy nagyon hasznos oldal a Curse.com, ami az általam ismert legjobb, legigényesebb, legjobban használható és legnagyobb addon adatbázis, a WoW -nak 5.001, a 2. helyezett Warhammer Online nak pedig 199 addonja van!

A mostani addon fabrikálást egy régi WoW os addonommal fogom bemutatni, amit annak idején még drága barátom Taszi unszolására csináltam a Burning Crusade idején (de régen is volt … :))
Azóta sok víz folyt le a Dunán, de remélem még ma is működik.

Az addon neve: CritKing (WoW link: http://www.curse.com/addons/wow/crtkng, Rift link: http://www.curse.com/addons/rift/riftcritking)

Az alap működése az, hogy számolja a kritikus ütéseket és az egymás utáni győzelmeket egy harcban és annak megfelelő üzenetet ír ki, vagy épp játszik le egy hangot. Jelenleg Runes Of Magic -hez készül a legfrissebb verziója.

Scriptnyelv

Az addonok nyelve a LUA. Erről a nyelvről volt már szó itt a blogomon ( #1 #2 ), én kifejezetten szeretem, hisz nagyon könnyen használható, jól átlátható, és ha az ember sikeresen beintegrálja a C/C++ kódjába (vagy használ valami egyszerű interfacet), akkor már az összeköttetés és oda vissza hívás is egyszerű és kényelmes.

Talán ez az oka annak, hogy a Blizzard is (és utánna mások is) ezt a nyelvet választották.

 

FrameXML

http://www.wowwiki.com/FrameXML

Na ez nem scriptnyelv, viszont annál nagyobb találmány. A modern MMO-k GUI interface ét nem úgy készítik, hogy egy grafikus megrajzolja az egészet, majd egy texturaként bekerül a játékba és láss csodát. Szerencsénkre! A megoldás a FrameXML, ami nem más, mint egy XML fájl, amiben leírják a GU-t és a hozzá tartozó vezérlő függvényeket, amik LUA ban vannak megvalósítva. Ezáltal az addon fejlesztők is szabadon módosíthatják, alakíthatják a GUI-t, sokszor teljesen átszabva a felületet! Illetve ezzel a módszerrel könnyűszerrel hozhatunk létre új GUI elemeket, növelve ezzel a játék értékét és használhatóságát.

TOC fájl

http://www.wowwiki.com/TOC_format

A TOC fájl egy speciális fájl, ami az addonnal kapcsolatos információkat tárolja. Sok MMO ebben a fájlban kisebb eltérésekkel rendelkezik, de mindegyik ugyan arra használja. Ez a fájl mondja meg a nevet, verziót, betöltendő fájlokat, stb. (Ez a Runes Of Magicre pont nem igaz, mert csak a betöltendő fájlokat tárolja, ott nincs Addon Manager interface)

Megkötések

Általánosságban nehéz bármit is mondani, hogy milyen megkötései vannak az addonoknak, de az biztos, hogy sok minden ki van kötve belőlük, biztonsági okokból. Például egyik sem tud fájlt létrehozni, törölni, módosítani, stb. Nem képesek hálózati kapcsolatot nyitni, vagy alkalmazásokat elindítani. A Blizzrdnál az addonok nem is láttak ki a telepítés könyvtárából (World of Warcraft telepítési könyvtára).

Ezek ugye a LUA moduljainak menedzselése, azaz nem töltik be az OS, IO modulokat, ezáltal a fejlesztők nem férnek hozzá ezekhez a kényes függvényekhez.

Minden más megkötés már nagyon játék függő, attól függően, hogy az adott kiadó milyen megszorításokat ír elő a farmerek és botok ellen, illetve nagyban korlátozza az addonokat, hogy ki mennyi energiát és erőforrást áldoz a belső függvények kivezetésére (a legszerényebb az Allods Online volt, főleg, hogy a dokumentáció is orosz volt :))

Lecsó

Na de vágjunk is akkor bele, mert azt ígértem, hogy itt addonban fogunk taposni! Na azért nem 🙂

CRITKINGPREFIX = "CK"
CRITKINGVERSION = "0.1.0"

CritKing = {} -- critking class :)

CritKing.__index = CritKing

CritKingDisplay = "on" -- saved variable, per character
CritKingResetOnNormalHit = "on" -- reset crit statistic when hit normal

CritKing.VariablesLoaded = false

CritKing.PlayerName = ""  -- the player's character name

CritKing.MaxDamage = 0        -- The maximum damage
CritKing.MaxCritNum = 0       -- The maximum crit number
CritKing.Damage = 0           -- The actual damage
CritKing.CritNum = 0          -- The actual critical number
CritKing.KillNum = 0          -- The actual killing blow number
CritKing.MaxKillNum = 0       -- The maximum killing blow number

CritKing.CritMessages =
{
    "Head shot!"        -- 1
  , "Oh, Yeah!"         -- 2
  , "Unstoppable!"      -- 3
  , "Killing Spree!"    -- 4
  , "Dominating!"       -- 5
  , "Ultra Kill!"       -- 6
  , "Wicked Sick!"      -- 7
  , "God Like!"         -- 8
  , "God Like!"         -- 9
  , "Holy Shit!"        -- 10
  , "Holy Shit!"        -- 11
  , "Holy Shit!"        -- 12
  , "Holy Shit!"        -- 13
  , "Holy Shit!"        -- 14
  , "Monster Kill!"     -- 15
  , "Monster Kill!"     -- 16
  , "Monster Kill!"     -- 17
  , "Monster Kill!"     -- 18
  , "Monster Kill!"     -- 19
  , "Ludicrous Kill!"   -- 20
  , "Ludicrous Kill!"   -- 21
  , "Ownage!"           -- 22
}

CritKing.CritSounds = 
{
    "Interface\\Addons\\CritKing\\sounds\\head_shot.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\ohyeah.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\unstoppable.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\killer.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\dominating.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\ultrakill.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\wickedsick.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\godlike.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\godlike.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\holyshit.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\holyshit.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\holyshit.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\holyshit.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\monsterkill.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\monsterkill.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\monsterkill.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\monsterkill.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\monsterkill.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\ludicrouskill.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\ludicrouskill.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\ownage.ogg"
}

CritKing.KillingMessages =
{
    "First Blood!"          -- 1
  , "Double Kill!"          -- 2
  , "Tripple Kill!"         -- 3
  , "Multi Kill!"           -- 4
  , "Ultra Kill!"           -- 5
  , "Mega Kill!"            -- 6
  , "Monster Kill!"         -- 7
  , "Ludicrous Kill!"       -- 8
  , "Wicked Sick!"          -- 9
  , "Holy Shit!"            -- 10
  , "God Like!"             -- 11
  , "Ownage!"               -- 12
  , "Ownage!"               -- 13
  , "Ownage!"               -- 14
  , "Ownage!"               -- 14
  , "Ownage!"               -- 15
  , "I am INVICIBLE!"       -- 16
  , "I am INVICIBLE!"       -- 17
  , "I am INVICIBLE!"       -- 18
  , "I am INVICIBLE!"       -- 19
  , "YES! I'm a GOD!"       -- 20
}

CritKing.Killingsounds =
{
    "Interface\\Addons\\CritKing\\sounds\\firstblood.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\doublekill.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\tripplekill.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\multikill.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\ultrakill.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\megakill.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\monsterkill.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\ludicrouskill.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\wickedsick.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\holyshit.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\godlike.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\ownage.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\ownage.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\ownage.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\ownage.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\invicible.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\invicible.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\invicible.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\invicible.ogg"
  , "Interface\\Addons\\CritKing\\sounds\\god.ogg"
}

CritKing.MaxCrit = 23
CritKing.MaxKill = 21

-- Simple message function, to the default chat frame
function CritKing.SendMsg( msg )
    DEFAULT_CHAT_FRAME:AddMessage( CRITKINGPREFIX .. ": " .. msg, 1.0, 0.0, 0.0 )
end

-- Command handler
function CritKing.OnCommand( args )

    if ( ( args ~= nil      )
     and ( string.len( args ) > 0 ) )
    then
        if ( string.lower( args ) == "help" )
        then
            CritKing.SendMsg( "/ck display on  - enable error frame messages" )
            CritKing.SendMsg( "/ck display off - disable error frame messages" )
            CritKing.SendMsg( "/ck normal on - reset critical statistic when hit normal and end of fight" )
            CritKing.SendMsg( "/ck normal off - reset critical statistic just when end of fight" )
            CritKing.SendMsg( "/ck help - display this text" )
            CritKing.SendMsg( "/ck - display max damage, critical number, killing blow statistic" )
            return
        end

        if ( string.lower( args ) == "display on" )
        then
            CritKingDisplay = "on"
            CritKing.SendMsg( "set display on" )
            return
        end

        if ( string.lower( args ) == "display off" )
        then
            CritKingDisplay = "off"
            CritKing.SendMsg( "set display off" )
            return
        end

        if ( string.lower( args ) == "normal on" )
        then
            CritKingResetOnNormalHit = "on"
            CritKing.SendMsg( "reset critical statistic when hit normal" )
            return
        end

        if ( string.lower( args ) == "normal off" )
        then
            CritKingResetOnNormalHit = "off"
            CritKing.SendMsg( "no reset critical statistic when hit normal" )
            return
        end
    end     
    -- no parameters given, show the infos
    CritKing.SendMsg( " - Max damage: " .. CritKing.MaxDamage )
    CritKing.SendMsg( " - Max crit num: " .. CritKing.MaxCritNum )
    CritKing.SendMsg( " - Max kill num: " .. CritKing.MaxKillNum )
end

-- Fired when the player hit critical
function CritKing.OnCrit()
    local msg = CritKing.CritMessages[ CritKing.CritNum ]
    local sound = CritKing.CritSounds[ CritKing.CritNum ]
    
    if ( CritKingDisplay == "on" )
    then
        UIErrorsFrame:AddMessage( msg .. " (x" .. CritKing.CritNum .. ") Damage: " .. CritKing.Damage )
    end

    PlaySoundFile( sound )
end

-- Fired when the player kill an enemy
function CritKing.OnKill()
    local msg = CritKing.KillingMessages[ CritKing.KillNum ]
    local sound = CritKing.Killingsounds[ CritKing.KillNum ]
   
    if ( CritKingDisplay == "on" )
    then
        UIErrorsFrame:AddMessage( msg .. " (x" .. CritKing.KillNum .. ")" )
    end
    
    PlaySoundFile( sound )
end

-- Init function
function CritKing.OnLoad(self)
    self:RegisterEvent( "COMBAT_LOG_EVENT_UNFILTERED")
    self:RegisterEvent( "PLAYER_REGEN_DISABLED" )
    self:RegisterEvent( "PLAYER_REGEN_ENABLED" )
    self:RegisterEvent( "CHAT_MSG_COMBAT_HOSTILE_DEATH" )
    self:RegisterEvent( "VARIABLES_LOADED" )

    SlashCmdList[ "CRK_CMD" ] = CritKing.OnCommand
    SLASH_CRK_CMD1 = "/ck"
end

-- Reset critical statistric
function CritKing.ResetCrit()
	CritKing.CritNum = 0
end

-- Reset killing blow statistic
function CritKing.ResetKill()
	CritKing.KillNum = 0
end

-- Reset all statistic
function CritKing.ResetStat()
    CritKing.ResetCrit()
    CritKing.ResetKill()
end

-- Event handler
function CritKing.OnEvent( self, event, ... )
    if ( event == "VARIABLES_LOADED" ) -- loading saved variables, and player name
    then
        CritKing.VariablesLoaded = true
        CritKing.PlayerName = UnitName( "player" )
	CritKing.SendMsg( "variables loaded! " .. CRITKINGVERSION )
        return
    end

    if ( CritKing.VariablesLoaded == false ) -- no event handling, while saved variables not loaded ...
    then
    	return
    end
	
    if ( event == "COMBAT_LOG_EVENT_UNFILTERED" ) -- new event from combatlog
    then
	local timestamp, eType, sourceGUID, sourceName, sourceFlags, destGUID, destName, destFlags  = ...;
        if ( sourceName == nil )
        then
            sourceName = ""
        end

	if ( sourceName ~= CritKing.PlayerName ) -- if the sender not equal with the player, just return
        then
            return
        end
        
	local fromNum = 9;
	if ( eType == "SPELL_DAMAGE" )
	then
		fromNum = 12;
	end
		
	local amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing = select(fromNum, ...)
        if ( critical == nil )
        then
            critical = false
        end
       
	if ( eType == "PARTY_KILL" )
        then
            CritKing.KillNum = CritKing.KillNum + 1
		    if ( CritKing.MaxKillNum < CritKing.KillNum )
            then
                CritKing.MaxKillNum = CritKing.KillNum
            end

            if ( CritKing.KillNum < CritKing.MaxKill )
            then
                CritKing.OnKill()
            end
    
            return
        end
    
        if( critical )
        then
            CritKing.CritNum = CritKing.CritNum + 1
            CritKing.Damage = amount

            if ( amount > CritKing.MaxDamage )
            then
                CritKing.MaxDamage = amount
            end
            
            if ( CritKing.CritNum > CritKing.MaxCritNum )
            then
                CritKing.MaxCritNum = CritKing.CritNum
            end
            
            if ( CritKing.CritNum < CritKing.MaxCrit )
            then
                CritKing.OnCrit()
            end
            else
            if ( CritKingResetOnNormalHit == "on" )
            then
                CritKing.ResetCrit()
            end
        end

        return
    end
    
    if ( ( event == "PLAYER_REGEN_ENABLED" )   -- player enter, or leave from combat
      or ( event == "PLAYER_REGEN_DISABLED" ) )
    then
	    CritKing.ResetStat()
    	return
    end
end

Mondhatnám, hogy ennyi dióhéjban 🙂
De azért nézzük meg közelebbről, ha már ilyen szépen sikerült ide tennem ezt a pár oldalnyi borzalmat.

A kód eleje nem más, csak adat feltöltés, ahol megadom a hangokat és szövegeket, ez eléggé egyszerű. Habár kitérnék arra a kicsit csúnyaságra, hogy kézzel adom meg a tömb elemeinek számát

CritKing.MaxCrit = 23
CritKing.MaxKill = 21

Az oka egyszerű, a table.getn nem akart működni 🙂

Az első függvény, ami fel fog hívódni az OnLoad( self )
Rift ben a CritKing:RegisterEvent( Event.Addon.Load.End, OnLoad ) ot kellett felhívni, ahol az OnLoad az addon nevét kapta meg, míg Runes Of Magic -ben a FrameXML ben kellett megadni, hogy mi az OnLoad függvény, ahol a self helyett this -t kapott.

Apró eltérések, de érdemes feljegyezni Őket, ha valaki portolható addont akar készíteni.

Az OnLoad ezután regisztrálja az eventeket es a Slash commandot (mindjárt kitérek a Slash commandokra). Ez WoWban és ROM ban szinte teljesen ugyan az, míg a Rift ben a
CritKing:RegisterSlash( “crtk”, EvntSlash ) felhívásával értük el ugyan azt. Ez is csak apró különbség.

Alapvetően a Rift annyiban tér el a WoW és ROM tól, hogy nála egy table ban vannak az események, és ehhez adjuk hozzá a mi függvényünket is, míg a másik kettőben az eventeket stringes nevükkel regisztráljuk be.

WoW events: http://www.wowwiki.com/Events_%28API%29
ROM events: http://www.theromwiki.com/List_of_Events
Rift events:   http://wiki.riftui.com/Event

A további részek már egyszerűek, csak kezelni kell a beérkező eseményeket. Természetesen a Rift, ROM és WoW teljesen más sorrendben, teljesen másképp közli a számunkra fontos dolgokat, erre is lehet írni egy kellemes interfacet és már el is van fedve.

Egyszer ha igény / energia lesz rá kitérünk erre is 🙂

Slash Command

Ígértem, hogy írok erről is, hogy micsoda. A Slash command, ahogy a neve is mutatja a / es parancsok felsorolása, amit az addonunk kezel. Ez mindenhol megegyezett, hogy így kezelik a chatben a parancsokat, a regisztrációjuk, ahogy már említettem más és más. A lényeg viszont szintén ugyan az, 1 függvény, ami kap 1 bemenő paramétert, ami a string, a parancsunk után. Ezt kell értelmezni és lehet különféle műveleteket végezni.

Addon dokumentációk:

WoW: http://www.wowwiki.com/World_of_Warcraft_API
ROM:

Addon Tutorial: http://www.theromwiki.com/Addon_Tutorial
Eventek: http://www.theromwiki.com/List_of_Events
Függvények: http://www.theromwiki.com/List_of_Functions

Rift: http://wiki.riftui.com/Main_Page

Addon gyűjtemény: http://www.curse.com

Most ennyi lett volna, de ugye megint csak lehet zavarni a kommentekkel, annak, akit érdekel a téma 🙂

Sok sok sok sok …

Már 2 hónapja?? Ilyen régóta nem írtam ide semmit. Persze rengeteg magyarázat van arra, miért hallgattam és ebből a legfontosabb, hogy azon kevés szabadidőmet és írási energiámat ami volt, elvitte a DevGru.hu. Rengeteg cikket írtam ide, aki szeretné, érdeklődik a katonai írások iránt az nyugodtan olvasgathatja.

Na de szedjem össze mi minden is változott azóta, hogy feltettem az utolsó bejegyzést.

  • Telefon
    Na igen. Letettem a Black Berryt, egyszerűen már elegem lett belőle. Nagyon lassú, semmilyen alkalmazás nincs rá, ami van az is vagy lassú, vagy bugos, vagy egyszerűen bűn ronda.
    Az asszony Androidos HTC -jét nyúltam le (persze, Ő kapott egy XPeria Mini Pro –t).
  • MMORPG
    Ebben is komoly változás állt be. Az EVE Online mizériának vége. Sajnos nincs annyi időm, amennyi kellene, egyedül, vagy inkább kettesben Fox al viszont unalmassá vált. Egyszerűen több időt igényelt volna, ettől függetlenül nagyon szép és jó játék, ha nem havidíjas lenne egészen biztos, hogy a rabja maradok.
    Az EVE helyett most a Runes of Magic el játszom. WoW klón, érdekes, izgalmas, F2P típusú játék. Először kissé zsúfolt volt, amikor Elfet indítottam, de aztán jött az ember, amivel már sokkal nyugodtabb.
    Runes of Magic Raid
  • Munka
    Ó igen. Itt is komoly változás állt be, ugyanis megszűnik a munkahelyem, úgyhogy jelenleg épp munkát keresek. Sajnos nem nagyon számit a tapasztalat, vagy a projectek, mindenféle hülyeségen kell az embernek magát átverekednie, hogy eljusson az utolsó interjúig … de remélem azért valami csak lesz, jó lenne a játék fejlesztésben maradni, de ha minden kötél szakad, akkor megyek más pályára .. habár félő ott unatkozni fogok Mosolygó arc
  • DevGru
    A DevGru ban szerencsére nincs nagy változás, egyszerűen megyünk a kijelölt úton. Lett szép egyenruhánk, fejlődtek a fegyverek, az emberek, de összességében szerencsére nem módosult az alapvetően kitűzött cél: komolyan, összeszedetten menni a cél felé!
    DevGru csoport kép
    Annyit azért megjegyzek, egyik cikkemet lemásolták, úgyhogy azt kell mondjam büszke lehetek magamra Mosolygó arc
  • Programozás
    Itt is van fejlődés. Elkezdtünk Unity3D –zni. Érdekes, izgalmas, sok dolgot lehet benne csinálni, egy kicsit lehet C# ozni, sokkal jobban belejöttem mint eddig Mosolygó arc
    egyszóval tetszik nagyon, sajnos meg már nem éri meg, hogy a Nadirim megmozduljon 3D ben. Nagy kár, jó kóder csapata volt.
  • Bleki.hu
    Hajjaj … bleki.hu igen igen, nem egy egyszerű buta weblap, hanem egy igényes WordPress oldal! Végre az “idiótája” megcsinálta normálisra a honlapját, szánt rá némi időt és még egész jól is néz ki. Még blogolni is elkezdett, pedig mennyire köpködött rá Mosolygó arc
    Gondolom főleg kocka kóder hüjeségek lesznek rajta, akit érdekel érdemes betenni a könyvjelzők közé, hátha nem hagyja abba 2 nap után Mosolygó arc

Azt hiszem, úgy nagy vonalakban ennyi hirtelen, legalább egy kis információ morzsa rólam, annak akit érdekel a dolog.
További jó olvasgatást, webezést és minden egyebet!

Airsoft

DevGru

Azt hiszem végre ideje lenne írnom egy kicsit bővebben a kedvenc hobbimról, az Airsoftról, ha már annyit játszom 🙂

Hát először is a puszta tények. Már lassan ez a hetedik éve annak, hogy belekezdtem az Airsoftozásba, és azt kell mondjam, a mai napig sem untam meg. Ha Amerikában élnénk már lehet katona lennék 🙂 A kezdetek persze nem voltak könnyűek, főleg mert akkor még annyira kezdő voltam, hogy azt egyszerűen el sem hiszem. Szerencsére azóta már rengeteget tanultam, köszönhetően annak a pár embernek, akikkel együtt játszottam, sok sok éven át.

Első komoly Airsoft csapatom az FTD (First Templare Division) volt, ahol Skót, Maze, Sko voltak leginkább azok a meghatározó emberek, akik segítettek, vezettek azon az úton, hogy minél többet elérjek. Az FTD -nek viszont megvoltak számlálva a napjai sajnos. A csapat túl nagy volt, akárcsak az elvárások közti különbségek, így a csapat felbomlott. A vége fele én is erősen leengedtem, nem volt kedvem a játékhoz, nem volt kedvem erőlködni, úgyhogy a “szakításnak” éppen ideje is volt.

Következő csapatom a DevGru volt. Eleinte azt hittem, hogy valami fejlesztő csapatnév 🙂 persze nagyot nem tévedtem, csak épp nem játékfejlesztők, hanem az Amerikai Navy Seal speciális egysége (Ők azok, akik elkapták Osama Bin Ladent, ha hinni lehet a pletykáknak). Mondanom sem kell erősen kételkedve fogadtam, mind a csapatot, mind a nevet, amit választott. Sajnos eléggé sok negatív példát láttam.
Itt is nehezen indult be a kedvem … de aztán jött a változás. Lassan megismertem az új csapat tagokat és felfedeztem, hogy van benne potenciál. Lettek csapat gyakorlók, kezdtük kiismerni a másikat, érteni, ki, mit és miért csinál úgy, ahogy, és láttam, az emberek itt komolyan veszik, nincs eltérés abban, amit és ahogy csinálni akarjuk és ez tetszett, és szerencsére mondhatom, hogy tetszik, hisz jelenleg is ennek a csapatnak a tagja vagyok, és ha a fizikai adottságaim lehetővé teszik, maradok is még jó sokáig!
A csapatról, játékokról a http://www.devgru.hu oldalon lehet olvasgatni!

No, hát ennyi elég is rólam, hisz eléggé unalmas tud lenni 🙂 játék élményekért pedig a DevGru oldalát javaslom. Beszélnék kicsit az Airsoftról.

 

Előszó

Nézzük csak. Semmiképpen sincs arról szó, hogy az Airsoft fegyvermániás idióták játéka lenne, akik csak arra készülnek, hogy bármilyen fasiszta érdekeknek fegyverrel adjanak érvényt. Erről szó sincs. Az igazat megvallva, párszor már kerültünk olyan helyzetbe, hogy a “civilek” ennek néztek minket, de én soha nem találkoztam ilyenekkel. Az Airsoft játékosok egy része igazi katona, vagy volt katona, rendőrök, tűzoltók, mentősök. Általában olyan emberek, akikre azt mondjuk: jó fejek. Segítőkészek, önfeláldozóak, tudják mi az a bajtársiasság és a becsület (mindenféle ősmagyar felhang nélkül kell ezt érteni!).

 

Hogy mi is az Airsoft?

Hát, lehet, hogy nem a legjobban fogom megfogalmazni, de azért remélem. Az Airsoft harci szimuláció. Egy játék, ahol az egyszerű ember katonának érezheti magát, ha csak rövid időre is. A fegyverek, felszerelés miatt nagyon élethű, és félre értés ne essék, nem csak arról szól, hogy az ember megy és húzza a ravaszt! Sokkal inkább ész és kitartás játék. Persze ha az ember ésszel csinálja. Az Airsoft nagyon különbözik a Paint Balltól. Itt sokkal inkább valós, katonai szituációk vannak, a modern hadseregekből vett alakulatokkal, egységekkel, felépítéssel. Míg a Paint Ball -ban, ami inkább sport, a játékosoknak nincs konkrét beosztása, egyszerűen csak lőniük kell a kb. ugyan olyan fegyvereikkel egy helyre. Ezzel szemben az Airsoftban vannak lövészek, mesterlövészek, támogató emberek, a csapatokban vannak csapat parancsnokok, raj parancsnokok, rádiósok, orvosok. (Remélem a DevGruban lesz felderítő mesterlövész is) Mindezeket egybegyúrva a feladatok is speciálisak. Egy pont bevétele, megtartása, az ellenség felderítése, egy célpont megsemmisítése (persze minden csak szimulálva).

Egy nagyon fontos különbség azért van a Paint Ball és az Airsoft között, ez pedig a találat jelzése. Az Airsoftban 6mm es BB nek nevezett tömör műanyag lövedékeket lövünk ki, amik nem hagynak semmilyen nyomot a ruhán, jobb esetben a bőrön sem, így az Airsoft a becsületesség játéka (ezért nem is lehet nagyon sport belőle, szerencsére).

 

Milyen egy Airsoft játék?

Itt azért sok válasz létezhet, ami leginkább attól függ, hogy ki és milyen játékot szervezett. De vegyük a legjobb esetet (amiben mostanában újra egyre több részem van), azaz, hogy a szervezők és a játékosok jó játékot hoznak össze.
Persze jó csak annak lehet, akinek alapvetően van affinitása az ilyesféle dolgok iránt. Aki gyűlöli a katonás dolgokat, nem szereti a fegyvereket és a nehéz feladatokat, annak az Airsoft nagyon nem fog tetszeni, mert csak erről szól. Igazából annak sem ajánlom, aki képtelen a komoly gondolkozásra, az érett viselkedésre, mert ez nem az Unreal Tornament, itt nem működik, hogy kirántott pisztollyal rohansz arra, amerről a legtöbbet lőnek.
Nem is tudom pontosan leírni az élményt, akárcsak az igazi katonáknál, itt is, ezt meg kell tapasztalni (nagyon nagy szerencsénkre ez közel sem olyan veszélyes). Mindazok, akik az ellenségeink, a játék végén a barátaink!
Jó érzés tudni, hogy egy csapat tagja vagyok, egy olyan csapaté, ahol számíthatok a másikra és ebben a légkörben végezhetem a feladatom, amit a játék közben rám, illetve a csapatra bíznak. Kicsit olyan, mintha én is igazi kommandós, a Navy Seal elit egységének egy tagja lennék, ami büszkeséggel tölt el, még akkor is, ha tudom, hogy én 6-8 óra után haza megyek, a jó meleg fürdőhöz, hogy a lövedékek, amik eltaláltak, csak műanyag.

 

Milyenek a felszerelések?

Igen, direkt ezt írtam, mert nem csak a fegyverről van szó, azaz most arról nem lesz. Mint már írtam ez egy harci szimuláció, amit, ha az ember komolyan veszi nem arról szól, hogy valami melegítőben rohangálok mint a bolond. Nem véletlenül foglalkoznak a modern hadseregek egyenruha fejlesztéssel. Az egyenruha tehát fontos, akárcsak a rengeteg kiegészítő. Első sorban a bakancs. A bakancs nagyon fontos, ez, az ami a bokát tartja, ami megvéd attól, hogy ha üvegbe lépsz, szétvágd a talpad. Tehát fontos, hogy kényelmes bakancsa legyen az embernek, illetve hogy semmiképpen se legyen acélbetétes! Az maradjon a punkokra.
A bakancs után jöhet az egyenruha. Nem mindegy ám, hogy milyen. A legfontosabb a színezet és a minta. Nem mindegy, hogy kicsiny hazánkban (ahol a játékok 100% -a zajlik) kellően rejt-e az adott ruha. A színek mellett a szabás mintája is fontos, hogy kényelmes legyen, illetve legyen elég zsebe. Mindezek mellett a ruha minősége is fontos, hiszen strapabírónak kell lennie.
Ami jól jöhet még az a sapka, vagy sisak, kinek mi tetszik, térdvédő, ami szinte elengedhetetlen, hisz az ember sokszor térdel le és a térdvédő nem csak a földet éréskor csökkenti a térdet ért ütést, de védhet akkor is ha éppen bele térdelnénk valamibe.
A kesztyű. Hasznos dolog, mert sokszor védi a kezet, nem idegesít mibe nyúltál bele, segít fogni és felszívja az izzadságot (ez fontos szempont nagyon!).

 

Milyenek a fegyverek?

Erről már írtam itt is, és írtam a DevGru oldalán is. Érdemes inkább azokat elolvasni 🙂
A lényege az Airsoft fegyvereknek, hogy az eredeti fegyverek pontos más kívülről. Emiatt van azaz érzése az embernek, hogy igazi katona 🙂

A lényeg a lényeg. Aki szereti a fegyvereket, aki szeretett kiskorában fegyverezni, aki szeret sportolni és keres valami olyat, amihez komoly agymunka is kell, nem csak kitartás, annak ajánlom az Airsoftot. Lehet, hogy kívülről csak műanyag fegyveres puttyogtatásnak tűnik, de igazából nagyon komoly csapatmunka.

 

Airsoft fórum: http://www.softair.hu
Magyar Airsoft szabályzat: http://www.softair.hu/airsoft/szabalyzat.html

Játék! játék!

Először úgy gondoltam csak a The Settlers Online ról írok, mert arról van mit, de közben leszedtem az Eve Online Trial ját, és azt hiszem érdemes arról is majd szólnom pár szót!

 

The Settlers Online

Nem tudom ki ismeri, ki látta már, kapott Béta kulcsot a nemrégiben indult The Settlers Online című webes játékhoz, ami kifejezetten jól sikerült.

The Settlers Online

Eleinte kicsit féltem a dologtól, mert számomra a Settlers II volt az utolsó igazán jó Settlers játék, az újabbak valahogy már nem voltak olyan jók, ezért is örültem, mikor kiderült van Settlers II 10th Aniversary. Úgy néz ki, hogy Ubi Soft szerint is ez volt a legjobb rész Mosolygó arc

No de most itt van nekünk a Settlers Onlineunk, ami igaz nem a 2. részre hajaz, de  nem is unalmas, nem ronda, nem túl bonyolult és mindezek mellett a készítőknek sikerült eltalálni azt a játék ritmust, ami mellett nem kell ott ülni egész nap, a birodalom szépen fejlődik magától is Mosolygó arc

No de nézzük csak mik is vannak itt!

A játékhoz nem kell más csak egy böngésző és Adobe Flash Player. Úgyhogy kb. azonnal el is kezdhetünk játszani (feltéve ha kaptunk meghívót, ugyanis még csak Beta a játék, de ha jelentkezünk 1-2 napon belül szerintem kapunk Mosolygó arc)

Settlers Online Tutorial 1Megvallom őszintén meg csak 3 napja játszok a játékkal, de még a tutorialon vagyok. Habár nem is tudom, nevezhető-e ez tutorialnak. Inkább az első pálya, ahol megtanítanak használni az interfacet, megmutatják, hogyan kell építeni, bányászni, sereget toborozni.

Maga az alap játék nem bonyolult, nincs túl erőltetve, nem kell benne összetett számításokat és kalkulációkat végezni és nem akarnak 2 hónapja játszó játékosok állandóan megtámadni és elvenni nem csak a nyersanyagaimat, de a kedvem is.

Egyszóval a The Settlers Online élvezetes játék, amit ötvöztek a webes játékok lassú ütemével, ami remek kombinációt hozott ennél a játéknál.

Persze Settlers Online Tutorial 2kellett hozzá ez a játék stílus, de jó választás volt Ubiéktól, hogy pont ezt csinálták meg online.

A játék maga teljesen ingyenes (remélem ez lesz a jövő trendje), viszont mikro paymentes, azaz lehet vásárolni kék kis köveket, amikért pedig a játékban bizonyos előnyöket szerezhetünk.

Amikor elkezdjük a játékot mi is kapunk azt hiszem 100 ilyen kövecskét, ami nem túl sok, de arra pont elég, hogy kipróbáljuk milyen vásárolni, illetve egyből el is csábuljunk, mert pont kihúzott a csávából Mosolygó arc

(na igen, lehet ezt okosan is)

Egy szó, mint száz, ahogy mondani szokták, a Settlers Online jó játék lett, el lehet vele tölteni az időt kellemesen, és nézni, ahogy fejlődik a kis birodalmunk. Az biztos, hogy egy jó ideig még el fog szórakoztatni Mosolygó arc

 

Eve Online

Huha … ugye már nem egyszer kezdtem bele az Eve Online ba, először talán még akkor, mikor megjelent, jó sokat játszottam akkor vele, de egyszerűen kiborított, hogy oda lett minden hajóm, mert nem figyeltem Mosolygó arc

Ezután jóval később újra játszottam, bátyám segített, de nem volt elég játékos bázis a PvP hez, PvE nem nagyon létezett benne, és a kapott pénz, illetve a választott szektorban nem nagyon tudtam érvényesülni kis senkiként Mosolygó arc

Úgyhogy másodszorra is abba hagytam a játékot, viszont most felkeltette megint az érdeklődésemet, főleg, hogy láttam milyen frankó kis videókat hoztak össze az új verziójával (az Eve mindig is szép volt). Most bekerült ugye, hogy a bolygókon is lehet harcolni (ha jól tudom külön előfizetéssel).

Hát letöltöttem az új verziót, persze a 14 napos trialt, gondoltam kipróbálom (sajnos ez nem free …).

 

Az első meglepetés a bejelentkezéskor ért. Igen, mindig szép volt az Eve, de most egy kicsit még szebb Mosolygó arc mindig is a gyöngém volt, hogyha egy játék menüje nem valami béna statikus állókép a háttérben, hanem valami ami mozog. Itt sikerült nekik nem túlzásba esni, de jól néz ki nagyon:

Eve Login Screen

 

A második meglepetés a karakter kreáláskor ért. Millió beállítási lehetőség, ami mellett én magam morfolhattam a karakterem arcát Mosolygó arc

Eve Online kezdés

Az én drága asszonykám utasításai alapján el is készült az új karakterem, ami a látott lehetőségek alapján eléggé egyedi lehet. Ha jól láttam, akkor a beállítási lehetőségek még a fajtól is függenek! (igen, biztos lehet nagymellű nőcskét csinálni).

A következő meglepetés maga a játék volt. Ugyanis nem a megszokott (számomra) hajóban kezdek és onnan aztán soha ki nem jövök, hanem kis emberként jelentem meg (habár hozzáteszem jó lett volna, ha az ember a képernyő közepén van, mint minden normális játékban Mosolygó arc).

A tutorialal kezdődött itt is minden. A régi jó Eve ben nem volt hiba a tutoriallal, vagy legalábbis én nem vettem észre, itt 3 szor akadtam el vele (pedig nem keveset Eve Online oztam már!), szóval az látszik, hogy ide csak be erőltették az új játék módot, de mintha még nem forrott volna ki. Sebaj! Hamar lett hajóm is Mosolygó arc

Eve Online első hajó

Persze nem egy hatalmas, óriási csatahajó, de legalább nem a kapszulámban röpködök.

Eve Online első hajó

 

Persze szerencsémre, pont szerver leállítás volt, mikor beléptem, úgyhogy nagyon nem tudtam kijátszani magamat, majd este visszatérek kicsit, ha az én drága asszonykám engedi Mosolygó arc

Mindig is jó elgondolás volt az Eve Online, nagyon szép, hangulatos, ámbár valami hiányzott belőle, az akkor énemnek, de manapság azt veszem észre, hogy kiöregedtem a püfölős játékokból, és egyre inkább valami nyugodtabbra vágyok, főleg úgy, hogy egyedül játszok.

Megnézzük a 14 nap alatt megtetszik-e újra az Eve Mosolygó arc

Star Wars: The Old Republic!

Gondoltam még addig írok, amíg még friss az emlék, ugyanis kaptam beta kulcsot az SWTOR ra (az új Bioware, Lucasarts MMORPG), ami a mai nappal el is indult és lehetett tesztelni, nyúzni, próbálgatni.

Hát azt nem vártam, hogy minden szerver fullon lesz, de így volt, habár ez semmiféle fennakadást nem jelentett, 2 click és már bent is voltam.

Elsőre kicsit furán hatott, hogy 2 féle Jedi közül lehet választani, de elhatároztam, azért sem leszek Jedi, inkább egy tökös katona! Hát itt volt az első szájhúzásom … azt talán el tudom fogadni, hogy azt akarták ne nézzen ki minden köztársasági katona ugyan úgy, mert hát oké, hogy klónok, de hát azért mégiscsak játék (persze a Star Wars animációs filmekben ugye ezt meg tudták oldani egész jól), de hogy egy ennyire nevetségesen borzalmasan ronda buta törpe négert tegyenek oda vörös hajjal … az már mégiscsak megrázó …

Na, de mindegy, nyomás tovább, karakter generálás, ismerkedés az alap gui val, amin sok mindent nem lehet megtalálni, az ikonok kb. semmit nem sejtetnek a funkcióról ami mögöttük van, sebaj, Beta, úgyis alakul’!

PLAY!

Hát … vártam a videók után, hogy valami durva űrállomáson, vagy egy köztársasági csillagrombolón, vagy egy Smuggler hajóján eszmélek, mivel lvl1 es vagyok, valami elaggott csatavértben, ami már alig ad valamit, de legalább katona félének nézek ki … hát nem … volt egy rettenetesen gyenge cutscene, ahol emberünk beszélt és beszélt és beszélt … gondolom az angol sw fanok elolvadtak ettől, én baromira untam és sajnos 3. elindításra jöttem csak rá, hogy el lehet nyomni space val, ezek után a játék 2 dologból állt:

1 es gomb nyomkodása – ezzel lőtt a katonám, meglehetősen bénán, borzalmas animációval és persze semmi köze nem volt a Star Warsból megszokott speciális lézer hangnak (mert amúgy a lézer igazából hangtalan)

Space gomb nyomkodása – ami néha a quest adó figura előtti ugrálásba torkolt, mert annyi volt a felesleges hülye monológ, hogy egyszerűen alig bírtam … lőni akartam a szeparatistáka, vagy a gonosz jediket, vagy bárkit, de nem egy bajszos parattyó pusztai parasztlegény előadását hallgatni, hogy mennyire szuper, hogy én mint szuper zseniális kommandós (kék melegítő fölsőben) itt vagyok Mosolygó arc

Sokat nem javított a helyzeten az sem, hogy a grafika az egyszerűen gyenge volt. Sem stílusa nem volt, mint a WoW nak, amit én személy szerint kedveltem, de nem egy hipoly ugye Mosolygó arc, sem nem nézett ki jól, mint a Warhammer Online, vagy a Rift. Egyszerűen béna volt, gyenge és steril.

Erre persze biztos az a válasz, hogy nem húztam fel maxra, hát nem, mert így is kicsit … szaggatott. Pár dolog maxon volt, pár dolog meg minimumon (semmi olyan amitől jobb lett volna …)

Emellett a játékban volt rendesen idegesítő – igen, engem idegesítő bug, ami mivel én játszottam vele, számomra zavaró és idegesítő volt, ettől lehet még sokan kifejezetten élvezik – egyáltalán nem kezelte Logitech egeremet, amit a legutolsó benga 450ft os FPS játék is kezel (a + gombokra gondolok itt, amik be is vannak állítva egy egy billentyűre), nem lehetett átállítani a follow camerat (vagy én nem találtam a menüben), a windowed mode azt jelenti náluk, hogy ha el alt tabolok akkor 15-20 másodpercig tart, amíg újra megjelenik minden …

No, sok is volt a beszéd már, lehet én vártam túl sokat a játéktól, vagy éppen csak elfogyott a pénz Biowarenél … de nekem hamar kuka lett, pedig Star Wars!!! ebből vackot csinálni igazi művészet … úgy néz ki ott is dolgozott pár művész Mosolygó arc

Pre ordert semmiképpen sem javaslom! Ha lesz a végleges verzióból Free Trial, inkább azt, de még így is várnék vele 1 évet, hogy kiforrja magát, vagy bedőljön.