Celebrating Your Game Development Breakthroughs

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!!!

10 Likes

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

2 Likes

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.

2 Likes

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.

2 Likes

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 :slight_smile: 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 :slight_smile:

2 Likes

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.

2 Likes

That’s awesome! Congrats! :slight_smile:

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!!

1 Like

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?

1 Like

Are these client projects?

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.

3 Likes

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?

1 Like

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.

2 Likes

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.

1 Like

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.

3241536--249197--10_3_17.png

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

1 Like

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!”

2 Likes

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.

3 Likes

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.

3 Likes

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 :slight_smile:

2 Likes

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. :wink: Not a usual software development risk…

2 Likes

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. :slight_smile:
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.

1 Like