Permalänk
Medlem

Skapa spel tillsammans

Tänkte fråga er här om någon är intresserad av att skapa något tillsammans? Är själv en person som tycker det är motiverande och roligt att jobba tillsammans med andra. Har länge velat skapa ett komplett spel, fast desto värre är jag ganska dålig på att slutföra projekt när jag jobbar själv, fast viljan har alltid funnits där. Det behöver inte vara något stenseriöst heller att man ska behöva känna att man måste vara en stjärna för att vara med och bidra, utan mer för att det är roligt och för att producera något. Men en trevlig bonus är ju att man bland annat får erfarenhet och blir duktigare.

Det jag hade i åtanke i huvudsak är väl ett spel eftersom det är belönande, fast det kan vara något annat också. Jag själv är öppen för vilka teknologier som helst eftersom allt är en learning experience så om någon är intresserad uppskattas förslag.

För att få igång bollen tänkte jag att jag kan ge några förslag på verktyg...

Typ av spel
Är medveten om hur lång tid det kan ta att skapa något avancerat, därför tänkte jag mig något i 2D, kanske plattformare. Indiespel och 2D är ju populärare än nånsin dessutom. Så det man skulle kunna satsa på är att skapa en simpel plattformare, som sedan kan utökas om det visar sig överkomligt.

Plattform
PC, mobilapp eller webb? Ingen aning. Är ju ett ut egentligen, gör man till PC så har man ju Steam om man skulle vilja releasa spelet. Tjusningen idag är ju att man har en väldigt bred marknad att släppa sina slutprodukter till, oavsett vilken plattform man releasar till.

Vad anser ni själva är fördelar och nackdelar här?

Programmeringsspråk/utvecklingsmiljö
Java
C++
C# (Verkar rätt plattformsberoende)
Spelmotor som Unity (kanske knassligt att versionshantera och jobba flera emot)

Egentligen är jag medveten om att val av språk och verktyg spelar nästan noll roll idag. Det lutar sig dock mot Java av några skäl, bland annat så är Java så välanvänt språk och är något alla tjänar att bli duktigare på, inklusive jag. Det är tydligen lätt att göra plattformsoberoende, så länge man bortser från faktum att man måste irritera användarna med att installera JRE. Finns tydligen ett bra bibliotek som heter LibGDX, det verkar lovande på många sätt.

Bibliotek
Antagligen något man funderar ut mer i detalj efter man valt programmeringsspråk osv... Fast en fördel här vore att välja bibliotek som har bra licenser så man inte blir biten i baken om det skulle bli aktuellt att releasa spelet.

Några göttiga förslag?

Versionshantering
Github eller något annat, bör man ha privat eller publikt repo?

Kommunikation
Forumet och/eller Slack

-----------------------------------

Även om ingen skulle hoppa på så tänker jag sätta igång projektet ändå. Kommer i så fall bara att uppdatera tråden efter som och ställa frågor, vilket i det fallet vore uppskattat om man kunde få tips/råd istället. Så detta är inget allt eller inget, det är bara min förhoppning och en bonus ifall andra skulle vara intresserade.

Har jag missat något, några tips för att sätta igång?

Permalänk
Medlem

Jag skulle för egen del eventuellt kunna vara intresserad av att ta på mig en AD-liknande roll, om alla andra var dedikerade nog att sätta allt annat åt sidan för att skapa något utöver det vanliga. Tänk CD Project Red. Alltså, all or nothing med rätt team.

Det skulle kunna vara intressant för mig. Om du tänker dig lägre ambitioner är det förstås helt okej, men det vore inget för mig. Annars har jag länge funderat på hur jag ska kunna få ihop ett riktigt bra team för att skapa något utöver det vanliga. Jag kan och förstår den konstnärliga biten men det behövs mycket mer än så för att det verkligen ska bli bra.

Permalänk

I vilken stad huserar du?

Permalänk
Medlem
Skrivet av DasIch:

Jag skulle för egen del eventuellt kunna vara intresserad av att ta på mig en AD-liknande roll, om alla andra var dedikerade nog att sätta allt annat åt sidan för att skapa något utöver det vanliga. Tänk CD Project Red. Alltså, all or nothing med rätt team.

