Dark Harvest:De technologie achter het spel

Door stealthgun op donderdag 15 november 2018 12:00 - Reacties (8)
Categorie: Algemeen, Views: 1.248

Een tijdje geleden heb ik al een post geplaatst dat ik met een nieuw spel bezig was, het spel is inmiddels al wat verder en de basis staat er, ik heb op itch.io deze dev blog ook staan als je hem daar graag leest, daar is de dev blog in het Engels terwijl ik hem hier in het Nederlands zet.

het verhaal en de technologie achter het spel

Ik maak Dark Harvest alleen, maar ik heb wel een doel voor ogen. Ik geloof dat Indie games niet klein hoeven te blijven. Een ontwikkelaar kan groot denken en het spel een episch gevoel geven, bijna zoals een AAA game. Maar dit alles met maar 1 ontwikkelaar die alles samenbrengt.

Hoe het allemaal begon
Het is allemaal begonnen toe Epic Games bekent maakte dat ze 12 miljoen dollar aan assets beschikbaar zouden stellen van hun spel Paragon. Op het moment dat ik de assets zag had ik gelijk een visie, een Action RPG op een schaal die ik nog nooit eerder had gemaakt.

Dus ik dacht, waarom maak ik het spel niet met achievements, social features en data opgeslagen in de coud. Op die manier kan je op een andere pc het spel hebben staan, inloggen en verder gaan met het verhaal. Met een 'in-game store' zodat ik het spel gratis kan maken, maar als iemand het spel leuk genoeg vindt alsnog geld kan betalen.

De start
Ik was me er zeer van bewust dat het geen makkelijke taak zou worden, dus ik ging op een missie: Op zoek naar producten die het spel mogelijk zouden maken.

De game engine keuze was makkelijk, ik heb al ruim ervaring met de Unreal Engine 4 en de licentie van de assets maakte het ook niet mogelijk om een andere game engine te gebruiken. Dit was de eerste stap.

Het volgende wat moest gebeuren is het uit vinden of het Łberhaupt mogelijk was om het spel te maken wat ik had uitgedacht. Hierom begin ik heel klein, met een karakter (Murduck) en een vijand, om uit te vinden of ik de basis van het spel kon maken.

het eerste deel van het spel is er nog steeds, het is het kleine open stukje en de verhoging erna waar je de eerste vijanden tegen komt.

https://img.itch.zone/aW1nLzE2MTcyNzAuanBn/original/P4Qfd5.jpg

Ondanks dat het er nu nog bijna hetzelfde uitziet, zie je wel kleine details.

https://img.itch.zone/aW1nLzE2MTcyNjkucG5n/original/9dS3Wk.png

Je ziet deze veranderingen ook in andere delen van de wereld, deze zien er nu een stuk mooier uit.

https://img.itch.zone/aW1nLzE2MzUyNTUucG5n/original/eweexZ.png

Het spel naar de cloud brengen
Het was technische mogelijk om te spel te maken. Nu was de tijd gekomen om alles samenwerkend te maken.

Ik heb twee platformen gevonden die indie developers een kans boden om hun project werkend in de cloud te krijgen zonder dat da tgeld zou kosten anaf het begin, Gamesparks en Playfab.

Ik heb naar beide gekeken maar Game Sparks had een paar features die ik leuk vond, maar Playfab miste "out of the box" achievements en een chat systeem. Dit waren belangrijke punten voor mij om Game Sparks te kiezen boven Playfab.

Dus, ik ben begonnen met het bouwen van de cloud plaform en deze te implementeren in het spel. Nu had ik nog een horde om te nemen: De in-game store.

Voor de in-game store heb ik gekozen voor Xsolla, ik kon nergens een ander platform vinden die een standard website had zonder kosten vooraf. Het enige probleem is dat Gamepsarks en Xsolla geen API-connectie hebben met elkaar, dus deze heb ik zelf moeten maken. Ik heb hiervoor gebruik gemaakt van mijn eigen webserver en daarop meerdere REST API's gebouwd om het spel te ondersteunen.

https://img.itch.zone/aW1nLzE2MTcyODAucG5n/original/%2B99lCJ.png

Dit is alle datacommunicatie die plaats vindt om het spel mogelijk te maken. Dit zie je vaker met AAA-games, maar niet met zoveel indie games.

Het spel verspreiden zonder kosten
De grote vraag die ik nog had openstaan is het spel uitbrengen zonder dat spelers het hele spel iedere keer opnieuw zouden moeten downloaden. Ik heb een opensource launcher gevonden genaamd "Lauchpad", de launcher is klein en compact maar had voor dit project een paar kleine issues voor dit project.

De launcher maakt het mogelijk om alleen de bestanden te updaten die daarwerkelijk zijn belangrijk, wat op hun beurt de gebruikers alleen maar de bestanden te laden downloaden die voor hun achterlopen op de huidige versie.

Ik heb de launcher aangepast naar mijn eigen behoeftes om de issues op te lossen die ik had en ik ben zeer blij met het resultaat.

https://img.itch.zone/aW1nLzE2MTcyODYucG5n/original/RGhGXf.png

Ik heb een gratis plaats voor het plaatsen en verspreiden van het spel via TransIP via hun speciale Stack promotie die ze een tijd geleden hebben gedaan. Hierdoor ben ik niet meer bezorgt door de data die verbruikt gaat worden. Dus nu kon ik het spel verspreiden tegen zeer lage kosten, maar met genoeg potentie om te groeien.

Groeien, 1 ticket per keer
Het hele idee van de backbone van het spel is altijd groeien zonder uit te vinden dat er problemen zijn met de groei geweest. Dit zie je terug in de manier waarop support tickets worden afgehandeld.

