SPOOFSLOL has managed to reach 17 ratings so far! I only need 3 more until I reach 20! I know I can still make it, but I can't do it without your help! The game only takes about 5-15 minutes to beat if you don't die too much, so why not give it a shot? https://ldjam.com/events/ludum-dare/40/super-power-omega-op-force-sigma-lasers-of-lightning-spoofslol
LD 40 December 1–4, 2017
Three ratings away!
Great Deal
Hey, random user scrolling through the blog posts!
Want to play a game?
https://ldjam.com/events/ludum-dare/40/great-deal
Two more ratings to 100

This has been great! Thanks to all that have rated and given us feedback, these made us want to develop this idea that we had even further.
If you haven't play Greedy Merchants and help us reach the hundreed ratings. And while you are at it tells us what you think!
Student Simulator
Hi everyone! I'm Athoka. I did this great game, called Student Simulator, and you can play and rate it here https://ldjam.com/events/ludum-dare/40/student-simulator This is my first LD and I'd love to have more feedback so I can learn and improve my game post-LD.
Ignorance is Bliss timelapse
Thank you everyone who voted - Ignorance is Bliss now up to >30 ratings in every category (except in humour … :D). I put together the timelapse for the full process, in glorious 1280x800 at 60fps!
https://www.youtube.com/watch?v=cgn3uOo1GOc
Play Ignorance is Bliss
Getting Nervous...
When we decided to do a VR game, I knew that many people wouldn't be able to play and that we wouldn't get as much feedback as with a regular game. But I had hoped that it would be more than 8... :cry:
So if you happen to have a headset we'd be happy for feedback on our game Rattletrap VR, because we're actually really happy with how it turned out.
https://www.youtube.com/watch?v=Yp1BlSnUG6s
Play our LD40 VR game Rattletrap VR for HTC Vive, Oculus Rift + Touch (Windows)
Boiler Room Defense Timelapse
I have uploaded the timelapse video of Boiler Room Defense
This is the game:

And here's the timelapse. Watch it, it features some sweet sweet chiptunes! https://www.youtube.com/watch?v=nwfYEpBVX3k
Fed up with technology and boring screens? Introducing, Boardgames
Hey guys.
It's been a week since we now finished our LD40 project. Let's see the reviews from our awesome and helpful testers!
"This game was so good I ate it" - *Tyrannas' dog. *
"I almost died playing this game. Well actually I died and came back 3 days later just to be able to rate it." - Some weirdo with a beard.
"Get the **** out of my property I don't want to play your **** game". - *Our neighbourg. He's very cool. Old fashioned but cool. *
"Burp." - *A drunk guy we met in the street the other night. *
WAW AMAZING REVIEWS. I HOPE ALL OF OTHERS WILL BE AS GREAT.
So yeah guys, don't hesitate, let's give it a try, you just need a printer or some shitty drawing skills !
Play Carnage, a board game about taxi companies, traffic jams, money ~~and love~~.

*Pro tip : * you can also use hand colored money tokens to represent the taxis since @Tyrannas clearly oversized the proper ones.
Have fun!
Postmortem: A Boy and His Card
Intro and Plug
If you haven't yet played A Boy and His Card, please do so now! This postmortem spoils a lot of the mechanics and surprise of the game.
Toolset and Onset
I've done a bunch of Ludum Dares, and wanted to get back to basics. So that meant learning a new set of tools, with a focus on modern deployment (especially mobile). Here's what I settled on: * Haxe Flixel - A development platform powered by Haxe, Open FL, and Flixel. * Sublime Text - A (paid) text editor that I happen to love. Opened my game in Folder view.
For visuals and sound, I opted out of both categories and used excellent open resources, touching up when I needed to: * OpenGameArt - A great source of graphical/audio resources. * Gimp - For image touch-ups. * sfxr - For generating sound effects.
I want to clarify that I had programmed zero lines of Haxe or Flixel before the Jam. I'm a decent programmer in other languages, but other than compiling the Flixel demos, I was going into this blind.
Also, I vowed to code this entirely on my Mac, because I was hosting lot9s and we wanted to have mobile setups. (Check out his game too!)
Theme and Despondency ##
So I didn't like the theme. "The More You Have, the Worse It Is" sounds really clever, but it describes a lot of mundane mechanics, as well as being super vague with words like "More" and "Worse". Fortunately, I didn't have time to dwell on this, as I quickly learned that I was in way over my head.
Lesson 1: Using a game jam to learn a new language is a great idea, but practice with the language first!
During the first 12 hours, I spent 7 hours sleeping*, and the remaining 5 re-compiling and re-launching the following on Mac and Android, trying to figure out why the scaling was different.
* I have this annoying condition, causing me to require 6~7 hours of sleep per day, called "being over 30".