Det skulle kunna vara intressant för mig. Om du tänker dig lägre ambitioner är det förstås helt okej, men det vore inget för mig. Annars har jag länge funderat på hur jag ska kunna få ihop ett riktigt bra team för att skapa något utöver det vanliga. Jag kan och förstår den konstnärliga biten men det behövs mycket mer än så för att det verkligen ska bli bra.

Gillar den ambitionen du har och hade nog utan tvekat hakat på ett sådant team också om jag hade kunnat. Problemet är dock att jag är i olika rekryteringsprocesser för jobb eftersom jag nyss tagit min examen. Skulle jag få jobb nu inom de kommande månaderna (vilket är min plan) så kommer jag utan tvekan fortfarande ha tid, fast jag kommer inte kunna göra det du åsyftar som antagligen är heltid eller mer för ett ambitiösare projekt.

Passar på att nämna också att jag inte är någon expert heller. Jag har skapat några enklare spel tidigare och har en datavetenskaplig utbildning och lite småerfarenheter i bagaget, men är inte insatt i spelutvecklingen och dess konster, särskilt i team. Är beredd att göra så bra jobb som möjligt dock förstås och efterforska därefter, fast förstår dig om du känner att detta projekt kanske inte kommer ha tillräckligt hög ribba.

Skrivet av SoilBleed:

I vilken stad huserar du?

Just nu befinner jag mig i Sundsvall.

Permalänk
Skrivet av MrDoggo:

Just nu befinner jag mig i Sundsvall.

Oddsen att vi satt i samma stad var väl minimal men jag kostade på mig att fråga i alla fall. Själv har jag för pressat schema för att starta något ensam. Men jag vet att det finns möjlighet till kontor med både teknisk utrustning och erfarenhet i Karlstad, då inom VR.

Permalänk
Medlem
Skrivet av SoilBleed:

Oddsen att vi satt i samma stad var väl minimal men jag kostade på mig att fråga i alla fall. Själv har jag för pressat schema för att starta något ensam. Men jag vet att det finns möjlighet till kontor med både teknisk utrustning och erfarenhet i Karlstad, då inom VR.

VR hade varit väldigt coolt att utveckla spel till nu när det är i en relativt färsk period.

Tillgång till både utrustning och erfarenhet alltså, det var inte illa, är ni något gäng som sysslar med det och har skaffat lokal och sånt?

Permalänk
Skrivet av MrDoggo:

VR hade varit väldigt coolt att utveckla spel till nu när det är i en relativt färsk period.

Tillgång till både utrustning och erfarenhet alltså, det var inte illa, är ni något gäng som sysslar med det och har skaffat lokal och sånt?

Det är lite det som är tanken, bli en ort med expertis inom VR.
Det är i grunden en ekonomisk förening som med hjälp av kommun och andra (bla. thqnordic) driver ett projektet. Hörde talas om det tack vare att jag har jobbat i huset innan, dock så har jag bara varit förbi som hastigast på öppet hus hos själva VR projektet.
När jag pratar erfarenhet så är det stor kunskap inom det mesta från starta eget, marknadsföring, IT och mycket annat innanför väggarna med en "alla hjälper alla" mentalitet.
Det finns idag en grupp som håller på med spel och det är tänkt att publiceras på Steam inom kort. Kommer dock inte ihåg vad de heter nu på rak arm..

Permalänk
Medlem

Jag är lätt på, det låter kul! Har hållt på med Unity sporadiskt under ett par år men har inte släppt något som jag är nöjd med ännu haha. Just nu jobbar jag på en spelmotor för 2D i c++, långt ifrån klar men har en ganska bra bas tycker jag. Utöver det har jag en del kunskap inom musikskapande vilket kanske skulle kunna vara till nytta också.

Kan tilläggas att jag ska börja mitt andra år på min kandidat inom programmering så kan inte gå all in direkt med tanke på plugget, men skulle lätt kunna lägga 4h / dag i alla fall.

Visa signatur

Jag har jättebra datordelar inuti min dator :)

Permalänk
Medlem

Musikskapande och andra egenskaper som inte är programmering i sig är varmt välkomna också, så det är väldigt bra att du kan båda två. Musik och grafik är något som jag är långt ifrån insatt i fast något jag är beredd att jag får grotta ner mig i eftersom det gör så mycket till spelupplevelsen.

Nu har jag skapat en projektstruktur som kan ses som en typ av "hello world" fast för LibGDX och Java. Utan några speciella motiveringar så valde jag att använda IDE:n IntelliJ och det är den jag använde för att köra projektet. Har skapat ett Github-repo över detta.

