thomastc

LD31

Base code declaration

I’m going to be building a JavaScript/HTML5 game and put together some scaffolding for the following tools:

  • TypeScript, which will be a first for me (in previous LDs I used CoffeeScript). Seeing syntax/type errors as soon as I save the file is going to be a big timesaver. I wanted to try Facebook’s newly released Flow typechecker, because it does deeper type inference and thus provides value even without type annotations, but it doesn’t yet support handy ES6 features like classes and the fat arrow.
  • howler.js for cross-browser, low-latency sound effects and music.
  • jQuery for DOM manipulation. I typically need some of that, if only for hiscore lists and such.
  • SASS (SCSS, actually) and Bourbon for CSS3 convenience. It’s a slight change from the previous LD, where I used Compass, but I’ve found it’s slower to compile.
  • Inkscape. I use the command line export function to convert them to PNG on the fly. If I need sprite sheets, I’ll just draw them into a single SVG; makes it easy to get a consistent set of sprites, too.
  • oggenc and lame to convert WAV files to OGG and MP3 for the various browsers. Chrome only eats MP3 but not OGG, Firefox eats only OGG but no MP3. What a pain.

And the best part: an old-fashioned Makefile to rebuild assets when needed, and a tiny Sinatra web server to run make before it serves up the asset. It means I can just refresh the browser, and everything I see will be up to date. This has worked very well for me in the past; for any other JavaScript participants out there, I highly recommend that youset up something similar or just steal my code.

Calling this done!

 

 

 

 

 

toytown

 

This is Toytown, my city builder game! For most of the weekend, I was really concerned that I’d bitten off more than I could chew. The simulation would not behave the way I wanted, I tweaked it here and another gameplay problem popped up there, and I felt the whole thing needed about a week of additional playtesting and tweaking.

But then I went off on a tangent, added the trees, and rediscovered the fun in this game. Really, what a surprise a bit of green can make! I finished by adding a tutorial, and am now calling it a wrap. Features:

  • Isometric graphics on HTML canvas.
  • Different building stages. How many? Find out!
  • Sound effects (from jfxr).
  • Pretty sophisticated simulation engine, including employment, pathfinding, traffic, commute length, pollution, desirability and taxes.
  • In-game tutorial.

Final thought on the theme, after mulling it over: I didn’t like it. Themes should be constraining or inspiring. This was neither. Still, I’m quite happy with what I made in the end, and it’s once again up a notch from my previous LD entries. How big a town can you make?

LD32

Spinning cube! I mean, I’m in

Behold my amazing spinning cube!

cube

This is from my base code, using Three.js and can be found here on GitHub (until I rename the repository to whatever my game’s name is going to be).

My previous games were all 2D, done with hand-rolled engines of various degrees of sophistication. None of them came close to the power of Three.js.

I’m hoping I’ll be able to make an actual 3D game this time, but because I haven’t used Blender in over five years, it’ll probably be mostly cubes, spheres and octahedrons. (Mmm, octahedrons.) But with fog and DoF and god rays and all the other bells and whistles that Three.js offers, I bet I can make it look good.

Complete tool suite:

  • Typescript. Seeing compile errors as soon as you save the file will be a huge time saver.
  • Three.js, as mentioned.
  • Howler.js for playing sound effects. Or I might use a Three.js plugin for 3D audio.
  • jfxr for creating sound effects. Or I might yell/burp/fart into a microphone.
  • Inkscape for vector graphics, if I want them.
  • Krita for artsy graphics, if I want them. I’m somewhat new to Krita, but it seems to resemble Photoshop closely enough that I can figure it out.
  • vim.

LD33

Little warmup exercise

I’m in, and because I felt like trying something new, I had a look at Crafty.js. My friends behind the Dining Philosopher account seem to be quite happy with it. So I timeboxed myself to two hours this evening to make a little procedural Canabalt clone.

ld33warmup

Play it here! It should get harder over time, both because your speed increases, and because the jumps become more difficult.

The source is on GitHub. The generation algorithm could use some tweaking and I suspect there is a bug somewhere, but I’m pretty happy with how it turned out in just two hours.

I made it to level 4 so far. To what level can you get?

Comments

18. Aug 2015 · 19:53 UTC
Hey! I’m not in reach of a keyboardor mouse connected computer ATM. Overwhelming enough my chrome browser on android opened your game (you have to love JavaScript’s ability to run nearly everywhere) and I could watch a nice explosion animation. Could you code some support for touchscreen input? That would be cool ’cause I’d like to worship your work and try your game. If you need help coding the touch input support, just ask me or Google 😉
19. Aug 2015 · 09:13 UTC
It was just a small 2-hour exercise, so I didn’t have time for that, sorry! It should be trivial to add… you can fork the code if you want to.

I know what the theme will be!

OK, kidding. Just practicing my clickbait skills. But seriously, I wonder if you can just look at the most positive winner from the first four rounds:

  • Round 1: Can’t Stop Moving 1337 – 1093 = 244
  • Round 2: A World In The Skies 1329 – 1085 = 325
  • Round 3: Death Is Not The End 1231 – 1080 = 151
  • Round 4: Alone In The World 1131 – 1034 = 97 (by the way, didn’t we once have Alone already?)

So it would seem that sentiment is most positive towards A World In The Skies. Tomorrow we’ll see if I’m right…

Has anyone looked at the vote data from past LDs to check whether the result of past rounds is a good predictor?

Comments

21. Aug 2015 · 18:43 UTC
Winning theme is more likely to get -1s, so..
21. Aug 2015 · 19:49 UTC
I don’t want a World in the Skies either. But I did take pictures of clouds just in case. However, “world in the skies” could be interpreted as a world where the people are just delusional, feet just don’t touch the ground, or grandiosity – in that their head is just not grounded in reality. lol I’m going to have to keep this in mind. I’m glad I brainstormed here.

“Glauron” after day one

Behold Glauron, son of Glaurung, First of the Winged Dragons!

glauron

Well, okay, the wings aren’t there yet, and neither are most of the other sprites… but I’m extremely happy with how my dragon turned out.

You have to see it in motion to appreciate it, but I don’t have time to figure out how to make a GIF. So you’ll just have to try it out for yourself. Feedback welcome, via the comments or via Twitter!

LD35

Crummy graphics, solid gameplay

Mine will be a 2D top-down puzzle game, inspired by The Talos Principle, Portal and of course Sokoban. The idea is that you can only perform particular actions when you’re in a certain shape (sorry about the squeezed GIF):

ani

All the gameplay mechanics are in place: player movement, keys and doors, crate pushing, and of course shapeshifting! (Well, colour shifting at the moment.) The game gives you hints about what you can and cannot do.

There’s even a progress tracker / level switcher, which also lets me reload levels on the fly, which took just a few minutes to build but will save me so many restart cycles.

I have 5 levels so far, and I’m planning to have at least 5 more, for a total of hopefully 15 or so. This is my first time working with Haxe and HaxeFlixel, so I’m happy with my progress, but I’m still a bit nervous about still having over half the levels, a storyline, graphics, sound effects and music to be done tomorrow. But gameplay-wise, I think this is pretty solid already.