View RSS Feed

zabsv

Level editor

Rate this Entry
Nu när jag fått ihop något som i alla fall ser ut som ett väldigt enkelt spel så infinner sig ju nästa fråga. Hur gör jag om jag vill ta det här vidare? Om jag vill göra ett riktigt spel av det.

Det jag insett är i alla fall att det behövs något vettigt sätt att bygga banor på. Dels behöver man ju kunna skapa kartorna, men ska någon sitta och bygga banor måste man ju också kunna lägga in motståndare, och gärna kunna skapa några olika typer av motståndare. För att man ska kunna testa vad som ger en bra spelkänsla så vore det smidigt om man också kan bestämma hur bra vapen, skydd och annat motståndarna ska ha. Och kanske också vad man själv ska ha.. Ja ni fattar principen, jag behöver inte dra alla detaljer man vill kunna ändra.

Särskilt om man är flera i projektet så blir det ju orimligt att sitta och kompilera om varje gång man ändrar en variabel eller flyttar ett objekt. Då vill man ju att den som bygger nivåer, eller sitter och provspelar, snabbt kan gå in och ändra saker.. Har sett en del trådar i forumen här som verkar intressanta, så jag ska börja med att läsa där.

Att skapa en editor där man placerar ut olika objekt och sedan spara ner den informationen till en fil känns överkomligt. Här skulle man t.ex. kunna använda en vanlig xml fil. Fråga är om det är ett bra val? Lua verkar ju vara något av en standard i dom här sammanhangen. Kan man använda Lua till all information? Bör man kanske använda XML för kartan och Lua för mer avancerade objekt. Kanske rent av låta hela eller en del av fiendens AI skötas av Lua script?

Det enda jag har klart för mig just nu är att jag nog bör titta lite mer på Lua så att jag kan avgöra vad man kan använda det till, och om det är något jag har nytta av.

Skriv gärna en kommentar om ni har några tips på läsning för en smått förvirrad nybörjare.

Submit "Level editor" to Digg Submit "Level editor" to del.icio.us Submit "Level editor" to StumbleUpon Submit "Level editor" to Google

Taggar: Ingen Lägg till/redigera taggar
Kategorier
Uncategorized

Comments

  1. flodihns avatar
    Tror att XML ar bra format att spara statisk data, exempelvis savedata etc.
    Lua ar ju ett programmeringssprak som man kan anvanda for logik nar programmet kors.

    Vad jag skulle gora ar att lata XML filen ha en struktur av objekt med data, som sedan laddas in i exempelvis Lua.

    Kod:
    <xml ...>
    <level>
        <name>Foobar</name>
        <objects>
            <object>
            <name>MyTree</name>
            <image>tree.png</image>
           <posx>30</posx>
           <posy>-32</posy>
         </object>
        </objects>
    </level>
    Sedan kan du med lua ga igenom XML filen och ladda in object, exempelvis:

    (OBS PSEUDOKOD)
    Kod:
    xmlparser = load_xml("myfile.xml"); 
    level = new Level()
    levelTag = xmlparser.getElement("level")
    level.name = levelTag.getElement("name")
    
    objectsTag =  levelTag.getElement("objects")
    for objectTag i objectsTag
        obj = new Object()
        obj.image = objectTag.getElement("image")
        x = objectTag.getElement("posx)
        y = objectTag.getElement("posy")
        obj.position = (x, y)
    ...
  2. zabsvs avatar
    Tack,
    Jag har funderar i dom banorna, och det känns skönt att det verkar som att jag är inne på rätt spår

    Jag hittade ett program som heter Tiled, som skapar XML-filer med liknande struktur som du beskriver. Även om det är tänkt för tilemaps så tillåter det object att placeras ut fritt med x/y koordinater. Och vill man inte använda tiles går det utmärkt att bara ladda in en bild som bakgrund, så jag har utgått från det formatet. Objekten kan även ges olika properties, så för mitt Tank objekt kan jag t.ex. definiera speed, armour och hitpoints.

    Just nu läser jag in det i C++ koden, vilket ju gör att programmet måste startas om (går ju att lägga in en möjlighet att bara läsa in banan igen utan omstart) varje gång man ändrar något. Eller rent av kompileras om för större ändringar.
    Vad jag förstår skulle Lua ge betydligt större flexibilitet här, eftersom man kan ändra saker utan att kompilera om projektet. Men frågan är om nyttan verkligen är så stor för ett lite mindre projekt? Eller om det bara skapar mer arbete? Jag är lite kluven mellan att försöka använda Lua och att bara köra på med XML/C++ för att komma vidare snabbt.