Categories
Ambience Dev Diary

Dev Diary #15: Ten Things I Did This Month

Just as a reminder (to myself, mostly) that I’m still making good progress on Ambience, here’s ten things I got up to over the past month:

#1: Added randomly-generated quests. This turned out okay in the end, and in general it doesn’t do anything too stupid (like giving the player a Surefire Flower in exchange for a Surefire Flower – see below). I’m also still not sure if I should add story-related tasks to the in-game quest list, or if that’d make things too confusing.

#2: Improved the user interface and menu appearance. I wasn’t really happy with the UI in the above picture – to me it seemed a bit empty and disorganized with text just floating around. So I added some background boxes to compartmentalize it a bit and make it a bit more ordered (and nicer to look at – see the GIF a little further below). I also set a limit on the maximum length of the option boxes, so that they didn’t overlap with the info boxes at the right like in the screenshot above.

#3: Added some post-game content. I added a new sidequest where you collect pieces of a mythical whistle, the Skywhistle, for an itinerant piper. This allowed me to add some more dungeons, items, and even a few short bosses.

#4: Added lots of new items. Cloaks, swords, breastplates, potions… and of course, the aforementioned Skywhistle, which emits a piercing shriek when used and shoots quavers as projectiles.

The Skywhistle and improved UI in action.

#5: Added lots of new enemies: snakes, spiders, turtles, humanoid golems… you name it! (Me as I’m typing this: Wait, did I really add turtles to the game? Let’s see… oh, I did! I completely forgot to add them to the new dungeons I made! Oh, well, better do that now…)

#6: Added some new dungeons as well. This is where things became interesting. I started to play around with dungeon restrictions to make the experience more like a roguelike – for example, limiting the number of items the player can take with them into the dungeon, or temporarily reducing the player’s level to 1 for the dungeon. With those changes, Ambience really exhibits a greater range of flavors. The game transitions from a pleasant little dungeon-crawler in the early dungeons to a monstrous game of survival and chance in the post-game.

#7: In my downtime I spent a little while watching some YouTube playthroughs of Shiren the Wanderer and Pokemon Mystery Dungeon, two of my favorite roguelike-related franchises. It’s always interesting and useful to see how other people (especially professional companies) approach the roguelike genre and how they keep gameplay interesting, tell a story, etc.

#8: In the midst of my procrastination, I also watched a couple of scenes from Neon Genesis Evangelion (one of the very few anime series that I actually watch and kinda like). In the end, though, this turned out not to be completely unproductive – I got some excellent inspiration for a cutscene towards the end of the game, which I rewrote to be much darker and more psychological.

#9: Completed mugshots for all the main characters, including several minor characters. I don’t know why, but it always takes me ages to add things like mugshots, sprites, and dialogue for Foss, the scientist who’s studying the Ambiences. In any case, that’s all done now – phew!

#10: Finally, I changed some aspects of the game’s final boss, introducing a new area-of-effect attack and adding some particle effects and rumbling thunder to the introducing cutscene. I don’t really want to spoil too much, but suffice it to say that the boss fight is much more impressive and challenging as a result.

Categories
Ambience Dev Diary

Dev Diary #12: The Hard Work’s Finally Paying Off!

It’s been a verrrrrry long time since I’ve posted here… but I’ve made it through another semester of uni, got back to programming and things are really starting to look good!

Even though it’s been quite a while since an update here on this blog, I’ve been working on a ton of stuff Ambience-wise. Here’s a quick overview:

Proper text and storyline!

One of the things I’ve been busying myself with lately is doing some proper storytelling. Initially I shovelled a whole heap of placeholder text into the game just to get the basic cutscenes working properly (see below), but now I’m replacing it all with proper text.

Placeholder text lol

It’s amazing how much of a difference that makes. Now when I playtest, the story and the characters feel so much more alive, and even the gameplay feels smoother and more polished. In other words, it feels much more like I’m actually playing a finished game rather than searching some crappy application for bugs. I dunno. It’s exciting to see how two years of work on Ambience is finally starting to pay off.

Pathfinding that actually works!

