Motivation wise, few things are better than a final breakthrough in gamedev.
Whether you finally see intelligence in that new AI, squash that old bug, or you are like me just now: IT IS FANTASTIC!
I just finished work on a really boring, technical, ugh-inducing system that took me weeks to finish -
YEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!
To be brief, I just finished revamping how I load my huge open world & spawn in the player. Streaming assets via AssetBundles, loading/unloading assets only as theyâre needed, and syncing it with authoritative multiplayer (so Server loads multiple active areas for all active players, while the Client just loads only their own location). A lot more work (and boring work) on a system I didnât realize I even needed until it came to that point (couldnât just load everything into memory like I had been doing).
Although Iâm not finished - Have to fix a few bugs, finish some methods to unload areas safely, and probably a bit more - it took me weeks to finally get to this magnificent point: I can see progress! Before it was all just debug logs & reading documentation. Placeholder mainmenu scenes with no player to even move around. Reading logs. Testing. Tweaking. Testing. Over & Over & Over. What game was I working on again?
TextLog2: The Debuggening?
As of this moment, it actually fully loads during Play as the player travels & it finally hit me: âI am nearly finished with this system!â Hazzaahhhh!!!
very congratulations. Now, before you do anything else, archive the project folder. If something happens, delete the project, and unzip the folder to get the project that âworksâ back and go from there again. if something DOES happen, you will want to go back to this point right now.
after your project is safe, grab you a beer, a coke, etc. you deserve it
Thanks for the tips & making sure I know this. It is always a necessity to make sure everyone knows the necessity of backing up their projects.
I backup my project & every change via Crashplan (minute to minute & infinite version control) & once more via Dropbox (online) and also Dropbox is syncâd to two other computers. So at any one time, my project is backed up on 3 devices and 2 cloud services. Crashplan having infinite version control. I also zip & backup the entire folder every now & then.
Iâm happy to hear youâre making progress and Iâm looking forward to finally seeing what youâre working on soon. Are you back on away mission yet or is that still your other project?
Personally - and I donât know why exactly - I seem to barely be able to feel like Iâve actually finished something. Thereâs always this looming dread of âthis might not have been all there is to doâ, for months, and then I simply forget about the thing over time. It might have something to do with the fact that the rate of projects that come back âunexpectedlyâ feels so high that it has actually become the âexpectedâ thing to happen.
That is awesome!!! Congrats! I know that feeling all too well. I spent a month working on trying to get my mouse to move my characters head and figure out how to clamp the horizontal and vertical rotation. I finally was able to get it work this past week. The sense of satisfaction was awesome. I felt a slowly growing sense of confidence, maybe I can do this?
I am new to coding and have been learning since 2016. I was so happy I actually do think it is important to take a step back and recognize how much progress you have accomplished! It is so easy to forget about your progress and focus on what is ânext to doâ
Congrats again! Enjoy this moment and best wishes with your project
Unfortunately I am not back to Away Mission. My current project is an open world COOP travel/survival adventure game, set in a world of childhood imagination. Think Dont Starve & Skyrim-Lite meets Gravity Falls & Pagemaster. I am getting very close to the big reveal.
That type of game (open world multiplayer sandbox) is very difficult. More than I thought it would be. So at times like this (before breakthrough) I thought many times of putting down the project and work on Away Mission (a much simpler game, even though I felt at the time it was going to be more complex). I underestimated the difficulty of adding multiplayer. It is so much more work than just syncing objects via the network. Everything, and I mean everything, has to be structured so differently.
But my team has near 2000 hours in the game already. So I am too far in to switch.
I definitely get that feeling. If it doesnt end eventually, it can tank a project (your motivation).
I work (not-gamedev) so it is hard to find the time.
I eventually had to just tell myself after months of little to no work - âYou HAVE to work on the game at least 20 minutes a day, or at least 2 hours. Even when it sucks.â
Laat night I pumped myself up talking gamedev, then I jumped on for that 20 minutesâŚwhich turned into 3 hoursâŚand bam! Breakthrough! That washed away all that demotivational bullshit that made me dread âThis is far from overâŚâ because I finally saw the light at the end of the tunnel. After that it was really easy to continue on for another chunk of hours. I had to do the âIt must be done. Just 20 minutes.â A bunch of times in the last few weeks. Two ended with no work after 20min, just a âErgh. Forget it for today.â but the rest were hours which ended combining to become 30 hours over 3 weeks.
I must admit I lacked (and still lack much of) the discipline required to finish a project. The only thing that has worked, and indeed works wonderfully for me, is forcing myself, against my wishes, to âtry for just 20 minutes a day.â That 20 minutes so easily turns into 2, 3, or even 8 hours once you get started. Getting started is what is the hard part. Especially when facing a mountain of âIt will never get finished.â
But the longer you go, the easier it becomes as it becomes a habit and you seem more progress!
âJUST 20 MINUTES.â And by the end of it you are either playing a game or binging netflix guilt-free or gleefully working for hours to finish - hard work but satisfying once it becomes habit.
The unfortunate part is that a lot of what I have done in the in the beginning and in the last year has been almost entirely invisible. That really sucks, because there is little to show off or see myself. But on the bright side, I am nearly complete and within a week or so will finally begin adding all the gameplay systems (stuff that is purely visual - I can actually see!) which will be quite thrilling.
Somewhere along the line between finishing the (invisible) core / patching up the multiplayer syncing and creating actual gameplay / âfunâ systems, I have to work on adding in Unity Navigation (replacing some of my old input system). Once that is done though, it really gives the game that âgameyâ feel to it. When your characters feel resisting & canât clip through walls, it begins to feel so much more real. So I am excited to add that in sometime soon, along with the ability to toss/throw items which bounce around rather than simply drop at the playerâs location/mouse. That kindof stuff really makes the game feel more like real life. Like how in Bethesda games you can pick up any object & drop it, having it roll around. Kindof a worthless system for gameplay (no real use to it), but something that really makes the world feel alive.
I just know thatâll be a lot of work, as it seems to be true of anything dealing with Unity directly. So Iâm not sure if Iâll wait for a bit before I do that or not. On one hand it would be âyet another systemâ to implement / refractor. One the other hand it gives such weight to the feel of the game. It sucks to have no movement resistance. Without that feedback, it feels like itâs more a bunch of playing with paper dolls or messing around in Photoshop than an actual game.
Having that characters head move with the mouse sounds like it really makes your game come alive. That must be awesome! Congrats again!!
I completely agree with you. I remember spending so much time just flinging things around in Skyrim because It was so fun to see the physic interactions and it made the world feel so much more alive. Those are the games that stick with me the most, the ones where the you can tell the world has been lived in with small but important details/systems.
Also meant to ask you what is the name of your game/project that you are working on?
I rarely consider things to be âdoneâ, but Iâll move on in my projects as soon as theyâre âgood enoughâ. And âgood enoughâ might not be something Iâd happily show other devs, itâs just functional enough for my needs at the time. As a result Iâve got a few areas in my current game, a couple of which are pretty significant, which are actually pretty poorly written. But they work reliably, and their dev workflow is fine, so Iâm not spending any more time on them until that would lead to a practical benefit.
What have you been working on? I completely understand non-visible stuff, I just donât often have that take more than a few weeks at a time on any sanely scoped project. Ultimately, if youâre doing a lot of work that has nothing to show for itself, is it the best way to be spending your time?
Yes, these are all client projects. As these are for printed media, I can consider them âfinishedâ when I find confirmation online that they have actually been printed and turned out fine. But that can be months or even over a year after I crossed the theoretical finish line where I âmightâ be done already.
That sounds very reasonable. For code related things I can see myself do similar things, but on the art related tasks I havenât found a way yet to consider anything âgood enoughâ. Iâm not sure if that is professional bias because I just know a lot more about the art side and see all the flaws more clearly, or whether I just identify less as a coder and care less about how good my code is, as long as it works.
The question is whether it gets the job done or not. The tricky part is deciding what âthe jobâ is. Something might be good for a client long before itâs good for you, and thereâs valid reasons to go either way on that.
Mostly multiplayer, but also things like the crafting system, building system (structures), adding hand-crafted content for some locations (before it was all purely procedural - so I had to create an entirely new location type), the GUI, asset bundles, loading/unloading levels via AssetBundles & Instantiation, refractoring the simulation to be totally separate from Unity (it was mostly, but I had forgotten to decouple one portion of worldgen).
Some of that has visibility, like the crafting, building, GUI stuff, level generation/creation & instantiation, multiplayer walking around, but without any actual gameplay it is mostly just repeatedly seeing the same non-animated or barely-moving artwork. Enough to not go insane, but nothing worth showing off until it is paired with actual gameplay.
Making sure everything works with Multiplayer is an enormous undertaking. That is nearly all my work recently & for the past two years.
If I donât make sure it works with multiplayer when I implement it, then Iâd have to go back and almost create the system again so it does. That impairs rapid development. Plus my singleplayer one-level prototype seemed great.
20.5% spent on multiplayer.
If I had known it would be that difficult/consuming, Iâd have stuck with Away Mission. Fortunately I am nearly complete with everything being synchronized & easily maintainable.
Before that, I already had a fully working prototype with a single level. I didnât anticipate when originally designing the core systems that Iâd need to load/unload AssetBundles on demand, need the Server to be entirely independent from the Client (former loading/streaming the entire world while the latter loading only a single location at a time), etc.
So you can load into the world, walk around, craft, harvest objects, pick up items, full inventory system, all syncâd over the network. However I had all of that done already before adding multiplayer. Having to change nearly everything to add multiplayer is a lot of work. Without that physical resistance for movement & without any real player animation, it doesnât feel like much of a game. Maybe itâs because I have no animation. Or maybe itâs because thereâs no core gameplay (just the extra features which are meant to improve gameplay or core features which feel lacking without more gameplay) sucks. I just donât feel like the game has come together yet.
Harvesting resources to craft items is boring when you canât do anything with said items. No hunger to justify consuming food. No NPCâs to justify armor (not that I have any yet). No animals to justify traps.
I just now finished creating the system to manage the levels. So now I need to allow the player to move (teleport) to levels. Exit the home, access the worldmap to choose a new location, and then call the methods to load/unload levels. That will finally make it feel like a game I think: World Persistence & Travel.
So Iâm excited for this week. Between allowing the player to move between locations, adding the new navigation system to block movement, and then right afterwards adding the playerâs survival elements (hunger, sleep, etc.) it should go from âMostly invisibleâ to âMostly a gameâ really quickly. Then after that, NPCâs!
It takes me a long time because I do not get to work on my game as often as Iâd like. 20 hrs a week on my best, 0 hrs a month at my worst.
I just now replanned my whole life around getting enough time to achieve a minimum of 20hrs a week & a (hopeful) standard of 40 hours. My partner & I are beginning to cook our entire weeks worth of meals once a week. Eat healthy, minimize leaving the house, and spend a lot less time cooking.
My plan right now is to do the following:
Minimum: 2 hrs of gamedev on days I work. 8 hrs of gamedev on days I donât work. 1 day with no work at all.
Maximum: 8hrs of gamedev on days I donât work (no days off) & 4 hrs of gamedev on days I work.
I am hoping to aim for the Minimum, and hopefully that âjust try for 20 minutes every single dayâ will turn into the maximum.
Thatâs my âexcuseâ anyway. It really does feel like itâs entirely because of Multiplayer. I will be relieved when this is finally finished because my next game (Away Mission) will be entirely singleplayer. That will be such a major relief, âOmg, I donât have to synchronize it!â and âI can just use a hacky fix without worrying about it!â hehe.
I could be wrong though. Maybe I randomly decided to tackle every single invisible feature before attempting any visible ones. Nearly everything I have left will be highly visible. Or maybe itâs just that over 3 weeks I might get only 20-30 hrs in, so of course progress feels slow. Idk.
It wasnât until I was hundreds of hours in that I realized âCrapâŚAway Mission was way simpler than thisâŚâ Which kindof sucks, since I paused Away Mission because I felt this would be simpler. And in a way, it was. Itâs definitely easier stuff & far more Unity-friendly. But it takes longer, even if itâs easier work to figure out.
Or maybe I just needed a few hundred hours of experience before I could make a complex game. So maybe this isnât easier, itâs just that I finally âgot thereâ in skill level & when I was working on Away Mission I wasnât ready yet. Idk
Yeah, looking back on my current project Iâm really glad we dropped multiplayer early on. Truth is that we didnât even test it - I just couldnât reconcile a design issue, we were getting positive feedback from other areas, and we thought âcool, lets just go with whatâs already working then!â
I thank you for sharing your grief with multiplayer so openly. Whenever my mind wanders off to thinking about making a multiplayer game I just remind myself of the experiences youâve shared with us and can happily return to the realm of singleplayer gamedev.
Word of advice: Vitamin D supplements are vital for a no-sunlight lifestyle because itâs almost impossible to make that lack of direct sunlight exposure up with food alone. And if your homeoffice also has a lack in general daylight brightness, it might be worth to invest in one of those anti-winter-depression-lamps. Though Iâm not actually sure they are enough to keep you sane in the absense of daylight.
Good point! Iâve thought about this a bit more and realized there are big differences between me doing artworks for a client or for my own project. With contract work there is a budget, a deadline, and someone who gives official approval for when âthe job is doneâ. When I work on my gamedev hobby project, there is no budget, because if there was, the only sane choice would be to drop the pen and walk away from it to cut my losses. And thereâs also no client who gives official approval. Or rather the client is also me, and I always want things to be better. And I canât set deadlines because that would a) not work because of how unpredictable the amount of freelance work that needs to be done is, and b) it would push the project from hobby to obligation and abandoning it soon after would be all but guarantueed.
If itâs a hobby I wouldnât worry about it. The joy of a hobby is in the doing of the thing at least as much as the finishing of the thing. As long as you know what you want to get out of it, donât sweat it if that doesnât happen to line up with someone elseâs idea of success.
Thanks for bringing this up! Iâve been working in my home for the past 3-4 years and Iâve almost never went out except for very short trips to buy groceries from time to time.
Never thought much about potential Vitamin-D definiciency before, but your post persuaded me that I should take this seriously and buy some supplements to keep myself healthy. Thanks
I make sure to get out. I also make sure to take opportunities to walk, not just for sunlight but also for physical exercise.
If youâve a laptop then working outside from time to time is a great option. A couple of weeks ago I got slightly sunburned while working on my game. Not a usual software development riskâŚ
You might consider incorporating a delivery letter with the last review phase. Iâm doing this at work now to keep people from asking for edits to a product that has been delivered as final 1.0, 5 months ago. Although the customer/client is always right - sometimes they might like the âfinishedâ product as is if you remind them you delivered the product as final 5 months ago and in the change request will be placed into a queue where the edits wonât be completed for several weeks or months.
I feel your pain on this and AngryPenguin probably has the best advice, however making progress on personal projects/hobbies really has benefits, a sense of accomplishment and can lead to even more progress and motivation to âwantâ to work on projects more.
Can you structure your freelance to ONLY take 40 hours per week? That would leave you at least 10 hours per week to work on your own content. And I have found structuring personal work similar to a contract/client who wants a certain quality within a certain time frame gives me incentive to deliver what is expected - even if I am the one expecting it.
I also think planning in a more iterative way allows to set a quality and time frame that is friendly to indie/solo development with limited dev time. I can iterate on a (whatever) 4-6 times incrementally making progress with the limited time I have available, and feeling like Iâm making progress, feeling good about the progress, even if it is a smaller increment than I would normally do if I were working full-time or 40+ hours per week on personal stuff.
Having a proper structure for personal work allow progress - even if it is slower with only 5-10 hour progress per week.
Regarding those happy lights - I was recently reading devlogs on either unreleased Chasm or Timespinners and one of the devs mentioned those lights to help improve mood and motivation for seasonal affective disorder SAD, and he lives in gloomy grey Seattle. Anyway - he mentioned it helped alot and the game was progressing along nicely.