LD 44 April 26–29, 2019

SPENDOTRON: 2019 - LD 44 Compo Postmortem

The theme for Ludum Dare 44 was “Your Life is Currency”. This was my 9th Ludum Dare and first one using Javascript. It’s been over 4 years since the last time I’ve competed in a Ludum Dare so I’m excited to get back into it. I think this is one of my best entries, a super difficult twin stick shooter demake of Robotron.

https://www.youtube.com/watch?v=rUmNFSKD5NU

Play and Rate...

https://ldjam.com/events/ludum-dare/44/currency-wars

Postmortem

My main goal going into this compo was to make a game in Javascript with sound effects using my sound effect maker ZzFX. I knew this would be a difficult Ludum Dare because it’s been years since I’ve done a 48 hour jam. On top of that I already bought tickets to see Avengers: Endgame on Saturday!

Friday – Concept

This Ludum Dare had a somewhat unusual theme: “Your Life is Currency”. I grappled with it for a while and scribbled down some ideas, here are a few…

  • You are fire! Burn as much as possible without running out of fuel.
  • You are a space ship, manage your energy to stay alive.
  • You are a human, chose from options how to spend your life.
  • You are a dollar symbol, shoot pennies at the rival currencies.

That’s about as far as I got the first night. I always find it impossible to start moving on an idea right away, usually the best ideas don’t come until later.

Saturday – Core Gameplay

I woke up with a decision made tried to hit the ground running. I had an interesting idea for the core mechanic that I wanted to experiment with. Trying something I haven’t done before helps me get motivated. In a nutshell the idea is that shooting costs energy but kills give it back.

That mechanic implied a scoring system that is based on the money spent not the money owned, which seems weird at first. For example, if bullet costs 1 cent but a kill gives it back it sounds like a break even. The trick is that your score is money spent so every kill actually adds 1 cent to your total. The copyright symbols give the player a way to recover lost money and keep hope alive.

I started by building on top of my JS1k game “Queen’s Gambit”. The code is so simple and small that I ended up just rewriting almost everything. Most of the tricks I used for JS1k actually make the code harder to work with. By late afternoon I had most of the rewrite done and the art switched over to a currency theme.

I decided to sacrifice a few hours to see Avengers: Endgame on Saturday evening. I still don’t regret it! After getting home from the movies I worked on getting the core gameplay implemented. Some things I added were: pickups, bitcoin movement AI, enemy wave spawning, quick art pass, quick sound pass, and other gameplay improvements. I went to sleep around midnight with a rough but functional first playable.

spend0.png

Sunday – Polish

By Sunday morning I had a clear idea of what I wanted the game to be. I started by making a prioritized list of everything I wanted to do and just hammered through it all day. Here’s the main tasks I did in chronological order…

  • Screen Composition – Made play area smaller with a rectangle around it, and better organized how information is displayed.
  • Start Screen – Show how to play, enemies, controls and high score. This is a very important thing to make a game feel polished.
  • Wave spawning – Created a table of how many enemies of each type to spawn for each wave. Every 10 waves it cycles through with 50% more enemies. This helps each level feel different.
  • Spawn © away from enemies and show ? when © is killed. £ enemy – Themed as a Patent Troll that steals © and turns them against you. Only appears every 5 waves which also have double ©.
  • High Score – Important for replay value.
  • Visuals Pass – Color/size adjustments, improved “money pit” display

I also just spent a lot of time just balancing the game and improving small aspects of it. I’ve played a ton of Robotron, so I tried to leverage that knowledge that as much as possible. Maybe I went too far because everyone says the game is too difficult. I am currently offering a $20 prize to the first person to get $20 in my game, so far I’m the only one who has done it!

Another huge thing I added was the sound effects. For most previous game jams I’ve used a tool like Bfxr, which is great. This time around I wanted to test out ZzFX, a tiny opensource javascript sound effect player that I made for JS1k.

ZzFX was super fast to iterate with, and in total I made 14 sound effects. There are some limitations though and finding the right sound can be tricky. After this experience I’ve have some great ideas for the next version. Mainly I want to make a more feature rich tool less focused with code size but retaining the ability to quickly paste in sound effects.

Final Thoughts

Being able to iterate quickly is extremely important for short game jams. This was my first Ludum Dare using javascript and it is by far the fastest way to iterate that I’ve found. Being able to play the game in browser without a lengthy download is just icing on the cake! It’s safe to say that most of my future Ludum Dares will be done in javascript.

If you’d like to see the code for my game, I made it available on Github.

Thanks for reading, and have a great day!

spendotron3.gif

Fragment Jam (June 1-30) - release your unfinished games to the world!

Hey LD jammers!

Do you have ancient projects, discarded prototypes, or experiments you grew distant from?

We want to celebrate those with you!

Come join Fragment Jam (June 1-30) and release your unfinished games to the world! 🕊️🛸🆓🌏