Yeah, I’ve been meaning to fix this one up for quite a while now. The original pathfinding algorithm I implemented in Ambience wasn’t very intelligent at all – it basically involved enemies either wandering around randomly, or walking in the player’s general direction and hoping it didn’t run into a wall. Which was fine, when it worked. (Which was not very often.)

But it was a start, and, well, the algorithm stayed. For a year and a half.

But now things have changed, as I’ve brought out the big guns with a brand new A* pathfinding algorithm. And, oh boy, does it work. I even had to tweak the first dungeon quite significantly since the (formerly daft) Henchmen became so good at finding the player that the whole dungeon became way too hard.

https://twitter.com/RhombusGameDev/status/942183691727519744

More shaders!

I added a sepia shader for showing a flashback from an earlier part of the game. And what’s more, I also got the game to display multiple shaders at once. Yeah, that was a proud moment.

Sepia… and swirls.

New Guardians!

I also finally upgraded the sprites for all four Guardians, which I think turned out quite well – at least, better than the previous sprites, I’d say. On the topic of sprites, I also changed Zephyr’s outfit from a full-length dress to a simple top and skirt, made her outfit a little brighter and her hair a little darker.

New music!

I’ve made some tracks for the final boss of the main story – two, actually, depending on a decision that you make earlier in the game. I also managed to put together a fitting encounter theme for Foss – again, something I’ve been putting off doing and have finally done.

Post-game content!

I’ve toyed with the idea of putting in some post-game content for a while, and now I’ve decided to take the plunge and do it. The main emphasis will be on exploring some challenging dungeons, true rogue-like style, as well as liberating Foss’s few remaining prisons (if the player’s left any) and taking on Foss one last time. I might also expand the Vulcan-Zephyr subplot a bit here as well, but we’ll see.

So, what’s next?

The plan is to finish fleshing out the story, add post-game content, and – finally! – start thinking seriously about release. I also need to stop putting off making blog posts about my progress! It’s easy to think I’ve done very little work, when in reality I’ve actually done a lot and I haven’t really paid too much attention to how much I’ve done. For now, I’ll make sure to post semi-regularly (at least once a week), and especially when I’ve got something new and exciting to show.

For now, though, merry Christmas and I’ll be back soon!

Categories
Ambience Dev Diary General

Dev Diary #10: Nearly One Year of Blogging!

Hello everyone!

Had my last exam today (hooray!) and I’m pretty exhausted, so this’ll be a real quick post before I have an early night. Three main things to say before I get off my soapbox:

  1. Over the next month or so I’ll be working on Ambience at pretty much full steam. That means cleaning up the storyline, tweaking the new crafting system, plenty of play-testing, and finally working on some of the graphics stuff I’ve been putting off due to study. One thing I did manage to get done before the break was make one of the areas deep in Foss’ Fortress look a lot nicer (though there’s still a bit of work to be done):
  2. In terms of planning, though, I’m not sure exactly what I’m hoping to achieve over the next few weeks I have off. Plans are good, of course, but right now I’m just hoping to make as much progress as I can towards making Ambience a finished game. (Or maybe I’m just tired and can’t be bothered making plans at the moment. Did I mention I’m exhausted?)
  3. It’s hard to believe I’ve been blogging for almost a year now (my first post was published on the 27th of June, 2016!) It’s also hard to believe how much Ambience has improved over that time. From this:
    Very circle. Much pixel.

    To this:

    (Yeah, okay, so the sand background and textbox arrow are the same as before, but pretty much everything else is new!)

    I’m thinking maybe next week I’ll compile some of my personal favourite “Gamedev Grievances” from the past year and relive those experiences (horrors?) once again to commemorate one year of blogging. Stay tuned!


Well, that’s pretty much all for the moment, though I’m sure there’ll be more to say once I start making some serious progress on Ambience again. Oh, actually, a quick bonus: I was fixing up one of the cutscenes this afternoon and unwittingly made Vulcan very dizzy. Or maybe that’s just Vulcan being Vulcan. I don’t know.

Vulcan, are you okay?

Take care, everyone. 🙂

Categories
Ambience Dev Diary

