Join us on Twitter and IRC (#ludumdare on Afternet.org) for the Theme Announcement!
Thanks everyone for coming out! For the next 3 weeks, we’ll be Playing and Rating the games you created. You NEED ratings to get a score at the end. Play and Rate games to help others find your game. We’ll be announcing Ludum Dare 36’s August date alongside the results.
New Server: Welcome to the New (less expensive) Server! Find any problems? Report them here.
In order to learn how to use it and to get some fundamental stuff going (animated sprites, for example), I wrote up a few JS “classes” today. I’m still not sure whether I’ll be using p5.js at all, but in case somebody else wants to use my boilerplate stuff, feel free! c:
You’ll need to tie it up yourself, but I’m sure you can figure it out. The sprite and animation classes want an object from loadImage() and the animation requires a delta time, which you can calculate easily by using millis(). Animation class in particular is a bit tricky perhaps, with a bunch of settings, so read the comments in the file.
Inspired by bullet hell games, sandbox games, and pac-man, we introduce to you: SHAPEMAN! This is our first time collaborating on a software project and the first time submitting a LD Jam. I think we came up with a fun and challenging game. We have some regrets, but I think we learned a lot for LD#36!
Shapes attack you if you are a different shape…
You can eat similar shapes, but they run away if you…
Beat the stage by eating enough shapes before you are attacked too many times!
Try it out here! WARNING: There is an audio bug in the original submission, so you may want to reduce the volume. Bug is fixed if you download from Github.
Let us know what you think! Comments and github issues are welcomed!
At first I didn’t like the theme, I already had a killer idea of a puzzle game for Everything is connected. I wanted to have 3D and physics in this game since thats fun to tinker with. Brainstorming took place and I ended up with Transmuto – a game about shooting polyhedrons. You yourself are a polyhedron, you shoot your own shape, while your enemies are only vulnerable to their own shape. You shapeshift after collecting positive and negative polygons.
Graphics are okay too. I had some custom shaders in mind, I wanted nice smooth shadows and a rather clean look. But I simply didn’t have time.
In the end I think its playable, I improved from last time, definitely made it much easier and balanced as I was close to submitting.
What went wrong
I struggled with physics. The Physi.js docs are almost non-existent and combined with the Typescript definitions not being annotated, I ended up fixing a bug as simple as extends Physijs.Mesh -> extends Physijs.SphereMesh for 5 hours on the first day.
I didn’t have time for proper level design and just adding more features I thought of. ^^
After some time I decided to join LD once again~! You can know me from 29, 30 or 32 Ludum Dare, where I submitted Treasure Seeker, Untangle and… a “post mortem of failure” – simple post describing why I failed on 32nd Ludum Dare.
So my LD score is right now 2 successes, 1 failure. and 2 skipped jams. Hope on Monday my score will be: 3.1.2
All-time dreamer, and trekker. I traveled length and breadth of almost all polish mountain ranges. In my daily life I’m .NET software developer working with enterprise times web application. In those few bits of time when I’m not dream, trek or work I create games and write on my blog about more interesting software problems I faced.
You can find my latest projects on my github profile.
Once again I’ll abandon my favorite c++ try to make something in phaser.js.
Planning: Pen&Paper – you can look for my crapy diagrams this time, too! Text-editor of choice: Notepad ++. Art: MS Paint and GIMP. Sound: Audacity with my guitar! Source version control system: Git hosted via github.
7 green, 5 yellow, 8 red. I’m excited that there are quite a few good themes on the list!
In case it wasn’t obvious: I’m in. It will be my 11th consecutive Ludum Dare. I guess that makes me a veteran?
I’ll be working with my usual toolset:
For artwork I’ll be trying to do it all in Pickle (I loved Pickle 1, so I recently bought Pickle 2; I’ve seen a lot of bugs in it so far, but it’s too late to switch editors now).
Libraries: probably just my open source RocketBoots set of game-building tools, with jQuery, and possibly another OSS js library if I get experimental.
Sound/Music: Maybe bfxr for a few sounds, but it’s probably better off if I don’t attempt music and leave it quiet.
I’m also going to try to take on the additional challenge of limiting myself to 64 pixels x 64 pixels for the low rez game jam. I’m also excited to try out this color palette that I’ve admired for a while. We’ll see how it goes…
So, as I’m going with Phaser (again), I decided to get my simple template together actually before the compo and then not waste hours on end trying to get transpiling and all the other things to work 😀
If anyone else is in need of a Phaser Template that allows you to use ES6 and comes with some Phaser states (Boot, Preload, Mainmenu and Game) and a single cursor-key-movable sprite, then here you go!
Back in 2000, DIV Games Studio was released in the UK as a complete all in one package for creating games (including a graphical editor) and delighted many users who went on to have successful programming careers, including MDickie who currently has literally MILLIONS of downloads on the android app stores.
DIV was put to rest in 2005 due to being DOS only, but after 10 years sleep, it is now back and ready to compete with the modern world.
Fifteen minutes after the theme announcement, my friend Ben Homan walks through my front door. Not really my front door, I’m just a subletter. But this is a first. Normally he ignores our instructions to walk in without knocking. The first time, he texted me from the driveway.
Jesse Kooner walks in, also unannounced, bearing frozen pizza. Before he can even kick his shoes off, I loudly explain the theme: a never-before-seen tie between “growing” and “two-button controls”.
Jesse has no laptop. I dig out an old one from my closet. I plug it in and start working on a few Windows updates. 72 to be exact.
Meanwhile, we decide which technology to use. Jesse’s less code-focused skillset leads him to prefer Unity, while Ben wants to use the weekend as an opportunity to become more familiar with Node.js. We decide on Node.js. Jesse will provide creative input and artwork.
My roommates, a brother and sister, arrive home from an apparently underwhelming Christmas light show. The concept of a game jam is foreign to them, but they’re good sports. We spend a half hour playing QWOP with them.
Our design parameters:
Multiplayer. Otherwise, what’s the point of Node.js?
Probably 2D due to the limited timeframe. Although Jesse is more comfortable working in 3D.
Jesse originally suggested doing this competition a few weeks ago, when he wanted to create a mash-up of “Cookie Clicker” and a tower defense game. He resurrects the idea now, only halfway joking.
Ben likes the idea of a multiplayer vine growing game. I’m partial to a text-based social game about growing a social media brand. No one commits to anything yet.
Ben is not a big gamer, so I pull up a few famous HTML5 games on his laptop. Cursors.io. Agar.io. 2048. This last one interests me in particular, as it involves growing numbers.
I’m pitching Ben and Jesse on a multiplayer version of 2048. I envision a free-roaming world filled with numbered tiles to collect. Instead of collapsing numbers together against the edges of the board, players would find walls and structures within the world to collapse their numbers against.
How can two or more games of 2048 occur simultaneously on the same board? In normal 2048, the player controls all tiles on the board. We decide to give each player a unique color, and allow them to assimilate unclaimed, grayed-out tiles.
What happens when tiles from two players meet? We decide that whoever moves first gets to own the resulting collapsed tile from a move.
How do players traverse through the world? We toss around the idea of procedural generation, but eventually decide on hand-crafted, linear levels linked together via portals.
This raises the question: how do the portals work? And what happens to a player’s tiles once they exit a level?
We’ve eaten two pizzas. We have a Git repository and a Slack instance which is ultimately only used to test out amusing Slackbot responses.
Although the game is 2D, we decide on a 3D art style with an orthographic projection, to allow Jesse to use his skills in Maya LT, which he promptly installs on my old laptop.
Ben works on the server with Node.js, while I start on the client with Three.js.
Ben heads home first, then Jesse. I pass out on my bedroom floor.
I wake to find Ben working in the kitchen. He spends the morning building boiler plate for the server, while I work out some Three.js details.
I return from a run just in time to catch Jesse pulling up with donuts. After lunch, he and I spend the next few hours working out a pipeline between Maya and Three.js.
I tweet our first screenshot, featuring colorized instances of Jesse’s tree model displayed in a horribly distorted orthographic projection.
Without the server API to code against, I run out of things to do on the client. Ben finishes the data model, but he has trouble conceptualizing the rules for player movement. I haul my laptop over to indulge in some good old-fashioned pair programming.
Break for dinner. Burritos. Jokes.
Jesse continues modelling. With the basic API done, I start working to make the client consume it. Ben works on an image loader. We want to design the levels in GIMP.
Ben takes off. I’ve got player movement, animations, and tile numbers done.
Multiplayer works. Jesse and I play a few games against each other. It’s fun! It’s a game! We work out some issues with the level loading code and try to get an interesting level loaded.
Problem: it’s pretty easy for one player to gain the upper hand and quickly assimilate all the tiles on the board, making it impossible for other players to move and grow.
Solution! Players should only control tiles within a certain radius of their “center”. Outlier tiles are grayed out, free to be picked up by other players.
Fix implemented. Jesse heads home and I turn in.
Tweet another screenshot before heading to church.
At this point, I’m having an existential crisis about the name. I fire off a few panicked texts about it.
Ben and I are back to the grindstone. Jesse arrives with sandwiches and more donuts! Ben adds a cool username feature, but we eventually axe it to keep things simple.
Tweaks and bug fixes all day. Ben works on the level format, while Jesse lays out some levels in GIMP.
More polish. I put in Jesse’s cloud models and a “connecting” spinner.
We finally brainstorm a name: Tile Risers. Jesse whips up a logo in Maya. We go through seven iterations before everything lines up in our janky export pipeline.
I spin up a Digital Ocean droplet, allocate an S3 bucket, commit the production URLs, and start filling out the submission form.
Time’s up! Fortunately, we have another hour to submit. I later found out I misread the rules, and we actually had a whole extra 24 hours. At any rate, we were done. I commit two small bug fixes after submission, which is within guidelines.
Three.js is easy and fun.
ES5 causes a lot of pain by continuing silently when we ask it to do ridiculous things like “compare an object to an integer”.