Logo.png

What is Fragment Jam?

Fragment Jam is a game jam focused on admiring and sharing unfinished games (fragments). Maybe you want to revisit these projects someday, maybe you want closure and to move on, perhaps you want to make a fragment for the jam. Fragment Jam is here to help sort it out and to provide a platform for celebrating and sharing our fragments.

Other cool things:

  • ~$200 in Game Prizes awarded randomly to participants!
  • YouTubers and Streamers organised to play your entries and give feedback!

Join Fragment Jam!

Follow FragmentJam

Join the Game Jammers Discord community

Hope to see you there!

If you made your game using Unity, PORT IT TO WEBGL!

We've been looking over some of the numbers for our game Knit Worth on itch.io, and we've been seeing some genuinely surprising results.

TL;DR: our browser plays dwarfs our number of downloads by over 5x!!

While that seems like an absolutely insane disparity, if you think about it, it kind of makes sense. If you only have a Windows download build, here is some of the potential audience you will miss out on:

  • Mac Users

  • People playing games on their non-personal computers

  • People who can't be bothered to download a zip file, extract it, and open up an .exe

  • People who are (justifiably) weary of downloading and running .exe files off the Internet

These groups of people are not a small number. In fact, they likely outnumber your original audience by a lot. In the process of downloading and running your game, a potential player can have dozens of reasons or opportunities to stop what they're doing before they even hit your title screen. A WebGL build takes out almost all of those steps. All they have to do is click your game link, hit the "Run Game" button, and bing bang boom, you have a new player!

Don't underestimate the impact that user friction has when getting someone to check your game out!

Don't know how to port to WebGL?

It might be easier than you think! Here's a step-by-step guide:

  1. In Unity, go to File->Build Settings
  2. In the Platform section of the Build Settings window, select WebGL
  3. Go through the regular build process
  4. Zip dat stuff up into a .zip file (and only a .zip file!)
  5. Go to your itch.io page (or make an itch.io page) and change your Kind of Project to HTML.
  6. Upload your .zip file to the page, and specify that it is meant to be "Played in Browser"
  7. ...That's it! Now just make sure everything works. :) For a lot of games, it might just be that easy!

A couple of caveats

*Caveat 1: *

A WebGL build is unlikely to run as well as your download build. You can google around to find some quick optimizations you can do, but for the most part your download build will always be superior. However, as long as your WebGL is at least 75% as playable as your download build, the payoff for a larger audience and feedback quantity is absolutely worth it (in our opinion)!

Caveat 2:

We recommend porting to WebGL in order to reach a wider audience and get more feedback. However, the number of ratings you get and the amount of feedback you receive does not necessarily correlate to how good your final results will be! Every Ludum Dare, there are always some games that are just barely above the minimum rating threshold that sweep some of the top spots (often deservedly!).

If you can't port to WebGL for one reason or another, don't fret! You shouldn't be at any sort of disadvantage compared to other games because of it in terms of final results. Unfortunately, it does mean that, due to your game's availability, you likely won't get as much feedback simply due to the wide range of players we have around here.

Caveat 3

Once you put a WebGL build up, prepare for browser plays to start cannibalizing your download numbers. It seems that, even if a player has a compatible machine to download your game, they will more than likely default to the WebGL version to experience your game, even if you have a warning informing them that they may potentially be having an inferior experience (like we have in our game). As long as your okay with this, you will have a much easier time getting people to play your game.

We hope this helps some people out there who are looking to get more feedback for their hard work!

As a friendly note, we, the Keyboard Cowboys, are making a point to play, rate, and comment on every single game that was made by users who were kind enough to give us feedback on Knit Worth. We won't be deterred by a download process and promise to get back to you as soon as we can! We like to be thorough in our feedback giving though, so we appreciate your patience!

'Til next time! :pointright: :cowboy: :pointright:

Still looking for your feedbacks

https://ldjam.com/events/ludum-dare/44/les-pattesthe-legs

Come take a look to our game, we need your precious comments to improve it, THANK YOU!!!

24077 (1).jpg

The Art of Music: Inside the Arrow of Light Soundtrack

A game’s soundtrack can completely change its atmosphere. Don’t believe me? Imagine this--you live in a desolate town that has had no access to the outside world after a sudden Reaper invasion. Now imagine there is happy circus music playing. Doesn’t fit at all right? We need a melody that reflects the state of the world. That’s where music composers come in.

As I watched Sylvie create the first town in Arrow of Light, I noticed that the town seemed pretty sad. I imagined it was very windy so I recorded myself blowing into a microphone to the beat of a metronome. Then I added some cute but morose tuned percussion.

Some instruments

The tuned percussion came from the machine labeled 2 in the image. It was $28.88 at a Goodwill. It has a lot of really good sounds on it! I kept adding more and more sounds together until eventually a song was created.

