Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Advanced search

1347591 Posts in 61900 Topics- by 53550 Members - Latest Member: arianapham

September 21, 2018, 08:06:34 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogs»–› Year In The Trees ‹–« (Zelda-like Survival)
Pages: 1 ... 6 7 [8]
Author Topic: »–› Year In The Trees ‹–« (Zelda-like Survival)  (Read 10754 times)
Level 1

now comes good sailing

View Profile WWW
« Reply #140 on: August 16, 2018, 06:54:40 AM »

Thanks alex, moch, & litHermit!  Toast Right

Level 1

now comes good sailing

View Profile WWW
« Reply #141 on: August 16, 2018, 06:56:35 AM »

The Stugan Post-Mortem Part 1: Life at Stugan
The Stugan Post-Mortem Part 2: Game Progress Report
The Stugan Post-Mortem Part 3: Game Progress Report Continued

The Stugan Post-Mortem Part 3: Game Progress Report Continued

And now on to the final Stugan update!

Started adding some spellbooks. Fixed object generator, cursor, and a bunch of tweaks for the demo. Started making day/night duration flexible.

Alright, so adding a fireball spell to the game was supposed to be one of the exciting new pieces of content that I had planned for Stugan. I ended up pivoting a bit and had to leave this feature in a half-finished state (the items are in the game and the casting animation is 90% finished).

After much hand wringing and discussion with the other devs, I decided it would be best to spend the rest of my time at Stugan polishing the demo I already had instead of forging ahead on new content for the "proper" demo (which I'm working on now).

Honestly, I felt like shit having to make this choice. It felt like I had completely failed to engage with the actual problem I wanted to solve at Stugan, which was working on content. Despite that, I knew that I couldn't show up to the finale in Stockholm with the demo as it existed then; I was going to be meeting a publisher and there were still some fundamental problems bogging the demo down.

Even though I would continue to avoid adding new content, i knew this was the right call. For me, the second half of Stugan was marked by having to come to terms with the fact that I was going to have to make some tough choices and prioritize my time more carefully if I wanted to make this project be something more than a nights-and-weekends thing.

I made a list of the most painful hang-ups from playtesting and starting chipping away.

Some of the new inventory item art for spellbooks. Tag yourself, I'm journal.

The clock UI and day/night cycle are now totally adjustable. Added brown mushroom generators to various trees and logs.

Misc improvements and new AI features/fixes. Added a threat list!

More AI tweaks: Added social behavior for some monsters. Also fixed some random sprite issues.

Fixed some bugs with item spawning/despawning and changed those systems to use the in-game clock instead of real life seconds. More interaction icon enhancements.

This next set of changes is basically just me fixing stuff and trying to get the most out of my time. Several people had remarked that the night was too long and they were definitely right. Unfortunately, the day/night cycle was pretty hard coded, so I made it more tunable and set the night to be half as long as the day.

I also added a bunch of AI stuff I'd been putting off forever (social behavior, threat list, agro radius, etc.). Before this, the monsters were all passive until you damaged them and then they'd just chase you around forever until you killed them. There were so many things like this where I knew it would be no problem to fix, but players, who don't know that, would perceive these things as glaring problems.

Ecosystem up and running (nice!), plus the usual bug fixes and tweaks.

At this point, the next most important thing was to get a proper monster spawner in the demo to add some interest. I had prototyped this system very early on and knew the idea was solid, but I had been talking about it like it was this key feature of the game this entire time and I still hadn't really implemented a finished version of it.

Ecosystems are basically monster spawners that let you define groups of monsters. The system generates new monsters based on the existing group populations. This lets a careful player control the likelihood of seeing more of a certain kind of monster by killing monsters selectively. Similarly you can also "feed" monsters certain items to cause a new monster in their group to spawn. The idea is that players hunting for certain materials can be more efficient if they pay attention instead of killing everything indiscriminately (and before you say anything yes I heard about what happened in Ultima Online  Cheesy).

The actual implementation is a bit fancier than that, but you get the idea. I actually have a number of systems like this that aren't really communicated to the player in any overt way, but if you know how they work you'll be able to min/max better. For instance, object generators like fruit trees regenerate faster if you don't pick all the fruit at once, to the point where a player who only picks one fruit at a time will actually gather fruit twice as fast as someone who picks it all in one go. While it may be possible to notice this stuff if you were really clued in, my plan is to have NPCs share this special knowledge (in addition to item rewards) when you help them.

Anyways, this was actually a really great moment for me, working on this system after my early prototype (the prototype ecosystem was actually the second thing I ever streamed). Working on this feature then and now, I could really feel the gains I've made as a programmer. I'm pretty happy with how it's turning out.

Finished major revisions to scene management. Various fixes to functionality down stream from that, but still a lot more to do there.

Think I fixed most of the bugs from the last commit. Fixed some other issues with item decay and switching more things to run on game ticks instead of real seconds.

More bug fixes, finally done fixing coroutine and animation BS after changing how scenes are loaded.

Ugh, another rabbit hole! I really did not intend to spend a whole week on this but that's how it goes I guess. So the issue here was that I don't have serialization in the game yet*. Players would start farming, go into the cabin to rest (which triggered a scene change, unloading the previous scene), and then return to find their farm wiped. "Oh yeah, sorry, that'll be fixed later." It sucked.

The hack-y solution would be to cram everything into one scene and have a trigger zone that moves the player between the two areas...but I wanted to get asynchronous additive scene loading/unloading working at some point anyways.

The problem with additive scene loading is that your scripts need to be robust enough to handle being disabled and re-enabled any time. When things are disabled though, the animators are all reset and any coroutines are interrupted. I had to do a lot of refactoring to be able to resume certain coroutines, or to make sure others would exit gracefully. I have been refining my Unity coroutine pattern throughout development, and I actually created a little code demo/tutorial if you're curious.

One of the other devs at Stugan, Adam, had talked to me about going through a similar thing with his game so I had some idea of what was involved but this change just rippled through all sorts of game systems (e.g. what if you drop an item while changing scenes). Ultimately it was worthwhile because I ended up cleaning up a ton of old code and the async + additive loading is just so much better.

*I know! This is priority 1 after I finish my first-look demo and I have been laying the ground work as I go so it shouldn't be a total shitshow  Shrug.

Finished fixing a ton of bugs, tweaked lots of demo stuff, ecosystem nearly done.

Lots of content tweaks and polish for the Stugan finale in Stockholm.

Last changes from Stugan, mostly polishing up the ecosystem stuff to be a bit more.

These last few commits were just me sticking in a bunch of hack-y stuff at the last minute to fake some things that I would later implement for real...as you do. One of the last things I did was switch the in-game signs from my "info text" system (usually reserved for game messages and errors) to the dialog word bubble system.

This allowed me to (inelegantly) pepper the demo with more tutorial information which was actually a huge help. Players would try stuff on their own, and when they got stuck they usually read the signs instead of asking for help.

This is the old way signs worked. Certain interactions like this one will continue to use this sytem.

Here's the new way. A bit easier to read I think, and I can cram a lot more info in this way.

And with that, I conclude my Stugan post mortem! I really struggle writing these posts (god I hate writing), so hopefully there's something interesting and useful here for you. At least, I think it was helpful for me to notice where I messed up and how I can do better moving forward.

With any luck I'll be back with more new content stuff soonish Tongue  Thanks as always for being here with me.
« Last Edit: August 16, 2018, 08:36:23 AM by Luno » Logged

Pages: 1 ... 6 7 [8]
Jump to:  

Theme orange-lt created by panic