Jag har bestämt mig för att inleda ett enmannaspelprojekt och tänkte jag skulle vara en duktig pojke och dokumentera det hela här på Svampriket.
Projektet: Skapa ett kort 2D-spel med fokus kring Svampriket.se.
Inspirationen föddes ur ett väldigt snajsig ”spritefierat” porträtt jag fick se. Det väckte en gammal tanke, att bygga sitt eget lilla tv-spel. Tanken att bygga ett neoretrospel har jag burit med mig länge så gameplaymässigt har jag hyfsad koll på vad jag vill göra, men sen ska jag lyckas bygga det också. Jag är en semiprofessionell programmerare, men jag har mestadels arbetat med funktioner i nätverk och inte realtidsobjekthantering med grafisk input. Så vad jag ska jag göra nu?
I det stadiet jag befinner mig nu är jag mest ute och kollar vad som kan göras i de verktyg som finns tillgängliga för mig. Min första tanke var att skapa hela spelet från scratch i Processing, en grafisk implementation av object-c. Men efter att ha spenderat tre timmar med att få en boll att röra sig som Mario, några block att fungera som plattformar att hoppa på och en polkagristextur att agera bakgrund insåg jag att jag nog behöver kolla om det inte finns smidigare metoder.
Jag testade GameMaker, det kändes klumpigt och ologiskt. Letade vidare. Hittade en drös med liknande ”gör det själv”-spelverktygslådor. vinsterna med dem är att man får en massa gratis, men samtidigt har jag nog inte ork nog att sätta mig in i deras ramverk, scripteditorer och annat som kan vara bra att ha (de flesta är dåligt dokumenterade dessutom).
Just nu är jag inne på att göra spelet som en ”Total Conversion”-mod. Men en snabb titt i modscenen visar att x antal tusen lovande TC-projekt föds och dör månadsvis. Samtidigt vore det asballt att bränna ut det färdiga spelet via Eprom och spela det på en riktig SNES.
Står i valet och kvalet med vilken metod jag vill köra på. Någon av er som har några ideer?
Det beror väl lite på hur avancerat du vill göra det. Det finns ju spelramverk för de flesta programspråk nu för tiden, även de som kanske inte är lämpade för det.
Tre timmar för att en platformskaraktär skall röra sig och med en bakgrund låter inte så farligt om du är ny på det? Tålamod är viktigt om man skall utveckla spel!
Det viktigaste, om du vill lära dig ”på riktigt” och inte använda sådant som GM och färdiga program, är att lära sig grunderna i hur ett spel fungera och hur delarna hänger ihop.
Game loopen, timing och sånt. Linjär algebra är också nödvändigt om du vill kunna räkna ut vinklar etc. Har man den grunden så spelar det inte någon roll vilket språk/teknik som används.
Jag skulle själv testa med XNA om jag var i din position. När du känner att du börjar greppa allt så kan du ju gå vidare med Eprom och det?
Lycka till!
Oooooh! Kan ingenting om tekniken bakom ett spel och sådär, men ska bli kul att följa detta! 😀
Håller med Erik, tre timmar är ju ingenting. Man kan ju tro att du är nittiotalist eller något liknande, lite mer tid än så får man nog räkna med. Men visst fan skall man väl kunna klämma fram ett spel utan att vara vidare haj på lineär algebra?
Wow. Samson kallad nittiotalist. Det är antagligen den värsta tänkbara förolämpningen. Typ, ever.
Hoho, nä så farligt är det nog inte.
Man klarar väl sig med vardagsmatte ganska långt. Men det hjälper om man har kunskapen!
@perky pat: Det jag menar är att det tog tre timmar för mig att bara göra en rudimentär sketch av att fånga tangentbordinput och representera det grafiskt. Art bygga en hel motor från scratch skulle ta en väldig massa tid som jag hellre vill lägga på att producera content. Därför är jag sugen på att låna ett ramverk för att bespara mig en massa tid. Har fått tips om flashpunk och flixel som jag ska kika närmre på.
Vad gälle matte är det inga problem. Jag är ju för tusan gammal mattelärare 🙂
Är det praktiskt genomförbart att knacka ett trevligt SNES-spel utan att skriva det direkt i assembler? Eller att ”totalt konvertera” ett spel för den delen?
Låter som ett riktigt roligt projekt hursom!
Känner du rätt folk kan du säkert få vara med och testa Defold. Det är det senaste har jag hört. (http://www.defold.com/)
Fast det är ju faktiskt tuffare att hacka ihop det för SNES, men det kan bli en ordentlig utmaning.
Bambalicious: Teoretiskt sett är det ju möjligt. Det kan dock innebära att man får skriva en egen kompilator för språket man använder 🙂
Samson, detta låter ju kanonkul! Jag hoppas verkligen att du uppdaterar om hur detta fortlöper!
Samson, kolla in Indie Game Maker: http://www.rpgmakerweb.com/product/ig-maker
Erik Skoglund: Självfallet, gick mer med funderingar på om det finns någon kompilator (för något språk) som är tillräckligt smart för att vara med i matchen. Det är ju rätt få cyklar man har att leka med..
@Bambilicious & Erik Skoglund: För att göra en TC finns det en del riktigt enkla verktyg (beroende på spelet som står som grund). Jag är helt lost i Assembler, men skulle t ex kunna använda Lunar magic och modda SMW ganska enkelt.
http://fusoya.eludevisibility.org/lm/
….meeeen jag tror jag kommer försöka hålla mig inom områden jag känner att jag har mer kontroll över, typ Flash.
Samson: Ah okej, jag trodde TC innebar att man även gjorde förändringar i game play-motorn eller liknande? Det kanske LM kirrar åt dej om du spottar lite asm iofs. : )
Hursom, önskar dej all framgång med detta!
@Bambi: Man ändrar parametrar förstås (gravitationer, hastigheter osv), men inte motorn i sig. På SNES (i de flesta fall iaf) sätts de parametrarna i objekten, inte i motorn. 2D vettu, ingen middleware för fysik eller liknande som är beroende av globala variabler.
Heh, cool.
Där har du ju en utmaning annars, skriv en fysikmotor till snes!
Ta en andra titt på GameMaker, det är faktiskt ganska bra för den typen av spel och det går snabbt att få något som fungerar. Det var några år sedan jag gjorde spel i det, så viss reservation för att de klantat till det i de senaste versionerna. Jag minns att det fanns en ganska stor community där man kunde få hjälp eller se hur andra löst olika problem. Det smidiga i det var att man kan undvika det mesta dragandroppandet när man blir varm i kläderna och skriva det mesta i deras scriptspråk.