Ludum Dare 34 — December 11th-14th, 2015 — Theme Tied: Two Button Controls, Growing

NOTE: Because of the Theme tie, we allowed everyone to pick either Theme. Using both was optional. To keep things simple, there will still only be one Theme category. Every category in Ludum Dare voting is an opinion, so you’re welcome to rate them as you see fit. But we encourage you to be fair in your scores to people that chose only one Theme, and not both.

ALSO: has an experimental game downloader over here. You may find it useful.

Back to Browse Entries

The Days of Christmas

by Sam Twidale - Compo Entry

In The Days of Christmas you click or tap lyrics close to the current line or verse as quickly as possible to maximize your score.

The theme is in the song, the main verse grows as it loops over and over. Also, there are currently 12 days until Christmas :)

I had 18 hours this time, so this was rather rushed. A lot of time was wasted writing a signed distance field shader for the text I couldn't get working, so ended up with nasty geometry text instead. I also wanted to build a Christmas tree silhouette out of text, but no time.

The game is written in Haxe, targeting JavaScript/WebGL. It requires a recent graphics card and modern browser to run at all, and probably needs a fast computer to run at full speed.

The game works with the mouse, no touch or keyboard input. Unfortunately, there's not much to do except click the colored text for points.

* The sky shader code is a derivative of the three.js sky shader example: - which I built on in my previous compo entry. I did not write the shader from scratch during the compo.
* The lack of audio isn't a bug - there are others, though!
* I removed the particles in the screenshots due to bugs on IE, they're not in the uploaded games.
* Sometimes the score doesn't go up, oops.
* I should've used a monospace font, oops.

* The Haxe Programming language.
* three.js for rendering with Haxe externs by George Corney (Haxiomic).
* Lycan, a work-in-progress library of Haxe game development utilities.
* Joshua Granick's actuate tweening library.
* Luke Moody's ShaderParticleEngine for three.js.
* Massive Interactive's msignal signals library.

Downloads and Links




peterthehe says ...
Dec 14, 2015 @ 7:07am

Interesting concept. Well executed for the time it was made in.

graceavery says ...
Dec 14, 2015 @ 7:17am

Super interesting execution, I'm interested to see what you could make with this basic concept with more time. Great visuals, the color shifting background adds a lot of atmosphere.

Elenesski says ...
Dec 14, 2015 @ 8:12am

Interesting idea. But it didn't work for me, clicking the colored words didn't add to my score. Neat idea with the text.

ProjectX593 says ...
Dec 14, 2015 @ 8:36am

Clicking the colored words doesn't do anything for me.

mukult says ...
Dec 14, 2015 @ 8:49am

Nice idea!!

Sam Twidale says ...
Dec 14, 2015 @ 9:25am

Thanks all. I'll try to get the text shader working and clean this up sometime to get the intention across.

What browsers and input/mouse/touch are people who can't get input using? And ah, touch input isn't in actually, noted that.

hexagore says ...
Dec 14, 2015 @ 5:39pm

I love how experimental and it looks lovely. I found it very difficult to understand what I was supposed to be clicking, though. I just started clicking things randomly and numbers went up? Feels like it could maybe do with more feedback in some way!

It is nice to play something completely different tho

Jakob37 says ...
Dec 14, 2015 @ 7:23pm

It has a beautiful look. It would be nice to play it with music :)

francoisvn says ...
Dec 15, 2015 @ 12:01am

Cool concept, I'd like to see it taken a bit further :)

TomenLuca says ...
Dec 16, 2015 @ 12:49pm

It's an interesting concept, but I feel it would be better if the actual song would play over it. Then I wouldn't have to look at the lyrics in the bottom all the time (I don't know this song very well).

Dec 16, 2015 @ 1:06pm

I love the mood and the concept of the game, it is very original. A little creative game always is welcome :-)

loxo says ...
Dec 19, 2015 @ 8:19pm

Interesting idea, but it's to fast for me. I couldn't follow the text at the bottom and click the words at the same time. It could be easier with some audio.

Gamepopper says ...
Dec 19, 2015 @ 9:40pm

Interesting, and very Christmassy!

Skywilly says ...
Dec 28, 2015 @ 1:37am

Interesting idea !

cilerba says ...
Dec 29, 2015 @ 4:08pm

i liked this one a lot. such an interesting idea!

Acuity says ...
Jan 1, 2016 @ 5:29am

I expected music to go with the song with the description, but this seems kinda cool.

SamH says ...
Jan 3, 2016 @ 2:13pm

It was a bit confusing at first, then became a bit repetitive. It’s nice aesthetically, though, but not very challenging. The experience might be better on a touch device, maybe?

Haokarlos says ...
Jan 4, 2016 @ 9:19pm

I think its a good idea but I missed some music

You must sign in to comment.

Mini Submission FAQ

TEAMS: Teams entering the Jam should pick a single representative to submit your game, or create a team specific account you can share. We currently do not support Team Voting, but sharing an account and together playing and rating games is acceptable.

CAN I ENTER BOTH EVENTS?: You should pick 1 event, whichever you think it’ll do better in. If the idea is strong, and everything plays well enough, you can go Compo. If you’re a perfectionist, and would prefer people to play a more polished game, do the Jam. Historically, more games are entered in the Compo, but with more people and more time, Jam games have the potential to be better (that doesn’t mean they are). Many solo participants do enter the Jam.

If you made 2 games, unfortunately, the website doesn’t support multiple submissions per user. To submit your 2nd game, you will have to make a 2nd account. Only do this if you made 2 games. Alternatively, if one game is better than the other, then consider just entering the better game.

CAN I KEEP WORKING UNTIL THE DEADLINE?: Yes! Immediately after the 48 or 72 hours, we do something called Submission Hour. As the name suggests, it’s an extra hour for you to package, upload, and submit your games. If there were catastrophic issues trying submitting your game, or you misunderstood how submissions work, that’s okay. It happens. We’re flexible. If you need advice, check with the folks on IRC. If you need an admin, get in touch.

CAN I KEEP WORKING ON MY GAME?: Oh definitely! You should! But for the sake of judging, keep the Compo or Jam version around. You can include a link to the Post-Compo/Post-Jam version of your game on your games page, but sure your main links are the original version.

PORTS: Ports to other platforms can be done after the deadline. That said, the sooner you finish your port, the sooner people can play your game, improving your chances of placing in the final results. For best results, provide a Web version of your game, or a Windows version with no dependencies. Also be sure to rate at least 20 games to improve your visibility (Coolness).

MY GAME CRASHES, IS UNBEATABLE, OR I MADE A TYPO: We allow you to fix crashes, win condition, or tiny bugs after the deadline. In a sense, this is like “porting” to support more players. We leave this open to interpretation, but generally speaking your game should be identical to the game you submitted. No new features, just fixing mistakes you should have caught had you been better rested.

MY GAME DOESN’T SHOW UP: If you can’t find your game, it’s usually because the URL to your downloads are missing ‘http://‘. Fix your URLs ( and you will show up. Alternatively, if you just posted it, wait a minute. The cache may not have refreshed yet.

NOT LOGGED IN?: If you get a message about not being logged in, even though you are, it’s because your web browser cached the non-logged in page. You can fix this by either refreshing your cache or clearing your cache. CTRL+F5 in many browsers. Chrome is a bit more work. Press F12 to enable Developer Mode, then you can right click on the refresh button and select “Empty Cache and Hard Reload”. This option is unavailable if you are not in Developer Mode.

[cache: storing page]