https://github.com/MrDoggo/platformer-proto

Permalänk
Medlem

Nice, jag har aldrig använt libgdx men alltid roligt att lära sig nya saker. Invita mig gärna som collaborator, heter Taego på github.

Visa signatur

Jag har jättebra datordelar inuti min dator :)

Permalänk
Medlem

Låter som ett roligt pyssel. Jag följer er och ser som jag kan bidra senare.

Permalänk
Medlem

Lagt till dig nu

Har väl inte någon detaljplanering än hur allt ska vara, bara en grövre bild. Med det sagt, vad för sätt att hantera backlogg kan vara bra för mindre projekt som dessa för att få ut i text vad som ska utföras? Jag antar att Githubs "Issues"-sektion är mer för buggar och TODOs snarare än features eller går det bra att använda den tro?

Skrivet av Katakana:

Låter som ett roligt pyssel. Jag följer er och ser som jag kan bidra senare.

Roligt att höra! Alla bidrag kommer att vara välkomna.

Är ingen projekt/git-trollklar men ska försöka hitta något bra sätt att dela upp saker på så det blir så straight-forward som möjligt att göra ändringar.

Permalänk
Medlem

@MrDoggo: Nice! Har själv aldrig använt github egentligen utan bara gitlab. Jag brukar göra så att jag har en txt-fil alternativt pdf där planeringen står specad i repot.

Visa signatur

Jag har jättebra datordelar inuti min dator :)

Permalänk
Medlem

Uppdatering