Mijn keuze voor een ticket systeem is gegaan naar Azure Dev Ops, deze keuze was redelijk makkelijk omdat dit ook al de plek is waar de source code van het spel is opgeslagen. De reden dat ik voor Azure Dev Ops heb gekozen hiervoor is omdat hier geen limiet is aan de data die je kan opslaan in de git repository.

Het hele project is op dit moment ongeveer 200GB groot, met alle assets die opgeslagen moeten worden en de veranderingen op alle assets die gemaakt zijn maken dat die getal zo groot is en naar alle waarschijnlijkheid nog gaat groeien.

Wat mij heeft geholpen om een eigen ticket systeem te maken is dat Azure Dev OPS-ondersteuning heeft voor REST Services. Dus ik had nu de middelen om een eigen ticket systeem te hebben op mijn website en de servers te laten communiceren met elkaar. Dit allemaal om te zorgen dat een speler een ticket kan maken, deze in Azure Dev Ops wordt gezet en als de ticket wordt geŁpdate of een comment krijgt in Azure Dev Ops deze ticket weer teruggezet wordt en vice versa. Dit maakt het mogelijk om als een ticket is geŁpdate de gebruiker te informeren hierover zodat hij de status nog een keer kan bekijken.

Dit is allemaal onderdeel van de visie om het spel te kunnen laten groeien zonder dat er straks 10.000 spelers zijn en er dan een oplossing gevonden moet worden voor een probleem waar ik al aan had kunnen denken. Ik ben er bijna zeker van dat er nog wel een probleem zal zijn, maar ik denk dat ik aan de meeste al heb gedacht.


En nu vooruit
The game is nu officieel uitgebracht en heeft inmiddels al twee updates gehad. De game zal ook updates blijven krijgen met meer Content en meer Features. Alle heroes krijgen nog een "special ability" en een "defensive ability".
Er zullen meer (eind-)bazen in het spel komen en nog zes werelden die je kan verkennen. Maar eerst ga ik de eerste wereld af maken en het eerste deel van het verhaal.
De focus van de komende updates gaan dus ook vooral content zijn om te zorgen dat er steeds meer gameplay in het spel zit. Hopelijk gaat dit er tot toe leiden dat het spel een succes gaat worden.
Ik zie er heel erg naar uit om dit spel een succes te maken en ik hoop dat jullie met mij het spel een succes willen maken, want zonder spelers is het spel niks uiteindelijk.

Tot slot
Als je het spel leuk vind en graag wilt steunen kan je Dark Harvest aan je itch.io collectie toevoegen, hierdoor krijgt de game meer exposure en hopelijk een grotere playerbase.

Je kan het spel ook direct downloaden vanaf de website: https://www.darkharvestgame.com/download/
En een account aanmaken via: https://www.darkharvestgame.com/register/

Heb je het spel al eens geÔnstalleerd, dan krijg je de updates automatisch via de launcher.

Volgende: Help Dark Harvest Indie game van 2018 te worden! 01-12 Help Dark Harvest Indie game van 2018 te worden!
Volgende: Hospital Inc. Een update 30-07 Hospital Inc. Een update

Reacties


Door Tweakers user himlims_, donderdag 15 november 2018 15:37

*O* grats met release! zal m vanavond testen


Door Tweakers user TheFes, vrijdag 16 november 2018 13:59

Typo in je launcher scherm
Heroes now let you know when they are low on health (less then 20%)
Dit zou (less than 20%) moeten zijn.

Verder ziet het er erg interessant uit. Jammer dat ik geen tijd heb om te gamen (en er ook de hardware niet voor heb trouwens).

Door Tweakers user stealthgun, vrijdag 16 november 2018 14:40

TheFes schreef op vrijdag 16 november 2018 @ 13:59:
Typo in je launcher scherm

[...]

Dit zou (less than 20%) moeten zijn.

Verder ziet het er erg interessant uit. Jammer dat ik geen tijd heb om te gamen (en er ook de hardware niet voor heb trouwens).
Dank je zou het even aanpassen in de changelog.

Door Tweakers user Rowdy.nl, dinsdag 20 november 2018 16:27

Niet mijn genre, maar toch zeer benieuwd. Na het registreren heb je iig een typo: An email has been send, please click the link in the email to proceed futher. (hier mist een R)

Door Tweakers user stealthgun, dinsdag 20 november 2018 16:30

Rowdy.nl schreef op dinsdag 20 november 2018 @ 16:27:
Niet mijn genre, maar toch zeer benieuwd. Na het registreren heb je iig een typo: An email has been send, please click the link in the email to proceed futher. (hier mist een R)
Dank je ik pas het aan :)

Door Tweakers user Duskwither, zondag 2 december 2018 11:36

Rowdy.nl schreef op dinsdag 20 november 2018 @ 16:27:
Niet mijn genre, maar toch zeer benieuwd. Na het registreren heb je iig een typo: An email has been sent, please click the link in the email to proceed futher. (hier mist een R)
Nog een typo, sent moet hier met een T. Verder lijkt proceed further me dubbelop, je zou further weg kunnen laten.

Door Tweakers user stealthgun, zondag 2 december 2018 13:55

Duskwither schreef op zondag 2 december 2018 @ 11:36:
[...]


Nog een typo, sent moet hier met een T. Verder lijkt proceed further me dubbelop, je zou further weg kunnen laten.
Dank je aangepast :)

Om te kunnen reageren moet je ingelogd zijn. Via deze link kun je inloggen als je al geregistreerd bent. Indien je nog geen account hebt kun je er hier ťťn aanmaken.