Ludum Dare 48 : Deeper and Deeper ; my entry Deep Voice


  • Posts: 1654
A Developers Journal / Post Mortem.

My ludum dare participation wend incredible well this time.
You propably know that I like to do things that shouldn't be done and this time this way of doing seems to work out nicely.
Initially I wanted to have another theme like hidden worlds or Lost Signal / split in two. But it was Deeper and Deeper.
Directly I had an idea about (deep)voice control. But how can I get that?

After the first hours I had audio recording but I could not figure out how to get the pitch from the recorded WAV file.
During game play I could save the recorded data to my server and use Linux tools to inspect this.
That would have been a way forward but I wanted to have realtime feedback. After some investigation I found out
that there are some Javascript stuff to get real data from a stream. BINGO.

After some tweaks to find out what the 'notes' are I found out that the frequency was the thing that made everything much better.

So on Saturday morning I had the game mechanic in place. The rest of the day (till 04:00) I worked on the animations.
Last week I installed Aseprite and had some experience with it.
That tool is sooooo much better than my previous experience with GIMP.
I could work with layers so much faster and I found out that I could use Remote Desktop on my Samsung Tab Note 7 plus.
So I had pen control. Some of you might know that I make 'regular art' and using the pen on my Tab made drawing so much more efficient with the computer.
Previous attempts where with scanning regular drawings and I lost the line-work  with it and spending time on drawing and then fixing things on the computer afterwards was not very efficient.

Using some references online I could select frames from regular animations and draw them. This wend very well and at the end of the day I had a lot of animations and other artwork ready.

Sunday was all about getting the right pitch for the game play. I needed to tweak the input to be more forgiving. No input wend from high/low frequency to 0 in an instant.
If I would have had a character following that inputpath they would surely crash into the ground immediately.
So tweaking this data took a few hours.

Next was to make it multiplayer. Oh boy that was another challenge. After a few hours it boiled down to the fact that in order to get audio input I had to make a secure (HTTPS) connection to the server.
But frustrating enough that requirement didn't uphold on my 'localhost' execution when testing the stencyl game.
On localhost you can have audio input and do client to server communications on a non-secure protocol. But once I uploaded a built to test on my server that failed. You cannot mix secure and non-secure protocols !!!
That TESTing was what I learned on previous jams. When you make everything on your local system it could fail missarably on a server. Past experience was with 3D assets that loaded differently.

So fail faster was here the thing that rescued me.

Conclusion : don't mix https with non-secure websockets. I didn't want to investigate in making the websockets secure. I know that it can be done but I didn't want to spend all Sunday making/fixing this.

That resulted in the way that I had four character-animations and I could have made the game with just one. So I decided to have the four characters be selected during the start of the game.

Adding all the assets together was prety straight-forward. (But as you all know : takes time) And on Sunday afternoon I had:

  • Character Selection Menu
  • Character control
  • Object spawning (cow, windmill, kite and airplane)
  • Different heights of the object spawning and using the wave behavior

At that time (Sunday 18:00) I wanted to have some audio in the game and I recorded lots of things with my voice to be added into the game.
Unfortunately I couldn't get audio to play. I think that is caused by having the audio channels 'blocked' by the recording.
I believe I should be able to adjust this, but, again at that time I felt that I should not bother to touch the working code.

The remainder of the time I spend on making the -test-for-audio- in HTML and make according scenes to give the player chance to turn on their audio. A audio recording bar would indicate the level of input to the player and they can start playing.

I wanted to make a death animation and a nice 'Loser' / 'Winner' screen but the time was running out and I selected for one scene that had either one of the results in them.

Two hours or so before the deadline I completed the LD page and wend to bed.

The next morning I was surprised with the great feedback I received and most people seem to enjoy my entry. WOW very excited!
On Monday afternoon I had already received enough ratings to be given a score at the end of the compo. How cool is that!

If you are doing a LD yourself I would greatly appreciate a vote/comment from you on my LD page (I will certainly comment/rate yours if you post me your LD page)

I will be updating this post with the result I will get. (22 days from now)
Proud member of the League of Idiotic Stencylers! Doing things in Stencyl that probably shouldn't be done.


  • Posts: 1654
The results are in:

Overall: 512th (3.375 average from 74 ratings)
Fun: 523rd (3.225 average from 73 ratings)
Innovation: 34th (4.271 average from 74 ratings)
Theme: 452nd (3.57 average from 73 ratings)
Graphics: 515th (3.347 average from 74 ratings)
Audio: 651st (2.519 average from 56 ratings)
Humor: 169th (3.315 average from 67 ratings)
Mood: 487th (3.185 average from 67 ratings)

Proud member of the League of Idiotic Stencylers! Doing things in Stencyl that probably shouldn't be done.