The Creation of Hell's-On-Hold
This post is aimed to be a discussion and 'peek behind the curtain' of Hell's On Hold, my first Ludum Dare entry & second ever gamejam entry!
I'd suggest giving it a try over at https://ldjam.com/events/ludum-dare/55/hells-on-hold first, to see how it turned out!

What's it about?
Hell's On Hold is a short game about the lesser-seen side of summoning. What happens if you mess up the sigil? - Someone's gotta help and that's where Summoning Support comes in! Play as a lowly tech-support agent in Hell's No. 1 hotline for all things summoning!
Use the book and computer lovingly provided to you and help the callers with their rituals! However, the callers cannot tell you their ritual, so you need to ask them questions to figure out the correct ritual. Be careful, though! You're on a timer from the moment they start ringing, so make sure to go quick!
Day 0
The Idea
Like a lot of games, this LD started with us all in a voice call at roughly 01:30AM BST discussing possible interpretations of all the themes.
I was personally rooting for the 'Fishing' theme, after someone had the idea of a warioware-like minigame collection, of just fishing minigames from across gaming history.
Our ideas sheet looked like this just before the theme dropped - Notably the final idea for Hell's On Hold is not actually seen here.

Our original idea for 'Summoning' was to make a boss-fight where you 'summon' your creature from different parts (The idea basically being from the Thrasher gag in Deltarune CH1/CH2). We also felt this idea could be adapted well enough into the 'Recycling' and 'Strange Machines' categories that we didn't bother thinking up any ideas for them.
However, once the theme dropped, a couple more team members joined the call and weren't a huge fan of this theme - So we dropped it and started looking again. (After all, my general rule of thumb for these things is that to make something original, your first couple of ideas will have to be thrown in the trash)
That said, it didn't take long for someone in the call to suggest some sort of tech support hotline (Looking back, we had our first design-document of what we wanted the game to be in just over an hour!). And considering several of us have experience in either being tech support or in a call center, this was an idea we all immediately latched onto. With the game idea made, what next?
notDonte put together a design document which served as the basis for the game loop going forwards.

Day 1
Brainstorming & Concept Art
We had our idea, but still very little information about how we wanted to implement the idea. So the next step was brainstorming how we wanted it to look. We knew we wanted to go for a very corporate environment, with the player in a cubicle, but that does not make a game in of itself.
Quite quickly after that, one of our Developers, DeadlySprinklez drew up an interpretation of how the UI would look. Once more this was an idea we all quickly latched onto and stood as pretty much the final design throughout the jam.

Meanwhile one of the artists, Kin, drew up a bunch of rough concept art, which is the first look into some of the final character designs, and the gameplay loop.

This pretty much concludes day 1 for me - It was 4AM for me and I headed for bed, to get a fresh mind for the game development in the morning. While I was asleep, the rest of them team put together a template in Love2D for us to work from.
Day 1.5
Development Woes & First Steps
The first actual development I did went about as poorly as one could expect. Having not touched Lua since our entry into the GMTK Game jam last year, and not having nearly the same level of support I had last time (By the time I woke up, DeadlySprinklez was headed to bed and megaminerzero was still busy with prior commitments to start development), the first 2-3 hours of actual development were a slog

Safe to say, this was not off to a great start. Thankfully, while I was starting at an IDE and wishing I stayed in bed longer, Kin drew some line-art which would serve as a great starting point for actual development (Once I finally got there...) and the final piece of art made before we started getting real assets.
Thankfully, from this point onwards I started to pick pick up the pace and by the end of the day we had something actually resembling a videogame.
https://www.youtube.com/watch?v=8iggKEvcfto
Having only slept a couple of hours the night before, I called it a night here and went back to bed. Megaminerzero joined in at this point, and helped improve some of the textbox code (so it didn't wrap weirdly), Kin drew up the final UI and OctaHeart drew the final character.
We opted to go for a corporate-like and somewhat cartoonish artstyle this time around - Our last game (Done Deal) went for a drab pixel-art style, so it felt fitting to go the complete opposite for our second game jam.
The final UI with the assets put together, made by Kin finalui.png
The final character design drawn by OctaHeart

Day 2
Progress, Art & Bugs
After waking up (after yet another short night of sleep...), I immediately started work on implementing the assets drawn by Kin into the actual game.
Meanwhile, Megaminerzero was working on importing the many character sprites and DeadlySprinklez was arguing with metatables to help improve the mouse controls, resulting in one of the funniest bugs we encountered during the event.
https://www.youtube.com/watch?v=sU3yeJaT148
During this time some comparisons to existing media were made, and the player character gained a mouth + the ability to use it thanks to the work of Megaminerzero.

https://www.youtube.com/watch?v=yGyYloOWGvs
Shortly afterwards, progress sped up and I managed to get the first UI for the book working (with very... temporary images inside), followed shortly thereafter by the first implementations of the sticky notes seen in the final game. (With some... interesting results)
https://youtu.be/-xR7Oi6QT3s

Thankfully, it wouldn't take long for Kin to draw up the final sticky note artwork & the artwork for the open book. (Plus the text-boxes finally got a background image after this point! No longer were they drawn haphazardly over the top-left corner)

At around this point, I also finally got a couple other major milestones down First - The ability to select text, click & drag post-it notes onto the chalkboard finally got put into place, making it possible to actually save notes from the dialogue you were given (...with an interesting bug that resulted from this)

As well as deciding that the best way to do dialogue would be to say some weird things into a microphone, cut it up and call it banjo-kazooie.
https://youtu.be/BpWtnGPSNA8
Shortly after this, we finally got a name (Coined by 3xp0, the composer of the hold music you hear while playing the game), and the first ideas for the logo started coming together.

We were coming along. Progress felt a little slow, but we still had a whole other day and 3 developers to finish it up.
After all, the last main thing to do is the dialogue trees. We had already selected an open-source library (Ink) to handle this, so how hard could it be? I called it a night, safe in the knowledge that another developer had taken the mantle of handling dialogue, and it's sure to be done while I'm asleep.
Day 3
On The Ropes
Turns out, dialogue is harder than expected. I woke up, checked the group chat for the jam and... saw that both other developers had dropped out overnight.
I will admit - Not the greatest of things to wake up to in the final day of a jam. After checking the git repo, it appeared that the dialogue system I had oh-so-hoped for was still absent, (and in fact, the last commit was still my final commit before going to bed the night before)
(To note - I hold nothing against the two developers who opted to bow out - The pressures of real-life quickly compound with the short development time of a game jam can quickly result in stress piling up quite quickly.)
The first conversation after I woke up was a case of 'Do I continue with this project?' - After all, I had already put so much time into it, and it felt like a disservice to let the incredible art drawn by OctaHeart & Kin to go to waste.
With that in mind, I opted to push on alone till the end. There was still a lot to do, but I was convinced I could get it done alone...
...Thankfully, I wouldn't need to! After a discussion of what remained to be done, about 45 minutes after I woke up (And 15 minutes since I decided I'd try pushing this project to the finishing line alone), one of the other programmers agreed to come back onboard to help carry it to the end.
From here, progress moved quick. I put all my energy into putting the fragments of a game we had together into a comprehensive system for dialogue, while Megaminerzero started working on the final game mechanic yet to be implemented - The computer.
At 3PM, just 11 hours before the deadline, I had finally managed to get the game into a playable state. You could now take a call, and answer all the questions.
How this was done was ugly, but it worked well-enough that despite having to cut out a couple mechanics (and simplify the planned dialogue system by quite a bit), you could now answer a call, fix the issues and then take another call afterwards, in a neverending spiral of tech support.
Thankfully, both artists were able to pull double-duty and put together the dialogue the callers would actually be saying, so there were 4 distinct personalities that could call & 12(!) different summoning rituals to choose from.
Once we had the computer half-done, and enough of the game complete to playtest, I immediately sent it off to friends for playtesting. A little later than we'd have liked, but at least we got some in.
The feedback was mostly positive - Everyone I gave to test it liked the gameplay loop but found it got stale after about 30 minutes. Unfortunately, with so little time left, there wasn't much time to fix this - Instead I put my time into implementing the dynamic soundtrack put together by 3xp0 in the game (The less patience you have, the more dramatic the music becomes!), as well as trying to fix a bug causing the game to crash when you asked a question about chalk to one specific person.
(Did you know? Lua format strings have a placeholder character of %. When the character is '%' that indicates a placeholder int, while '%s' indicates a placeholder string. We missed out a couple of s' and wasted almost 2 hours trying to figure out why it was crashing saying a function that definitely did not require an integer was stating it required an integer.)
Meanwhile, Megaminerzero implemented the final touches on the computer & finally implemented the animations for the player character.
Our final waiting point was for Kin to finish up two final pieces of artwork - The tutorial leaflet and the menu artwork. It got a bit tight towards the end, but the final artwork definitely made the wait worth it.

With the final art received, I put them into the main menu and quickly made the two buttons functional, resulting in the final build of Hell's On Hold!

Conclusion
While a bit tight at the end, I'm still very proud of how the final game came out. The feedback received has been incredibly positive, and there's so many ideas we left on the cutting room floor that once voting is over, I'm half-tempted to polish it up into a full release with all the ideas left out. (Even if that requires tearing out my dialogue system and putting a better one in its place...)
But this is Hells-On-Hold as it currently stands.
I think given some more prep-time on Lua, I could have probably got a bit more done - It'd have been nice to implement the spam calls at the very least, to give the player a break to re-organize the downtime.
There's a couple bugs I'm aware of (the sticky notes are all supposed to be cleared after a call, but for some reason not all of them are...) but I've opted to leave the game alone until voting is completed.
Thanks for reading all this!
- Bliv (OblivionCreator)