The melancholy feeling of the town came to life with the sweet and sad music. It created a quiet atmosphere that reflects the lonely lives of the town residents. I hope you took time to explore the town and listen to the song.

I also sent Sylvie a lot of sound effects I thought the game would need, which made the various interactions more interesting and satisfying. Most of them I made by speaking into a microphone and manipulating the waveform a lot. Can you hear my voice in any of the sound effects?

When I checked back in with Sylvie, she had started working on a cute new area with a lot of grass. She recommended that the music should have an adventurous vibe. “Hmmm,” I thought.

Field of Flowers and Grass

I remembered that my coworker Tulio had loaned me his homemade synthesizer. He likes the Sega Genesis a lot, so the synthesizer uses the same chips as the Sega Genesis! The synthesizer is labeled “1” in the image above. The synthesizer even has a feature where you can extract the instruments from popular games such as Sonic the Hedgehog! Tulio’s synthesizer costs $900 so I will be giving it back soon!

Anyhow, I used some instruments from Green Hill Zone to make the grass music. I thought of a really cute melody in my head and repeated it on the keyboard. All of the instruments for all of the songs were played in real time because I think it is more fun to play with audio directly instead of MIDI data.

Some of the songs I’ve made for Sylvie’s games in the past have contained lyrics. I didn’t think she would want full lyrics for the songs for this game, so I thought it would be cute to say “1, 2, 3, 4!” for the music in the areas outside of the sad, sad town. This is how the mascot of the game, counting to four, was born.

Next it was time to create the music for the dangerous lava area.

Cavern of Flames

I was thinking about the music from the fire area in An Untitled Story a lot, but I don’t think you can tell that from the end result. I picked out some wacky key signature and put down the bass line. It was getting really late at night, so I thought of a silly melody to play over the bass line before I went to bed. When I woke up I continued on the song right away. I think it turned out pretty good! The instruments remind me of Yoshi’s Story.

And what happened next… well that’s spoilers! I will say that I created the ending music and then based the title screen music off of that, though.

If you want to listen to the songs, check out the Arrow of Light Ost on Band Camp.

And don’t forget to check out the Arrow of Light game itself, playable in browsers or as a Windows download!

And after you’ve played (or before if you want) don’t forget to read the Arrow of Light postmortem!

Can you top the leaderboard of DEADline?

DEADline is a platformer in which you create the platforms by typing them out.

I currently sit at number 2 of the leaderboard (which took me embarrassingly long time to achieve I gotta admit).
Can you do better?

2019-05-08 02em48/em27-DEADline.png

I recorded my top run (and added a death reel just for funsies):
https://www.youtube.com/watch?v=Q0OwtG1UABQ

Type your way to the top of the leaderboard in DEADline.

Submit your game

So it’s now time to open registrations for our P&R-Streams.

Submit your game here: https://forms.gle/PgdWaAii8MmPm5Lc9

Unfortunately this time we will only have two P&R streams. One today, one next week. And do not forget to be there when we play your game!

https://www.twitch.tv/firesplashtv

post-jam situation

development on Panic Percussion's Deluxe version has begun! here's a title screen:

title-short.gif

the jam version is still available here: https://ldjam.com/events/ludum-dare/44/panic-percussion/

Knit Worth Record Holder in Action

https://youtu.be/zGqD2T2XBt4

This is peak Knit Worth performance right here.

@Jenkinz94 shared with us a video of him getting the absolutely filthy score of 20,272,500 and a combo of over 900, absolutely destroying us at our own game!

(Unfortunately, audio not included...)

Think you have what it takes to dethrone him?

Try it yourself at https://ldjam.com/events/ludum-dare/44/knit-worth!

You like turn-based games?

Calling all Commanders! The Ludum Dare fleet needs you! It's time to step up and do your part!

battle_01.gif

WebGL and Win https://ldjam.com/events/ludum-dare/44/lifeforms-in-space

Switching to Godot

My LD44 game Trash Planet Explorer has been made using Game Maker Studio 2. Although I enjoy GMS2 a lot, I decided to switch to Godot for the post-jam edition.

The main reasons:

  • Godot works in Ubuntu, GMS2 doesn't;
  • Working with JSON in Godot is so much easier than the data structures of GMS2;
  • Image processing when scaling and rotating sprites is horrible in GMS2.

trashemplanet/emgodot.png

Try a game I made. It's an easy and simple game.

https://ldjam.com/events/ludum-dare/44/gift-is-life

Game development beginner. Simple and easy game. Please give me one evaluation. The game was made with scratch.

Who still hasn't tried this game yet !!

My first entry for the Ludum Dare OneMoreDrop an easy and quick game to enjoy. Also any feedback is appreciated. So what are you waiting for give it a try ! :v:

02-OneMoreDrop-full.jpg

and for those who already played it thanks a lot every bit of feedback is being saved for the next jam :thumbsup: