EnglishSvenska

2D Bilspel i Android (hjälp gärna till att färdigställa)

För ett tag sedan började jag programmera ett spel till android. Eftersom jag inte har tid att göra klart det så tänkte jag här visa hur långt jag kommit och vad som är kvar att göra. Allt är open source och ligger på Github: https://github.com/sebnil/Sketchy-Truck

Jag ser väldigt gärna att spelet blir klart istället för att det ligger och samlar damm i ett privat repository.

Uppdateringar

[2012-06-03] Build path i Eclipse IDE ska fungera. Tidigare behövdes vissa inställningar göras för att få igång spelet.

Sammanfattning

Spelet är ungefär som MX Mayhem fast med en monstertruck istället för en cykel.
Denna video visar den senaste koden:




Bibliotek och teknik som använts

- Andengine
- Box2d extension
- Fysikeditor http://www.physicseditor.de

Fungerar just nu

- Andengine och box2d extension.
- Grundläggande fysik. Bilen beter sig ganska bra men förbättringar kan göras.
- Lutning av bilen med mobilens accelerometer. Tippa telefonen åt vänster och höger kommer att lägga en liten roterande moment på bilen.
- Världens skapas från att redigera XML-filer. Jag har skapat en XML-struktur för att lättare skapa nya världar. Denna generator kan behöva några förbättringar.

Spagettikod

Du är fri att göra förbättringar i kodstruktur om du vill. Jag skulle rekommendera en rengöring eftersom detta var mitt första medelstora projekt till android.

Separation mellan nivåerna och spelmotor

Just nu har jag bara lägga till en ny mapp att lägga till en ny bana till spelet. Däri läggs XML-och bildfiler och på så sätt kommer man att kunna skapa nya banor utan att röra spelmotor. Se world.xml för ett exempel:
https://github.com/sebnil/Sketchy-Truck/blob/master/assets/levels/level1/world.xml

Exempel på resterande struktur: https://github.com/sebnil/Sketchy-Truck/tree/master/assets/levels/level1
shapes.xml innehåller shapes från physicseditor. World.xml innehåller föremål och bakgrund. GFX innehåller grafik. Ganska enkelt.

Testat på

Jag har testat på HTC Desire, Google Galaxy Nexus och Samsung S2. Borde fungera på det mesta.

Källkod och copyright

Allt är på GitHub. Använd koden till det du tycker blir bäst men hjälp till att göra den bättre. Om du gör en förändring som är bra så se till att skicka in den till Github-projektet. Målet med att jag lägger ut allt är för att spelet ska bli närmre klart. Om du använder koden till något annat (exempelvis som material i en 2d andengine tutorial) så lämna en referens till den här bloggen.

Och tack till Emanuele Feronato för det exemplet du skrev om hur man använder box2d för att göra en bil med bra fysik.

Föreslagen todo:

- Ta bort oanvända tillgångar. typsnitt, bilder, ljud etc.
- Menyer ser inte bra ut.
- Lägg z-index för parallax backgrounds. Ange i xml med "zindex = #".
- Olika hastigheter på parallax bakgrunder. Ange i xml.
- Motorljud låter inte bra.
- Formen för bilen verkar vara en liten felaktig. När man rullar med bilen blir kontaktpunkterna inte ok.
- Ta bort laddningstiden vid omstart.
- Att trycka på menyknappen ska pausa spelet och öppna menyn.
- När man klickar på knappen Bakåt ingame ska man komma tillbaka till menyn.
- Lägg till stoppuret och lista bästa tider. Highscore.