In the end, I force-scaled every single sprite to match the expected display resolution. This was the wrong solution, since it caused sprites to look fuzzy on non-uniform scale values (i.e., mobile, or fullscreen), and it was too invasive from a coding standpoint. Way later, I learned that a better way to implement this was to apply a zoom value to the default camera, but that was far too late to change anything. The only benefit to this solution was that it allowed me to move on and start developing a game.
Coding and Haxe
My goal for all of Saturday was to write as much code as possible in Haxe, and to hopefully get a map screen and some semblance of combat. When I am having trouble with a theme, I tend to default to RPGs, since I like them more. In addition, I had brainstormed aloud "Wouldn't it be great to make it so that the more debt you had, the worse it got?". This would eventually turn into the credit card madness you see before you. It was around this time that lot9s's laptop started screaming. (It makes sense if you've played his game.)
Haxe as a language is very well designed. The syntax feels a little like Javascript (which is bad), but with strict type safety (which is good), and the ability to cross-compile into multiple backends (which is pretty magical). It relies heavily on callbacks, and has a lot of other cool features that I avoided because I had limited time to learn things. It is also well-documented, which helped a great deal. I had a plugin for Sublime Text that provided syntax highlighting and auto-completion, but it added an unbearable amount of slowdown. Just the syntax highlighting would have been enough, in my opinion.
Haxe Flixel was just amazing. Someone clearly did their homework, because the framework was both fast to develop with and powerful for deployment. Lots of toolkits promise easy cross-platform export, but Haxe Flixel really delivered. I developed the entire game altering between testing on Neko (a fast VM) and Android (to get some mobile aspects ironed out, like Touch vs. Mouse), and then exported to Web, Mac, Linux, and Windows, and it all just worked. There was one minor issue with Web: I had to convert all my audio files to Ogg Vorbis format. But that was clearly documented, so I don't blame Haxe Flixel for this.
I also want to re-iterate: Haxe is a typed language. This means you get fewer vague errors at runtime, as the direct and obvious errors ("you called X on object Y, but it's class Z, which makes no sense") are caught at compile time. Some people prefer looser type models, but I'm a big fan of strict typing, so Haxe worked really well with my coding style.
Lesson 2: Finding the right toolkit is worth learning a dozen new languages.
Words words words... at the end of the day, I had a basic world map, that you could walk around by clicking/tapping, and that would prompt you for "combat".

"Combat" in this case meant a window where the hero and the enemy would leer angrily at each other forever. Oh, and that map was made in Tiled, but is actually just a screenshot saved to "map_1.png". We'll call it a partial success. :)
Scope and Theme
At this point, I knew how I wanted to approach the theme: I'd make a game where you only had a credit card, and got yourself hopelessly in debt trying to do normal RPG stuff. (I wouldn't decide the name until submission hour, based on the first thing that popped into my head.) This meant having a shop of some kind, which meant I needed to get combat working. I wasn't 100% sure up until this point if I was going to do a full 3-day Jam or not, so I set myself a goal: get a functional combat & progression system by the end of Day 2, and then re-evaluate.
Fortunately, years of Ludum Dares have taught me a lot about scope. I chose not to do an Intro Cutscene, and settled on an auto-battler with three different elemental attacks. This would give players a little bit of agency, without being too hard for me to code or balance. Basic elemental triads are tired and overdone, but they do provide a small element of strategy, and are easy to understand by most players.
I was careful to put all of my long-term data in a "GameData" static class (a trick I learned from RPG Maker), so that I could simply swap in a new Game State when I wanted to switch to world 2, etc. I also put my damage and level up code into centralized wrapper functions, since I knew I'd have to balance the heck out of this game in the final hour or so (it always happens). For non-critical stuff, I just copy-pasted sample code and my own code as much as possible.
Lesson 3: Scope and Abstraction are super important. So is knowing when you can save time by being sloppy. This isn't production code, but it still has to run.
Once Day 2 was done (1 A.M. for me), I had most of a functioning combat system, and it was possible to kill enemies and progress from one world to the next:

RNG and Stats
Day 3, I started by adding a tiny bit of randomly-generated text: the world name was generated by pulling from a list of adjectives ("Blue", "Happy") and nouns ("Caves", "Market"), with the first world always being "Green Hills". I've gotten really good with using randomness effectively after my work on Last Dream: World Unknown (shameless self-promotion!), so I knew how much depth the right amount of RNG can add.
Next, I wanted to add the player's stats on a side board on the left. Mostly this was because I had a ton of extra space (and expanding the world map would look bad), but in the back of my head I knew the player would need feedback lest the game feel obtuse and arbitrary (a lesson from past game jams). So I had "HP", "Power", and "Defense", and I knew my store would let you buy items that boosted these. Boosting HP made no sense, though, and I was worried that having just two stats could cause the player to become overpowered. So I made two decisions: force players to buy items from the shop if they wanted it to refresh, and add a dump stat called "Fashion" that did basically nothing. This was... a mistake, as we shall see later.
After programming the left panel (stats), I went to work on the right panel (shop). I randomly generated the stats the items boosted, randomly generated half of their names, increased their prices as you bought more of them, and created a fixed starting set of items to avoid baffling the player early on. (I actually botched this a bit: the starting set of items resets on each world transition, which is not what I intended. But it actually played well overall, so I left it in the game.)
I already had the debt calculation algorithm (from Day 2), so I next added in a set of stacking penalties that were granted when players ended a combat with debt to their name. At that point, I had the great idea of providing a randomly-spawning credit card upgrade that would increase your interest rate but erase your accumulated penalties. You know, just like in real life! I forced one to spawn on World 2, and then, on a whim, tied the spawn rate for Worlds 3+ to your Fashion stat. Mistake #2. I also kind of botched the debt calculation in a subtle way, so we'll call that mistake #3.
Ignoring mistakes, I had my final game. You could move between worlds and fight enemies, buy items, and manage your debts, as well as some fun little Easter Eggs. I balanced it for a few hours, made a few clutch last-minute changes (like actually printing weapon levels and HP values, or hiding the stats&shop to avoid overwhelming the player), and shipped it off for judging!

The Big Mistake
Most people who play my game get mired hopelessly into debt, which is the intended behavior. However, there are a lot of clever people out there, and some quickly figured out a winning strategy: 1. Buy a ton of items in World 1, until your stats all hit 100. 2. Fight the minimum number of enemies in each world (3 in World 1, and 2 for Worlds 2+). 3. Always take the new credit card. 4. If enemies become too powerful in the future, buy a ton more items.
This results in 2 battles between penalty refreshes, which is not enough to overwhelm the player (and the $500. penalty on death is a pittance anyway). And since Fashion>100 guarantees a credit card drop per world, you'll never have to worry about getting too many penalties.
So that's mistakes #1 and #2. Mistake #3 is a little more complicated: the crushing cycle of credit card debt that is present in real life doesn't manifest in the game. It's actually really easy to get out of debt, since the money monsters drop starts to outpace your accrued interest. And something is off about the way interest is calculated: even with a 100% interest rate, debt will keep decreasing. I think the time slice dynamics of when debt is calculated are off, so you get an unnaturally long grace period. And if you know what you're doing, you'll have no problem breezing all the way up to level 50+.
I still think the game does a decent job with the theme, since the dominant strategy is really hard to figure out if you don't look at the code (or this blog post).
The Tiny Mistakes
Briefly: * I forgot to include some way of increasing Max HP, and by the time I realized it, I had already balanced the early game. * I forgot to explain how elemental resistance works in the game. (It's in the Readme, so you know what that means.)
Final Thoughts
This game jam went really well for me, and I'm very happy with what I made. I really pushed my skills to the limit, especially with my goal of learning a new toolkit and language, but it paid off. People seem to enjoy or at least appreciate A Boy and His Card, which is praise that I don't take lightly. Most importantly, now I know that I can do a Ludum Dare entirely on the road (via laptop) in the event that I'm traveling during one of them (which happened during LD39).
For everyone reading, the most valuable thing I did that helped me in this Jam was, in fact, participating in lots of past Ludum Dares. This really helped me learn how to control the scope of my game, and gave me the tools to answer basic questions about coding, audio, and deployments. Regardless of what language you use (and I'd encourage you to keep trying new ones), I would like to personally encourage everyone thinking of doing Ludum Dares to just bite the bullet and go for it! Your first few entries probably won't be amazing (they could be!), but you'll learn a whole lot, improve your skillset, and have a lot of fun!
Want to kill some worms?

We have our original LD submission on our page, but we also have an updated post-jam version with improved aiming mechanics, and WORRRMS!
I'm also posting updates over at my Twitter if you care to follow our game at all.
https://twitter.com/hughrussell
Thank you for reading and playing :)
html crowglary
I didn't add anything to it but made it more accessible.
Enjoy my ld40 entry crowglary in your browser ;)
also make sure to get on those "in danger" games peeps!
Winner of leaderboards Week 1 - Darloz!!!
ncie all good hjab
https://ldjam.com/events/ludum-dare/40/santas-unwanted-helper-reindeer-revolution