Dev Diary #9: Demos, Deutsch, and Dangerous Bats

Hello everyone! Here’s a snippet-style update on what’s been happening with me lately:

  • After a couple of weeks of solid preparation, I finally did a fairly important exam today! I was worried it would turn out to be harder, but it went okay in the end. Of course, there are still a few assignments to be done and so on, but for now I’ve finally reached a small lull in the student-life action. (You know what that means… finally some time to work on Ambience again!)
  • Added a new enemy to the game, the Monster Bat. I’ve noticed a distinct lack of diverse enemies in Ambience at present, and I’d like to change that if I can to make gameplay a bit more interesting. On that note, I also recalled some feedback I received a while ago to make the range of weapons available to the player a bit broader as well, especially early on in the game. That, too, is in the works.

  • Text fixes. Lots and lots of text fixes. Making dialogue punchier, more engaging, more interesting; fleshing it out in places, cutting it back in others… working on writing has honestly been a lot more work than I anticipated. But it’s getting there! I’ve also finally moved on from the Mudreed Marsh mission (after a long time in a state of writer’s block) and am working on the rest of the story – hooray!
Well, if you’re saying I’m the legend, Vulcan, then yes, they most certainly are.
  • I’ve also been reconsidering the wisdom of releasing a demo before the final release of the game. If anything, having a completed game as the final aim, rather than a semi-completed demo, gives me a lot more motivation to finish the game. I think I’ll work on finishing the whole game for now before I start thinking about demo releases.
  • Finally… I think I may have mentioned this before, but I’m learning German at the moment and have decided to continue learning the language for the rest of this year and beyond. Just like my gamedev chronicles, I’ve found that learning a new language has been a really fun and interesting journey. With that in mind, I’ve been considering making the occasional German-learning related post interspersed amongst the gamedev posts for a bit of a change in pace.

    (Just to clarify: the blog will remain primarily gamedev-related, of course, but just for a change I might make a post about my German-learning progress once in a while and see whether anyone finds it interesting. Mal sehen!)

Categories
Ambience Dev Diary General

Dev Diary #8: Rhombus Returns!

Hello everybody! That’s right, Rhombus has finally emerged, battle-weary from an onslaught of exams, and is ready to dive back into some gamedev! Yeah, the past few weeks have been pretty tough study-wise, but I’m glad to say that the worst of it seems to be over (at least for now).

It’s easy for me to think back over the past action-filled weeks and think that I haven’t made any progress on Ambience at all. Thankfully, that’s not entirely true. A little while ago I had the idea of keeping a personal log of all the gamedev-related things I worked on, just to remind myself that I’m still moving forward. Progress is progress, no matter how seemingly small or insignificant.

Here’s a few things that I achieved:

  • Line of sight. Tweaked the line of sight scripts a bit more (and hopefully for the last time). Changed the line of sight in corridors from a square region to a more natural-looking circular one.

  • Drowning enemies. Worked on “drowning” enemies in marshy terrain. Significantly nerfed experience yield from drowned enemies to prevent the mechanic from being abused.
  • Items. Tweaked the items menu so that healing items can now be used on team members! (I was fairly proud of this one, actually – it’s something I’ve had in mind for a while, but haven’t really got around to actually implementing it.) Ally characters also visibly sweat when their HP or SP is low, which has already proven useful for me in my playthroughs.

  • Music. Remade a battle theme for Clarissa from scratch (I wasn’t particularly happy with the one I had before, although I’ve kept it and might still use it.) Also tweaked the “prison liberation” theme slightly.
  • Text updates. Had a long spell of writer’s block re. the second boss battle; eventually decided to leave it for the time being and work on something else. Added exclamations from Vulcan when the player activates their Ambience powers. Also added a joke which was deliberately meant to be lousy, but in reality is so lousy that I’m considering changing it. (Or not.)
    Went back to the boss battle, tweaked the cutscene slightly, and re-wrote the dialogue once more. It’s fairly short and punchy, and sets up the ideological clash between the Renegades and Foss’s Henchmen fairly well. I think I’ll leave it for the time being.

