Dark Harvest:De technologie achter het spel

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

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.

Hospital Inc. Een update

Door stealthgun op maandag 30 juli 2018 09:00 - Reacties (16)
Categorie: Algemeen, Views: 3.492

het is al even een tijdje geleden dat ik een blog post heb gemaakt.
Dit heeft als reden dat ik al een tijdje niet meer actief bezig ben met Hospital Inc.

Even wat rustiger
Dat ik er minder mee bezig ben heft meedere reden, maar de grootste reden is dat ik vind dat ik vast zit, ik heb het gevoel dat ik het spel met moeite verder vooruit kan brengen.

Ik heb daarom besloten om even afstand van het spel te nemen en me te richten op wat andere dingen om later met een frisse blik weer naar het spel te kijken.

2 jaar lang heb ik eraan gewerkt, hierdoor heb ik een soort "hospital inc" burn-out, het nu doorzetten van het spel gaat alleen maar leiden tot een slechtere kwaliteit. De keuze om het rustiger aan te doen was niet een gemakkelijke keuze, maar ik kon mij steeds minder zetten tot het blijven ontwikkelen.

En nu verder
Het spel gaat afgemaakt worden, misschien dat ik een gehele reskin ooit ga doen als ik betere assets kan krijgen die passen bij het spel, of ik ga door met de assets die ik al heb. Maar het gaat een volledig spel worden.

Verder ben ik bezig met een totaal ander project, namelijk een action RPG. Na het uitgeven van de Pragon assets door Epic games had ik er gelijk een idee en een visie mee.

Dit spel is Dark Harvest gaan heten, natuurlijk ook op de Unreal Engine 4 gemaakt, over dit spel komt geen blog. het spel is deels speelbaar, de eerste wereld is voor een klein deel af.

Wat ik eerst wil is zorgen dat het hele platform van het spel werkt om te zorgen dat ik straks heel makkelijk de werelden kan uitbreiden waardoor er meer content is.

Op het moment van schrijven is er misschien 15 aan gameplay, maar dit gaat snel meer worden, de launcher is (gratis) te downloaden via de website voor mensen die toch benieuwd zijn.

Meer informatie over Dark Harvest kan je vinden op www.darkharvestgame.com.

Tot slot
Ik hoop dat iedereen kan snappen waarom ik Hospital Inc. even op een heel laag pitje zet, Ik wil iedereen bedanken die het spel heft gesteund.

Hospital Inc. Nieuwe release en central park

Door stealthgun op maandag 9 april 2018 09:00 - Reacties (12)
Categorie: Algemeen, Views: 2.378

Nou na lang zwoegen is het zo ver, eindelijk zit opslaan en laden in het spel.

De changelog is hier te vinden.

Opslaan en laden
Het laden en opslaan van het spel doe je vanuit het menu.

Een autosave wordt gemaakt bij elke nieuwe dag.

Amublances worden niet opgeslagen en staan bij het laden weer in het ziekenhuis, dit is express gedaan zodat ambulances die zo vast staan dat ze niet meer kunnen rijden nu daadwerkelijke te resetten zijn.

Met deze functie in het spel, is het spel echt speelbaar omdat je niet steeds opnieuw moet beginnen.

Central Park
In deze release is ook central park af gemaakt.

https://tweakers.net/ext/f/fNP0HhgDUcDxl9CQ5LIHcWG1/medium.png

Ik wil nu elke release een nieuw stukje van de stad afmaken om te zorgen dat hier ook weer wat aan wordt gedaan.

Hospital Inc: Nieuwe release 0.4

Door stealthgun op maandag 19 maart 2018 09:00 - Reacties (8)
Categorie: Algemeen, Views: 3.500

Na een lange tijd sleutelen is het eindelijk zo ver de 0.4 update.

Een uitgebreidere devblog over deze update vind je op mijn gamejolt pagina.

De eerste "stage 3" ziektes zitten nu in het spel en ik heb een MRI scanner er bij gebouwd.

https://tweakers.net/ext/f/rVIAmRheANg742iddM8Tt85G/medium.png
De MRI scanner

Save games
In een van de 0.4.x updates zal ook het laden en opslaan van het spel erin komen, dit is wel iets wat ik er snel in wil hebben nu omdat je zo kan blijven doorspelen inplaats van steeds het begin steeds weer opnieuw moet beginnen, terwijl ik de 0.4 updates nog blijf verbeteren en de stage 3 in zijn geheel afmaak.

En nu verder
Nu ga ik bezig met de laatste fase aan ziektes, de stad afmaken, meer ziektes, meer ongelukken en verder verbeteringen.

De volgende grote update zal ook doctoren en verpleegsters bevatten, als dit alles is gemaakt is de basis van het spel af en gaan we verder met de Beta versie waarin ik alles ga optimaliseren en verbeteren. Maar in de Beta zullen dus geen hele grote veranderingen meer zitten op hoe het spel speelt.

https://tweakers.net/ext/f/b0befxbdy2DmzQMjIe1cZUup/medium.png
Patienten die bij een kamer wachten

Hospital Inc. De volgende stap

Door stealthgun op maandag 5 maart 2018 09:00 - Reacties (9)
Categorie: Algemeen, Views: 2.715

De afgelopen tijd was wat druk voor mij en ook wat dingen die speelde op persoonlijk vlak die het ontwikkelen van de 0.4 update wat hebben vertraagd.

Maar het spel staat niet stil! Ik heb nog een tussen update 0.3.4 uitgebracht, deze had wat bugfixes. Een van de grootste bugs die is opgelost is dat de Ambulances nu niet meer zo snel vast komen te zetten.

De 0.3 update is redelijk wat gespeeld met (op het moment van schrijven 303 downloads & installaties waarvan windows 84,78%, linux 7,27% en Mac 5,88% aandeel heeft.
Op het moment van schrijven hebben 14 mensen het spel daadwerkelijk gekocht waarvoor dank natuurlijk.

Het werk aan de 0.4 update staat niet stil en is ook al redelijk op weg, in deze blog wil ik wat ingaan op de progressie die de afgelopen tijd gemaakt is.

Ambulance fix
Als een ambulance nu vast komt te zitten zal deze terug worden gezet naar zijn vorige road-node. Vanaf deze road-node zal de ambulance proberen los te komen, mocht dit niet lukken zal dit proces zich net zo lang herhalen totdat de ambulance echt los is.

Hier onder een video van het system:


Bankjes
Een leuke update die er aan zit te komen is dat de patiŽnten bankjes efficiŽnter gaan gebruiken. Waar ze eerst random door het ziekenhuis gingen zitten zit er nu wat logica achter.

Als je maar een kamer hebt gebouwd van de kamer-soort (bijvoorbeeld maar een "examination room") dan gaat de patiŽnt opzoek naar het dichtstbijzijnde bankje in de buurt van de kamer.

Als je meerder kamers van een kamer-soort hebt gebouwd (bijvoorbeeld twee "doctors offices") dan gaat de patiŽnt opzoek naar een bankje tussen deze kamers in, op deze manier zorg ik er voordat de patiŽnt relatief even ver moet lopen naar een van beide kamers (of hoeveel je er ook maar hebt gebouwd).

Mocht een kamer nog niet zijn gebouwd (en de patiŽnt kan dus niet naar de kamer toe) dan gaat de patiŽnt opzoek naar een bankje het dichtstbij hemzelf.

Dit zorgt er voor dat de doorstroom in je ziekenhuis aanzienlijk verbeterd en nu wordt het plaatsen van bankjes dus ook echt een spel element.

Berichten
Ik merkte zelf dat tijdens het spelen er steeds meer gebeurd waar je je aandacht op moet houden, af en toe was het lastig om overal nog overzicht over te houden. hierom heb ik nu een berichten systeem gemaakt die aangeeft wat er allemaal gebeurd.

Je krijgt op het moment een bericht als:
  • Wanneer een patiŽnt zijn volgende kamer niet kan vinden
  • Wanneer een patiŽnt geen bank kan vinden om op te zitten
  • Een nieuwe ziekte is ontdekt
  • Een patiŽnt beter is gemaakt
  • Een patiŽnt boos naar huis gaat
  • Als er een vaccinatie nodig is maar deze niet op voorraad is
  • Als een ambulance bij het ongeluk te plaatse is
  • Als een ambulance van het ongeluk wegrijdt
  • Als er een autosave is aangemaakt
https://tweakers.net/ext/f/bAGstPyCN33ByxVfTMWTFsyk/medium.png
Berichten overzicht

Met dit berichten systeem wil ik het overzichtelijker maken wat er allemaal moet gebeuren.

Vaccinaties
De grootste stap en verandering in de 0.4 update gaan de vaccinaties worden. Ik ben hier al mee aan de slag alleen het is nog niet af als de vaccinaties werken (dit zal in de eerste 0.4 update een of twee vaccinaties zijn) dan kan ik de 0.4 update uitbrengen omdat het vervolg dan aanzienlijk sneller zal gaan.

Ik heb de logica voor de patienten dat we gaan wachten als er geen vaccinatie is al gebouwd. Wat er nu nog moet gebeuren is het UI verder afmaken en zorgen dat vaccinaties geld kosten en dat als een patient een vaccinatie gebruikt dat deze van het total aantal afgaat.

Wat ik ook wil doen is dat je kan zien dat er vaccinaties zijn opgeslagen in de ruimte die je bouwt voor vaccinaties. Dit heeft verder geen nut voor de gameplay maar vind het zelf leuk om er in te bouwen :)

https://tweakers.net/ext/f/0fhMN42pYB1tqvZG0yDLNBL2/medium.png
Eerste opzet van de vaccinatie UI

Mac OSX support
Na wat onderzoek ben ik er achter gekomen dat ik Mac OSX kan ondersteunen, maar dit gaat jammer genoeg niet zonder een kleine investering. Ik kan niet zomaar het spel maken voor Mac OSX dus ik zal een OSX machine moeten 'inkopen' bij macincloud.com om vanuit daar dan de OSX builds te maken.

Ik wil hier nog wel even mee wachten om te kijken of de kosten uit kunnen, het is nou eenmaal zo dat ik zou moeten betalen om de machine te krijgen en als ik dit voor iedere build en bugfix zou moeten doen kan dit best nog wel wat gaan kosten per maand. Voor $30 kan ik 30 uur de machine laten draaien. Maar dan wil ik wel zeker weten dat ik die kosten er ook uit krijg. Hierover binnenkort meer.

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank en Intermediair de Persgroep Online Services B.V.
Alle rechten voorbehouden © 1998 - 2018 Hosting door True