JobOS: Post LD Update
I usually do not update my games after a jam but after reading some comments about JobOS, I couldn't resist.
Minor Spoiler Warning
So in the game you are interacting with a fictional operating system (set in the 90's) to complete online jobs. One of this job if being game programmer. You smash the keys of your keyboard to automatically type dozens of line of code which I directly copy and pasted from a previous jam I did. And the end of the job you don't actually have the chance to play it, you just submit it and it is done. I mean who will be crazy to have a game inside a game for a LD compo!
I was not crazy enough to do it during the Jam but I did it afterward and it was actually relatively easy to do thanks to Löve2D and Lua. Just a couple of function call, some cleanup and the windows system I did during the jam just did the rest.

My original submission is still available here https://nicmagnier.itch.io/jobos
And you can rate it here: https://ldjam.com/events/ludum-dare/40/jobos
Your keyboard IS the Game
Escape this deadly pyramid using each keyboard key as a stepping stone, as if your own keyboard was the level!
The more keys you have to press, the harder it gets!! Help Capsy escape from the ancient tomb of IMYHOTKEYP!
We posted an improved version with bug fixes! :) https://ldjam.com/events/ludum-dare/40/escape-key
Bullet Hell v1.1!

At last, an update to the incredible AAA Ludum Dare experience everyone has been talking about, with refined visuals and gameplay.
Play the update online here and the original entry here
You can also view the source on Github
Please vote and share your thoughts on my page
The controls have been modified. The new controls are:
Forward / Rear thrust - W, Up Arrow / S, Down Arrow
Rotational thrusters - A, Left Arrow / D, Right Arrow
Lateral thrusters - Q, Left Bracket / E, Right Bracket
Boost - Left shift
Fire - Space
Pause - Escape
Resume - Enter
Here's what's changed:
- Added starfield
- Refined controls and added boost mechanism
- Enemies now explode on impact
- Refactored most of the code
- Adjusted enemy and player parameters
- Reworked intro
- Reworked HUD
- Adjusted scoring algorithm
Here's what hasn't changed:
- No sound
Initially, I wanted to bring sound to this update. However, upon researching the highly touted Web Audio API, I fell into a rabbit hole that I can't yet see the end of.
It seems that the Web Audio API was forced out the gate early by Chrome, and the spec is in shambles. As of right now the API is very non-performant for timing-critical events like those you would find in video games, and the solution is stuck in specification hell. No one has implemented it yet. As such, I am experiencing a lag in excess of 500ms.
I may have to abandon the Web Audio API for now and use some third-party sound library as I would like to stick to real-time oscillators and not samples in order to fit the theme of the game and keep the file size under 64kb compressed.
2 ratings away!!!
Please come check out my game at https://ldjam.com/events/ludum-dare/40/rush-hour
The secret alternative ending finally works!
I coded in a simple secret alternative ending, but no one has found it (that i know of).
If you need a hint: Third time's the charm.
If you haven't tested out my game, please do! And let me know what you think!
https://ldjam.com/events/ludum-dare/40/you-cant-have-too-many-cats
Tax Dodgers!
We finally recorded a gameplay video. https://www.youtube.com/watch?v=M2gBISnyQkE
We've been very busy with exams, and will now start to rate other peoples games. So if you feel like giving us some constructive feedback, we will make sure to return the favour!
Game: https://ldjam.com/events/ludum-dare/40/tax-dodgers/
For VR peeps
A lot of people have posted about looking for VR games, but it turns out there's a super easy way to find them! Just go to Feedback Friends!
I discovered this about five seconds ago.
Note that not all of the games listed actually have VR, it just guesses which ones might.



