I’ve noticed that I’ve been lingering around the Mudreed Marsh mission for a bit too long, and I think it’s time to move on to bigger and better things. I’m definitely continuing the personal log, though – it makes writing progress posts like these much easier. It also makes gamedev much less overwhelming when you realise that you’ve been making more progress than you think.

Categories
Ambience Gamedev Grievances

Gamedev Grievances #27: Let Me Tell You a Story…

Story-telling in games can be a bit unusual sometimes. It’s certainly very different to, say, writing an essay or a scientific report – and different to writing even a narrative or movie script.

In the past, I’ve often approached story-telling when making games as if I were writing a movie script. The idea was to have cutscenes filled with dialogue and sometimes pretty scenes, punctuating bouts of gameplay. So, gameplay… cutscene… gameplay… cutscene.

But I found a big flaw with this movie-writing approach.

Scenes in movies hold the viewers attention because, well, that’s all a movie is – just scene after scene after scene. But players don’t play games to watch scene after scene. If they wanted to do that, they’d just watch something on Netflix.

No, as silly as it may sound, players are playing your game because they want to play your game. They want to interact with the world you’ve created for them, not just watch it all pass by.

So now I’ve started a different approach when working on the writing in Ambience: telling more of the story through the gameplay.

I’ve only just started on this new approach, but I’ve already found it hugely liberating. It means I don’t have to shove everything I want the player to know about the characters into a few, action-packed cutscenes.

For example, the player is accompanied in one of the early dungeons by the hot-headed Vulcan, who was introduced to the player just moments earlier. So, I thought, why not express more of Vulcan’s character as the player traverses the dungeon? Why not have him chat to the player in his quirky, Vulcan-esque ways? It says far more about Vulcan than a long, dull cutscene which the player probably didn’t even read anyway.

Speaking of cutscenes… this was one of the other things I realised I had to fix, especially after the big LAN-gaming event I attended last month (you can read about it here and here). Many of the cutscenes were way too long and interrupted the flow of the game. The result? Players mindlessly mashing the A-button and wondering when they could get back to some proper, interactive gameplay.

Of course, there’s still a time and place for cutscenes, but from now on they’re fairly brief – small segues into the next long chunk of gamplay and interaction. Take, for example, the long cutscene immediately before the Mudreed Marsh mission, when the player meets the Renegades.

I’ve found that it’s not what you say, but how well you say it, that’s most important when telling a story in a game. Here’s a case in point – the original version of the dialogue shown above:

Pontus: We want you to go to Mudreed Marsh, the place we need safe access to. Your task is to drive out Foss’s Henchmen there. If you demonstrate your worth, and rid Mudreed Marsh of Foss’s servants… then we may be able to protect you from them. But, if you have been working against us all along… if you use this opportunity to send Foss’s Henchmen here to capture us… then we will be ready. And what is more, we will not be taking prisoners.

I bet you didn’t read all of that, did you?

Okay, let’s be honest. No-one wants to digest that much stuff all in one go – especially when this is a computer game we’re talking about. And what’s more, this is followed by Vulcan telling the player (at great length) that he wants to come along, too. Ughhh!

So I took all this and condensed it into a much shorter, punchier dialogue. It tells the same key points, but it’s more efficient and much more engaging.

Pontus: I want you and Vulcan to go to Mudreed Marsh to drive out those Henchmen there.
Vulcan: Hey, hey! Finally a chance to beat up some Henchmen!
Pontus: And I’m warning you, Player. If you try to hand us over to Foss… then we will be ready. And we will not be taking prisoners.

I was then able to incorporate some more stuff about Vulcan – such as his obsession with Zephyr, and his really bad jokes – into the Mudreed Marsh mission as short little snippets of dialogue. Much better than a deluge of text!

Fixing the dialogue has also had two unintended benefits for me, the developer. Firstly, it’s made the text script much tidier and easier to follow, which is always nice when you’re wading through code 🙂

But secondly, and more importantly, it’s making me feel better about play-testing my own game. It’s only when I changed the dialogue did I realise how stale the game felt to play, even for me! Now the whole game feels a lot more fresh and exciting, and it’s given me a bit of a motivation boost to keep pushing onwards and get the game finished.