Gjorde precis en ny ändring (https://github.com/MrDoggo/platformer-proto/commit/b25bbb5a38...) som ändrar strukturen lite på programmet. Läste lite i wikin för LibGDX att tydligen så blir det smidigare att hantera så kallade "screens" på det sättet. Screens är som jag uppfattat det något som representerar en viss del av programmet, såsom: Main menu, Gameplay, Options och dylikt. Lade även in något som heter orthographic camera.

Tas gärna emot förslag, särskilt från er som PM:t och fortfarande är intresserad.

Om någon skulle vilja göra ändringar eller tillägg är det bara att göra en pull request.

Målet med spelet
För att ge en lite mer detaljerad bild över vad planen är nu när det finns lite mer kött på benen så är målet med spelet att skapa en 2D plattformare till PC. Skulle man vilja porta detta till Android och webbläsaren sedan, så är det tydligen möjligt att göra med relativt lite jobb (om ens något jobb överhuvudtaget), fast som det ser ut nu tänkte jag att man riktar det mot desktop-miljö först och främst.

För att ha ett lagomt scope på projektet, vilket är viktigt för att överhuvudtaget lyckas slutföra något, så har jag valt att begränsa det första målet. Det blir alltså någon form av prototyp först, som sedan vidareutvecklas. Denna ska innehålla "the bare minimum" vad en plattformare brukar ha. Sedan om detta lyckas så kan man börja lägga till mer avancerade features sedan och lägga till lite pampigare musik och grafik och sånt. Men prio 1 är ju att få en prototyp över det iaf som fungerar.

Min tanke sedan om prototypen lyckas och det blir aktuellt att göra det mer avancerat, så är min tanke att det ska bli ett form av Metroidvania (för er som är bekant med den genren).

Vad som kommer behövas i grövre drag i ett sånt här spel är väl följande saker:
* Tilebaserad grafik med level editor
* Möjlighet att få in någon sorts fysik så man kan hoppa och sådana saker
* Stöd för handkontroll
* Möjlighet att spara och ladda spel
* Fiendegubbar (obviously)
* Med flera... (säkert glömt massor av saker)

Något som skulle kunna reserveras till sedan när det fundamentala är skapat är väl saker som:
* Bossar
* Möjlighet att hitta och uppgradera vapen
* Med flera godsaker...
Fast jag vågar inte säga överhuvudtaget hur aktuellt detta sistnämnda blir eftersom detta är nytt för mig med. Jag kanske sitter här med storhetsvansinne utan att veta om det.

Bra länk bland annat är LibGDX på Github, många repositories med färdiga exempelspel som man kan lära sig från:
https://github.com/libgdx
Samt deras Wiki:
https://github.com/libgdx/libgdx/wiki/

Skrivet av Tageos:

@MrDoggo: Nice! Har själv aldrig använt github egentligen utan bara gitlab. Jag brukar göra så att jag har en txt-fil alternativt pdf där planeringen står specad i repot.

Det var en intressant idé. Jag tror dock att jag lägger in backloggen i wikin istället sedan när den tagit form.

Permalänk
Medlem

Tjo!

Bidrar gärna med kunskaper inom LibGDX.

Har nött spel för Android & IOS i runt 4-5 år nu, allt med LibGDX.

Kan börja med att länka till min Guide jag gjorde förra året:

http://www.swedroid.se/forum/threads/hur-du-goer-ett-mobilspe...

Lycka till & återkom eller skicka ett PM om du behöver hjälp med något.

Jag har gjort allt från Singleplayerspel till Realtime multiplayer.

Vi lanserar ett nytt spel nästa vecka. För mer info se www.maseapps.com

VH

Martin
MaseApps

Visa signatur

[IT-Dept]
Ryzen 1700 OC - 32 - 1070

Permalänk
Medlem
Skrivet av martin_cs:

Tjo!

Bidrar gärna med kunskaper inom LibGDX.

Har nött spel för Android & IOS i runt 4-5 år nu, allt med LibGDX.

Kan börja med att länka till min Guide jag gjorde förra året:

http://www.swedroid.se/forum/threads/hur-du-goer-ett-mobilspe...

Lycka till & återkom eller skicka ett PM om du behöver hjälp med något.

Jag har gjort allt från Singleplayerspel till Realtime multiplayer.

Vi lanserar ett nytt spel nästa vecka. För mer info se www.maseapps.com

VH

Martin
MaseApps

Tack, det uppskattas! Då har du en hel del erfarenhet kring det märker jag, roligt att höra

Har varit iväg de senaste 2 dagarna så har inte hunnit progressat än, men ska definitivt posta frågor här när jag fastnar, så kan andra ta del av det ifall de stöter på samma bekymmer. Senaste gången jag kodade var det tiles, där man läste in en .tmx-fil och visade tilesen på skärmen. Jag märkte dock att man såg vertikala vita streck ibland när man rörde kameran. Om du har någon idé om vad det kan vara så vore det nice.

Min gameplay-klass som visar gameplay ser mer eller mindre ut såhär just nu:

public class GameplayScreen implements Screen { final PlatformerProto game; private TiledMap map; private OrthogonalTiledMapRenderer mapRenderer; private OrthographicCamera cam; public GameplayScreen(final PlatformerProto game) { this.game = game; // The camera will represent the in-game position cam = new OrthographicCamera(); cam.setToOrtho(false, 10, 10); cam.update(); } @Override public void show() { map = new TmxMapLoader().load("maps/map.tmx"); mapRenderer = new OrthogonalTiledMapRenderer(map); } public void handleInput(float delta) { if (Gdx.input.isKeyPressed(Input.Keys.LEFT)) { cam.position.x -= 200 * delta; } if (Gdx.input.isKeyPressed(Input.Keys.RIGHT)) { cam.position.x += 200 * delta; } if (Gdx.input.isKeyPressed(Input.Keys.UP)) { cam.position.y += 200 * delta; } if (Gdx.input.isKeyPressed(Input.Keys.DOWN)) { cam.position.y -= 200 * delta; } } @Override public void render(float delta) { // Handle input handleInput(delta); // Clear screen Gdx.gl.glClearColor(0, 0, 0, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); // Update camera cam.update(); game.batch.setProjectionMatrix(cam.combined); mapRenderer.setView(cam); mapRenderer.render(); } @Override public void resize(int width, int height) { cam.viewportWidth = width; cam.viewportHeight = height; cam.update(); }

Ska läsa din guide förresten, kul att se att det finns något på svenska.

Permalänk
Medlem
Skrivet av MrDoggo:

Tack, det uppskattas! Då har du en hel del erfarenhet kring det märker jag, roligt att höra

Har varit iväg de senaste 2 dagarna så har inte hunnit progressat än, men ska definitivt posta frågor här när jag fastnar, så kan andra ta del av det ifall de stöter på samma bekymmer. Senaste gången jag kodade var det tiles, där man läste in en .tmx-fil och visade tilesen på skärmen. Jag märkte dock att man såg vertikala vita streck ibland när man rörde kameran. Om du har någon idé om vad det kan vara så vore det nice.

Min gameplay-klass som visar gameplay ser mer eller mindre ut såhär just nu:

public class GameplayScreen implements Screen { final PlatformerProto game; private TiledMap map; private OrthogonalTiledMapRenderer mapRenderer; private OrthographicCamera cam; public GameplayScreen(final PlatformerProto game) { this.game = game; // The camera will represent the in-game position cam = new OrthographicCamera(); cam.setToOrtho(false, 10, 10); cam.update(); } @Override public void show() { map = new TmxMapLoader().load("maps/map.tmx"); mapRenderer = new OrthogonalTiledMapRenderer(map); } public void handleInput(float delta) { if (Gdx.input.isKeyPressed(Input.Keys.LEFT)) { cam.position.x -= 200 * delta; } if (Gdx.input.isKeyPressed(Input.Keys.RIGHT)) { cam.position.x += 200 * delta; } if (Gdx.input.isKeyPressed(Input.Keys.UP)) { cam.position.y += 200 * delta; } if (Gdx.input.isKeyPressed(Input.Keys.DOWN)) { cam.position.y -= 200 * delta; } } @Override public void render(float delta) { // Handle input handleInput(delta); // Clear screen Gdx.gl.glClearColor(0, 0, 0, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); // Update camera cam.update(); game.batch.setProjectionMatrix(cam.combined); mapRenderer.setView(cam); mapRenderer.render(); } @Override public void resize(int width, int height) { cam.viewportWidth = width; cam.viewportHeight = height; cam.update(); }

Ska läsa din guide förresten, kul att se att det finns något på svenska.

Hmm. Har aldrig upplevt vertikala streck när man pillar med kameran. Hur ser det ut & var uppkommer dessa?

Jag har i våra spel oftast haft en statisk kamera med vissa undantag.

Det ska ju räcka med att du "bindar" kamerans X & Y koordinater med spelarens & därefter rita ut.

Hittade en lösning:

Verkar vara ett vanligt problem när man använder Tiled.

"This is a pretty common problem and you are not the first to encounter it. Basically due to rounding errors when scaling and panning around, sometimes you will render the area "between" two tiles, which will result in nothing being rendered -> black background colour comes through.

You basically need to use some tools to add the padding to your tileset. In this forum thread I explained how to do it."

Se https://stackoverflow.com/questions/23144367/why-do-i-have-li...
För lösning.

Ang. min guide så är det nog inget du behöver läsa. Den är till för nybörjaren & lär denna att rita ut bild på skärmen samt basic funktioner.

VH

Martin

Visa signatur

[IT-Dept]
Ryzen 1700 OC - 32 - 1070

Permalänk
Medlem

Oj jag missade alltså att det hade skrivits om det online, fast jag hade sökt och allt. My bad.

Är lite svårt att förstå i vanlig ordning vad folk online skriver, då somliga är otydliga, fast efter jag kollade igenom tråden som länkades några gånger så hajade jag principen. Lyckades fixa det nu till slut genom att lägga till margin och spacing till 1 i Tiled när man skapar tileset. För att sedan i tilesbilden lägga till manuellt 1px mellan varje tile.

Verkar som grunden till problemet var något med avrundning, så provade bara för att att ta bort multiplikationen med deltatime och då uppstod inte felet heller.

Tack för hjälpen
Nu härnäst är det en gubbe som ska in på banan då.

edit:
Oj råkade glömma sätta tillbaka deltatime, verkar fortfarande vara kvar felet. Fick avrunda genom att casta med (int) när man ändrar positionen.

Permalänk
Medlem

Rekommenderar er titta på denna Playlist innan ni börjar från Extra Credits.
Ge den första videon 1 minut, hoppas att ni finner det intressant.

Permalänk
Medlem
Skrivet av SolidReactor:

Rekommenderar er titta på denna Playlist innan ni börjar från Extra Credits.
Ge den första videon 1 minut, hoppas att ni finner det intressant.
https://www.youtube.com/watch?v=z06QR-tz1_o&list=PLhyKYa0YJ_5...

Tack för länk, tittade igenom den och håller med om det de tog upp.

Förstår varför de väljer att ta upp scope, för som jag uppfattat det så går många in med inställningen att skapa nästa MMORPG när de ska skapa ett spel. Själv oroar jag mig inte så mycket över scope i sig, för jag är ganska kravlös och vill skapa ganska simpla saker. Men för att minska risken ytterligare för att man har för stora mål så tänkte jag att man gör någon form av prototyp först som är så simpel den kan vara, för att sedan bygga vidare på den.

Permalänk
Medlem
Skrivet av MrDoggo:

....Själv oroar jag mig inte så mycket över scope i sig, för jag är ganska kravlös och vill skapa ganska simpla saker....

Bra, titta på andra videon i serien, playlisten, för good practices

Det som är mest intressant med spelutveckling är allt runt om kring vilket serien går mycket igenom.

Permalänk
Medlem

Slänger in en post här för att visa intresse för projektet. Kommer hålla ett öga på framstegen. Kanske eventuellt kan hjälpa till med musik och ljudeffekter. Pysslat en hel del med musikproduktion på datorn genom åren, även en hel del retrogrejer (chiptunes) på både amiga och pc.

Varit lite sugen på att komma in i det igen, bara pysslat med nutida DAWs senaste åren. Har specifikt kollat på famitracker som bl.a. Jake Kaufman gjorde soundtracket till Shovel Knight i.

Korten på bordet så är problemet (iaf. med musiken) att jag är ambitiös på gränsen till enormt självkritisk, ger lätt upp när jag fastnar och inspirationen tar slut. Men jag är fortfarande väldigt intresserad att ge det ett försök eller fem. Släng iväg ett pm om det låter ok

Permalänk
Medlem

Såg att du hade som en checkpoint i listan att lösa hur man sparar spel.

Här kommer en snabbt och enkelt sätt att spara datan lokalt. Datan raderas ej om du uppdaterar appen utan endast om användaren avinstallerar spelet.

Först skapa en save & load class. Använd sedan dessa simpla metoder!

public void load_level(){ // level Preferences prefs1 = Gdx.app.getPreferences("level"); game.level = prefs1.getInteger("level"); // här får du ju också hantera undantag om t.ex. level skulle vara lägre än 1 } public void save_level(){ // level Preferences prefs1 = Gdx.app.getPreferences("level"); prefs1.putInteger("level", game.level); prefs1.flush(); }

om du vill spara ett värde av annan datatyp är det bara ersätta t.ex. putInteger med putBoolean

Riktigt smidigt!

VH
Martin

Visa signatur

[IT-Dept]
Ryzen 1700 OC - 32 - 1070

Permalänk
Medlem
Skrivet av elBenko:

Slänger in en post här för att visa intresse för projektet. Kommer hålla ett öga på framstegen. Kanske eventuellt kan hjälpa till med musik och ljudeffekter. Pysslat en hel del med musikproduktion på datorn genom åren, även en hel del retrogrejer (chiptunes) på både amiga och pc.

Varit lite sugen på att komma in i det igen, bara pysslat med nutida DAWs senaste åren. Har specifikt kollat på famitracker som bl.a. Jake Kaufman gjorde soundtracket till Shovel Knight i.

Låter bra! Ska försöka progressa lite varje eller varannan dag så att prototypen blir klar inom rimlig tid, inte för att det är tidspress, men mer för att projektet ska flyta på.

Gillar personligen musiken till Shovel Knight och tar faktiskt en del inspiration från bland annat just det spelet. Du får jättegärna hjälpa till

Citat:

Korten på bordet så är problemet (iaf. med musiken) att jag är ambitiös på gränsen till enormt självkritisk, ger lätt upp när jag fastnar och inspirationen tar slut. Men jag är fortfarande väldigt intresserad att ge det ett försök eller fem. Släng iväg ett pm om det låter ok

Känner igen vad du menar angående att få slut på inspiration och dylikt. Det andra att vara självkritisk och ambitiös är ju något bra dock. Är glad att du är intresserad och öppen för att ge det försök.

Skrivet av martin_cs:

Såg att du hade som en checkpoint i listan att lösa hur man sparar spel.

Här kommer en snabbt och enkelt sätt att spara datan lokalt. Datan raderas ej om du uppdaterar appen utan endast om användaren avinstallerar spelet.

Först skapa en save & load class. Använd sedan dessa simpla metoder!

public void load_level(){ // level Preferences prefs1 = Gdx.app.getPreferences("level"); game.level = prefs1.getInteger("level"); // här får du ju också hantera undantag om t.ex. level skulle vara lägre än 1 } public void save_level(){ // level Preferences prefs1 = Gdx.app.getPreferences("level"); prefs1.putInteger("level", game.level); prefs1.flush(); }

om du vill spara ett värde av annan datatyp är det bara ersätta t.ex. putInteger med putBoolean

Riktigt smidigt!

VH
Martin

Tackar! Vet inte exakt när jag ska lägga till den delen av programmet, fast blir glad att se att den saken verkar straight-forward åtminstone att implementera, gentemot somliga saker som vart lite svåra att sätta sig in i.

Skrivet av SolidReactor:

Bra, titta på andra videon i serien, playlisten, för good practices

Det som är mest intressant med spelutveckling är allt runt om kring vilket serien går mycket igenom.

Will do! Finns nog mycket matnyttigt, särskilt för amatörer som en själv

Permalänk
Medlem

(Har inte läst tråden!)
Inte för jag kan tillföra något, men jag skulle vilja ha ett IWBTB / Super Meat Boy-aktigt spel Har klarat ut båda och vill ha något att bita i.

Visa signatur

14700k @ Stock . 32GB @ 4000MHz . 3070 @ +100/+800MHz
240+360 rad custom loop

Permalänk
Medlem

Ägnade kvällen igår åt att försöka få kollision med tilesen på banan. Lyckades göra det med den traditionella metoden först genom att lägga in lite egna intuitiva hacks för att få något resultat som såg ok ut tillfälligt. Fast insåg att om man skulle göra det med Box2D (som är den fysikmotorn som många använder) så var man tvungen att ändra på ganska mycket. Således tog detta lite längre tid än planerat, så får fortsätta idag.

Vet sedan jag kodat några spel för länge sedan vilken plåga det kan vara att få till plattformskollision och fysiken på ett tillfredsställande sätt. Kan man inte bara få någon etablerad lösning på detta och sedan jobba vidare på det kan man känna. Känns mycket som man återuppfinner hjulet ärligt talat. Läste bland annat att andra som skapat kända plattformare fick ägna flera månader bara för att justera så att fysiken kändes bra.

Läste att många favoritspel såsom Shovel Knight använde Box2D för fysiken, vilket var det som fick mig att kolla runt lite om just Box2D. Det visade sig vara väldigt populärt att använda och hade portats till många språk. Fast nu efter att ha läst runt verkar det råda blandade åsikter, där flera anser att en fysikmotor är overkill och rent utav överkomplicerar 2D-plattformare även om det är ett jättebra verktyg. Många föreslår att man gör denna del själv hellre eftersom fysiken är svårjusterad och så vidare. Hittade en random artikel om ämnet, finns säkert flera:
http://www.learn-cocos2d.com/2013/08/physics-engine-platforme...

Det blir mycket bollande fram och tillbaka med verktyg, även om det försökte undvikas. Är väl oundvikligt kanske. Fast lär överge iden om att använda Box2D ändå.

Skrivet av solomon:

(Har inte läst tråden!)
Inte för jag kan tillföra något, men jag skulle vilja ha ett IWBTB / Super Meat Boy-aktigt spel Har klarat ut båda och vill ha något att bita i.

Har inte kört förstnämnda, fast gillade Super Meat Boy. Läste att det spelet tog månader att få till en bra fysik på, men de lyckades ju bra.

Permalänk
Medlem

@MrDoggo:

Finns rätt enkelt sätt att lösa kollisionen.

Skapa en rektangel för varje tile samt placera den bakom & kolla sedan om spelaren overlappar någon ut av dem.

Rectangle rect, player; create(){ this.rect = new Rectangle(x,y,width, height); this.player= new Rectangle(x,y,width, height); } public void collision(){ if(player.overlaps(rect){ // gör något } }

Dock i ditt fall får du ju skapa en lista av en jävla massa rektanglar och placera ut dem enligt dina tiles. Går nog att lösa om man klurar ut någon bra metod.

Jag brukar i våra spel skapa GRIDS bestående av rektanglar/cirklar som är exakt utplacerade över skärmen.

För att sedan kolla t.ex. om spelaren eller andra objekt kolliderar med dem.

VH

Visa signatur

[IT-Dept]
Ryzen 1700 OC - 32 - 1070

Permalänk
Medlem

Kollisionen i sig är inte något problem att checka, det är bara hela interagerandet mellan alla delar i en plattformare som är det besvärliga. Dvs att allt från gravitation, acceleration, kollision och sånt ska fungera på ett tillfredsställande sätt. Är spelkaraktären i luften så ska gravitationen dra ner karaktären. Karaktären ska inte kunna gå in i block och ska inte åka rakt igenom dem av gravitationen och så vidare.

Det är detta jag ogillar med plattformare, ingen har någon egentlig bra idé online när man söker de kan dela över hur man kan utföra det på ett bra sätt, ändå finns det massvis med plattformare. Inte ens i pseudokod hittar jag något bra. Det är som om det är någon hemlighet som folk håller på. Har lyckats göra en basic form nu ikväll dock, fast den har många brister, inte minst att jag kollar kollision på ett väldigt ineffektivt sätt. Men måste få fram något resultat så man inte grottar ner sig på en detalj, för att ta optimeringar och sånt kan man göra sedan. Slänger upp ändringarna nu även om det är ganska dåligt gjort.

Skälet att den inte hamnar alldeles intill blocken ibland är för att den återgår till en föregående position och när farten är hög så hamnar den mellanskillnaden ovanför. Förstår inte varför, men gör man som folk online föreslår, dvs använda deltaTime till rörelser så blir det så enormt segt. Detta verkar inte andra lida utav. Jag måste använda velocity på flera tusen för att gubben ens ska röra sig när jag använder deltaTime på gravitationen exempelvis.

Permalänk
Medlem

Mycket intressant initiativ! Jag själv har ju velat skapa spel sedan jag var liten. Har ju kunskaper inom C# och .NET Framwork, så jag kan ju ge lite tips och förslag.

Har själv jobbat med ett par spelprojekt själv och även läst kurser inom spelprogrammering. Skapade dels en breakout klon och ett spel med en spelmotor som jag och en annan hjälptes åt med att göra.

Så om du vill lägga till mig så är det helt okej om du vill ha tips och förslag.

Jag är på!

Visa signatur

Utvecklare inom Full Stack .NET, ASP.NET, Java, SQL, MySQL, XNA, jQuery, Javascript

Main PC: AMD Ryzen 5 7600X, MSI MAG CORELIQUID 420, Kingston FURY Beast DDR5 5600MHz 32GB, ASUS Prime B650M-A Wifi, MSI RX 6650XT, Crucial 480GB SSD, WD Blue 1TB, WD Green 500GB, Windows 10 Pro x64

Permalänk
Medlem

https://github.com/MrDoggo/platformer-proto/commit/98db31fcf6...

Där är senaste. Nu går det att klona ner projektet och styra en gubbe (rektangel) som kolliderar med blocken. Det ser inte fint ut, men är en början.

Har fått frågor via PM om hur de ska kunna bidra till projektet och sanningen är att det har vart svårt att veta för min del exakt vilka som är intresserade och inte. Således har det vart svårt att ge något officiellt arbetsflöde tills man vet mer hur folk känner. Som det ser ut nu kan ni antingen klona ner projektet och göra ändringar och testa att det fungerar och sedan göra en så kallad pull request. Annars om Github är någon ni är väldigt obekanta med, så kan ni alltid klona ner projektet och bara posta här i forumet om ni kommit på något och gjort någon ändring så kan jag lägga in det manuellt.

Skulle det vara mer organiserat och man hade mer svart-på-vitt vilka som var med och inte och hur folk kände kring det, hade jag förstås lagt upp det mer strukturerat och skapat en developer-bransch av något slag och kanske haft ett agilt bräde och så vidare. Är själv inte någon expert än, så uppskattar förslag om någon tycker att det är något jag kan göra bättre.

Skrivet av Algoroth:

Mycket intressant initiativ! Jag själv har ju velat skapa spel sedan jag var liten. Har ju kunskaper inom C# och .NET Framwork, så jag kan ju ge lite tips och förslag.

Har själv jobbat med ett par spelprojekt själv och även läst kurser inom spelprogrammering. Skapade dels en breakout klon och ett spel med en spelmotor som jag och en annan hjälptes åt med att göra.

Så om du vill lägga till mig så är det helt okej om du vill ha tips och förslag.

Du får jättegärna vara med. Hur föredrar du det, ska jag lägga till dig som collaborator på Github?

Om du vill ge tips och förslag kan du göra det här direkt i tråden också