Categories
Ambience Gamedev Grievances

Gamedev Grievances #24: Doing a Double-Take

Building a game is a bit like writing an essay. If you start at the start and just work your way through, you’re going to get something out at the end… but unless you go back and look through it again with fresh eyes, the end result is going to be pretty poor.

Recently I completed the framework for the main story of Ambience, as I announced in my #screenshotsaturday Tweet last week (see above). That means that now the game is finally ready to play… as long as you’re willing to play through the entire game without dying once, ignore any alternate endings, and endure sloppy placeholder text for a good two-thirds of the game.

I’m not kidding… this is how bad the placeholder text ended up.

But, through all the madness, I had a plan.

I wasn’t aiming to make a picture-perfect game straight away. Instead I wanted to start by laying the foundations for the game – the combat system, dungeon generation, and most of the cutscene actions in the main story. Only then would I start tidying it all up to make it both pretty and playable.

Why? Because I knew from the get-go – and I’m a fairly perfectionistic individual – that, no matter how much effort I put in initially, I would have to tidy up the game at the end anyway. There would still be loose threads to be connected, gameplay to re-balance, and a story line to review.

So I needed a battle plan for reviewing the game and cleaning things up. Here’s three things I’ve decided to work on as part of this plan:

1. Make a To-Do List

(Or several, if you’re like me!)

After completing the main story, I decided to go back to the very beginning and play through the game again to make sure everything was working properly. Then, as I played through the whole game for the second time, I wrote a list of any bugs that might have been absent or gone unnoticed from the previous run.

If the “bugs” or gripes were easy fixes, I went ahead and fixed them straight away. For example, one of the items on my to-do list was to add a “thud” sound effect for one of the early scenes. Since this didn’t involve very much coding or debugging at all, I knew I could implement it in about five minutes, so I went ahead and completed that item immediately. There’s not much point in procrastinating about these really easy tasks, after all.

2. Work On Your Weaknesses

A recurring theme I found in my list was the need to fix up or make new sprites for various things. This was one thing I did want to put off, since artistic stuff in general really isn’t my forte, and I didn’t want to spend too much time working on art when my main goal was to finish off the cutscenes for the main story-line.

With that finished, however, it’s time to turn my focus to making things look pretty, and that means sprites are no longer out-of-bounds items to be put off indefinitely. For example, one thing I noticed about the player and henchmen sprites was that their outfits were a little bit plain (read: single-colour!), since they hadn’t been changed at all since I had upgraded the player sprites to be more humanoid.So I went ahead and added a bit of shading to make the outfits look a bit better. It might need a tad more work later, but it’s a start:

By the way, the “work on things you’ve been putting off” principle also applies to other tasks which I’ve been putting off, mainly other weaknesses of mine. Now I finally have the opportunity to sit down and focus on those things without having too many other, more significant “to-dos” floating over my head.

3. Get Feedback!

Now that I have a semi-finished game, it’s time to get some feedback from others on various aspects of the game as I polish them up. This is actually really important when you’re developing, as it’s always better to get feedback and criticisms early on rather than receiving the same criticisms for a finished product. Some particular points of interest for me at the moment are:

  • How is the gameplay? Is it too easy, or too hard? (Often the best way to determine this is just to watch people play and see how they go.)
  • Does the writing work well, or are some parts still jarring or cliched?
  • How are the graphics? What could be improved, and how? (I’ll bet this one will merit some very lengthy answers…)
  • How do the cutscenes look? Do they suit the game’s story/graphical style?

For now I’m focusing mostly on the other two points, but I’ll definitely have some more time to focus on getting feedback in the coming weeks and months from various people I know.

One final note: it’s also kind of exciting starting out on this journey again. Part of me already knows exactly what to expect (I made this game, after all!) – but at the same time, that’s not entirely true. Ambience has come a long way since I started working on it in late 2015, and who knows what it’ll look like after this second, full play-through. Wish me luck!

Categories
Ambience Dev Diary General

Dev Diary #4: The Plan

So, things have been a little busier recently than I thought. I’m doing some vacation work in another state and I’ve been fairly busy preparing for it – working out what to pack, where I’ll be staying, and so on. That means I haven’t had quite as much time in front of the computer as I would have liked over the past few days. (Perhaps that’s a good thing?)

Of course, once I’m there and settled into work, I’ll be able to work a little on Ambience in my spare time – it’s just been a little difficult in the lead-up to it. But, that being said, there’s no reason why I can’t write up a game plan before I go… so, here’s a rough plan of how the next couple of months are (hopefully) going to work out, Ambience-wise.

Stage 1: Planning.

Most of the work I’m hoping to do when I’m away will be in terms of writing, story, and just raw implementation of my ideas. I already have a lot of ideas about how Ambience is going to play out story-wise, so this stage is already almost done. However I’d like to pin down the whole big idea and some of the finer details into a “master document” if possible before I start work, just so I can keep check on the direction that Ambience‘s story will take. It’s also a nice gentle task to begin with as I’m settling in.

Stage 2: Basic implementation.

Again, most of the story is already in place in my mind – it’s just a matter of crunching the code and actually putting everything into the game. I’m not really concerned with all the finer parts of story writing at this stage – in other words, I’m not hoping to end up with a literary masterpiece (at least just yet). In fact, perhaps the most time-consuming part of this will be actually generating the cutscenes rather than writing the text that goes in them. Of course, I need a good idea of what the characters will say first before I can implement this – but even so, my emphasis is more on laying the groundwork first before polishing everything up. Of course, this part will take a fair bit of time, possibly right to the end of my work period. So I’ve split this up into smaller stages as well as per the overall story line so I can more easily keep track of my progress. It looks a little like this:

  • Stage 2a. Events after first major boss.
  • Stage 2b. Second major boss and aftermath.
  • Stage 2c. Events after second major boss.
  • Stage 2d. Minor boss and third major boss.
  • Stage 2e. Fourth major boss.
  • Stage 2f. Events after fourth major boss.
  • Stage 2g. Fifth major boss.
  • Stage 2h. Sixth major boss and framework for a “neutral ending”. (I won’t reveal too much about this yet…)
  • Stage 2i. Framework for an alternate ending. A final boss.
  • Stage 2j. Framework for another alternate ending. Another final boss, aftermath, etc.

Now, this looks like a lot, and I admit it is a little ambitious. To be fair, I definitely don’t think I’ll be getting through all of this by the end of my work period – and in particular, work will definitely be taking priority over this! But all in all, I’d be fairly happy if I completed up to and including stage 2d. (It’d be even better if I could knock out stage 2e as well, though that might be a bit much. We’ll see how things go.)

Stage 3: Writing.

I may choose to do some proper writing in tandem with my work on stage 2, but this may depend on whether I’m feeling up to some heavy coding, or feel more like taking on a more creative pursuit. Also, it depends on how clear a scene is in my mind. If I know exactly how a scene is going to play out, I may want to put my ideas straight into the game and see how it works out. Sometimes though I decide jot my ideas down elsewhere, then look at them later with a fresh mindset to see if they’d work.

Stage 4: Graphics, music, and pretty stuff.

I’ve decided to leave this on hold until I get back from work, since it’ll be easier to handle when I’m at home (with my own desk, keyboard and mouse – and with more time!) It’s also why I’ve been doing as much creative/graphical work now before I leave since I think it’ll be harder to do that when I’m over there. In any case, I’ll need to have the basic scene frameworks ready before I can add pretty things like nice graphics and music to “spice them up” and improve their impact.

*****************************

So that’s the basic plan for now! Next week I should be well underway in my vacation work, and hopefully making a start on some of my Ambience plans as well if I get the time.

Oh, and one last thing.

Now I think about it… one of the reasons why I’ve decided to make my plans so open – and also why I keep this devblog – is for two reasons. Firstly, it helps me to keep track of my progress, and there’s also a level of accountability involved as I report my progress and dwell on what’s been happening and what challenges I’ve encountered along the way (“Gamedev Grievances”, as I’m fond of calling them). But I’d also really like to include other people – maybe gamedevs, maybe players, maybe other people entirely – in this humble and sometimes crazy journey.

I don’t know… maybe there are people out there who actually like reading the chronicles of a solo indie gamedev who never learned how to sprite.

Categories
Ambience Gamedev Grievances

Gamedev Grievances #2: Menus, Stories, and Boring Screenshots

Over the past week or so, following the launch of the Ambience demo, I’ve continued to push Ambience to greater heights towards the eventual final release. So far my main focus has been working on the story and getting that sorted out as much as possible, but I’ve also been addressing some bugs and feedback regarding the demo. Along the way, I’ve come across a few more “Gamedev Grievances” which I thought I might share.

1. Controls and menus

When it comes to controls (and especially the number of controls), there’s a delicate balance to be observed. Fewer controls means less to remember and so the game is easy to pick up; however, this limits the degree of functionality and control the user has. In contrast, many controls gives the player greater functionality (for example, having lots of hotkeys to access menus), but is harder for new players to pick up and remember.

In the first few builds of Ambience, long before the demo was released, I opted for the “few controls” approach, and had a single menu that dealt with everything – items, weapons, and so forth. However, it soon emerged that gameplay involved switching between weapons and items a lot, which involved picking your way through lots of menus almost every turn – which was, understandably, very annoying.

Gif Menu 1 Early Build
The original, clicky menu in an early build of Ambience – fewer controls to remember, but slow and inconvenient.

As a result, the Ambience demo kept the main menu (accessible with the Enter key), but also added a series of hotkeys (Z, X, C, and V) through which the player could quickly switch weapons and use items without going through the menus. However, in hindsight I probably over-corrected and wound up with too many controls to comfortably memorize. Some people who played the Ambience demo noted that there was a steep learning curve regarding the large number of controls you needed to get used to. There was also a need for consistency between using either the mouse and keyboard, and not pushing players into using a mix and match of both.

Gif Menu 2 Demo
Both the clicky and hotkey (ZXCV) menus in the Ambience Demo – good functionality, but too many controls.

As a result, I’m currently working on developing a new, more integrated menu, which allows access to everything important through a single key (Enter). The original, full menu can still be accessed through this, as well as the quick menus for weapons, items, and skills.

For the moment, I’m keeping the clickable buttons along the side of the screen for the major functions, such as save, quit, and help. I’m also debating whether to keep the ZXCV hotkeys from the demo, or just have a single, pop-up Enter-key menu. Decisions, decisions…

New menu
Both the clicky and Enter key menus in the current, post-demo build of Ambience. (I still can’t work out how to get GM:S to map the Enter key to a character in a sprite font, though. Sigh.)

2. Branching storylines

The final release of Ambience will have a much deeper storyline than the demo, with multiple possible endings – probably three main scenarios, with other minor differences increasing the true number further. These differences will depend, in part, on your interactions with the Renegades, Vulcan and Zephyr. While these interactions are usually optional, and won’t directly assist you in completing the game, they will influence how the Renegades (and you) end up. In some cases, they will even affect the nature of the bosses you face in the current and subsequent playthroughs. (They will also affect the difficulty of these bosses, but only very slightly – I’d like to avoid any major influence of story progression on difficulty if at all possible).

Most of the story has already been worked out on paper – but the hard part about all this is implementing it.The amount of planning, tables, and careful analysis I’ve undergone already is mind-boggling, to say the least. Already I’ve written almost 6,000 words of tables, text, and fragments of dialogue… and counting. Even then, it’s still nothing compared to many other games with multiple endings, such as Chrono Trigger or Undertale – just the thought of how much effort and careful thinking must have gone into these games just hurts my brain.

One thing I’ve definitely learned from all of this is: never underestimate the amount of creative writing involved in developing a story-heavy game, even if you’re not going for a branching storyline like in Ambience.

The "dull side" of game development, here in the world's most boring gamedev screenshot.
Part of my story planning notes – or in other words, probably the world’s most boring gamedev screenshot.

There are some other Gamedev Grievances I’ve run into, but for the moment (and in the interests of keeping this post short enough to still be readable), I think I’ll hold onto them for now until next time.

What are some of your recent Gamedev Grievances?