vilcans

LD23

I’m in, HTML game or not…

I’ve been in competitions before, but this is my first Ludum Dare. I’m Martin Vilcans from Stockholm, Sweden. I’m hoping to gather a few other local participants for a meetup during the compo.

I am planning to go against conventional wisdom and use tools that I’m not 100% confident with, but I really want to do something with WebGL. I’ll be using three.js and some base code. Since I’m no big fan of JavaScript, I’ll be using CoffeeScript instead. There is an built version of the code online. It’s not very exciting yet, but it should display a gray 3D box that you can move by clicking and dragging the mouse. In case your browser or graphics card drivers doesn’t support WebGL, an informational message will be displayed and it’s time for you to upgrade! Please let me know in a comment if you have other problems and I may be able to fix it before Saturday.

WebGL is new and exciting, and this could become a great tech demo and an excellent game. Or a lousy tech demo and a crappy game.

Or I’ll just chicken out and use PyGame to create something simple but be sure to finish something. We’ll see when the compo starts.

Tags: three.js, web game, webgl

Comments

vilya
16. Apr 2012 · 23:15 UTC
Hi Martin, nice to see you here too! How have you been?

Getting some graphics on the screen

I had a slow start, but I’ve settled on an idea and I’m getting some graphics on the screen.

The thing is online too! Please let me know in a comment if it doesn’t work for you! You’ll need a browser with WebGL support.

Comments

aus_mike
21. Apr 2012 · 08:47 UTC
Yeah it works in fire fox.

If your are meant to be moving the earth around in this game all the time, could you you make it so that when you spin it and let go, that it keeps more momentum. That would feel more intuitive.

Good start!

Some more progress

Here’s a planet that looks familiar. It’s just that it’s tiny. The gray blocks are supposed to be ships. And no, they are not supposed to drive on dry land.

Try it out yourself!

Tags: screenshot

Created 3D model

After a full night’s sleep, I’m getting back to work. News for yesterday is that I created a 3D model for my ships!

But I haven’t decided yet whether to use ships or zeppelins.

My idea is that if I go with ships, I’ll create a strategy/action game where you control a fleet of ships. Control is indirect. You set a speed and bearing with your mouse and then click another ship to adjust its course, and so on. With more money made, you can buy new ships. With zeppelins, I’m thinking of more like a pure action game, where you fly around the world, picking up and dropping off cargo while avoiding hitting the AI zeppelins.

There are some pros and cons to both.

Ships:

  • May be difficult to control. Easy to run aground. But maybe that’s a good challenge.
  • Avoids the problem with latitude wrapping at the poles, as you can’t reach them by water.

Zeppelins:

  • Don’t need collision detection with the ground texture.
  • Will need AI zeppelins to collide with so it won’t get too easy.
  • Looks cool.
  • Hard (for someone like me) to model.

 

Tags: 3D, LD #23

LD24

I’m in!

Wife away: check.

Kids have babysitter: check.

I’m all good to go.

I’ll probably build a browser game just like last time. I’ll probably base it on the same code.

Stuff I’m likely to use:

Language: CoffeeScript

Libraries: three.js, Jasmine

Development system: Lenovo Thinkpad T420 running Linux Mint. Firefox with Firebug as main development browser.

Tools: Fabric, sfxr, Blender, Gimp, Git, GNU Make

P.S.: Looking for real world gathering in Stockholm!

My base code

Here is my Git repo that currently contains the base code I’ll work on.

The code is a basic web site made with Initializr’s Bootstrap code and three.js for WebGL graphics. The code is in CoffeeScript and everything is assembled into a folder with static files using nanoc. I’ll post a bit more about the technology after the compo.

Saturday progress

I worked on a chess game several years ago. Before that, I have always thought that chess is just for people with pretensions of being smart, but during that project I learned a bit more of the game and became somewhat fascinated by it. The rules are simple, but there’s a lot of strategy in the game. All that is missing, I thought, is a bit more action, power-ups and a level progression.

I never got around to make that game. I won’t really have time to do that during this LD either, but I’m at least making a chess game. Not your grandfathers chess game though. This is “Pawn to King – chess evolved”.

Or at least I hope it will be something playable tomorrow. Here’s what it looks like right now, early Sunday morning.

Tags: three.js, web game

I give up

Too long time before I came up with a game idea, too many real-world things to take care of and too little focus on making the right things. Those are the reasons I’m not submitting my game. It’s just not very playable as it is now.

Here’s what the game looks like now with less than an hour to the deadline.

Tags: givingup

Comments

26. Aug 2012 · 22:22 UTC
A worthy try :)

You can always work on it in the future and call it an overall success.

LD25

Palette lookup image

In my charity game jam project, I’m doing real-time raytracing.

Real-time raytracing!? On a NES?

Yes. Not very realistic, I know. But at least I’m restricting the resulting image to use the palette of the NES.

What I do is for each true colour in RGB format, I map it to the closest colour in the NES palette. Well, actually I don’t do that. A GLSL shader does that. And it uses the following image as a lookup table.

Click to enlarge to 1024 x 32 pixels. Feel free to use this image if you too need to map RGB to the NES palette.

As you can see, the image contains 32 squares of 32×32 pixels each. The red component has the same value inside each square, and varies from zero in the leftmost square and full in the rightmost square. Within each square, the green value is mapped to the horizontal coordinate, and blue to the vertical coordinate.

So what you need to do to convert a color to the NES palette is to convert R, G and B to values in the range 0 to 31. (Just divide them by 8 and round down if you use 8-bit RGB). Then look up the pixel at

x = R * 32 + G
y = B

Here are screenshots of the resulting rendering from Firefox and Chrome respectively. I added some ordered noise to the RGB values before submitting them to the lookup image, to get some dithering.

(I haven’t found out how to do a 2x scale on a canvas in Chrome and have it rescaled without smoothing. This is why the Chrome screenshot is blurry.)

Oh, and a plug: If you’re in Stockholm, come join our real-world gathering for Ludum Dare 25.

I’m in Ludum Dare 25

I will participate this time too. It will be my third Ludum Dare. My first was LD24 which turned out pretty well, while LD25 was a failure.

We‘ll be hosting a real-world meetup at our office in Stockholm, so I won’t be able to focus 100% on the competition. To keep things simple, I think I’ll make a 2D game this time.

The game will be web based, using either a 2D <canvas> or WebGL. I will start with this base code, which I hereby declare according to the compo rules.

My toolbox contains:

  • Development environment: Linux Mint, Windows 7
  • Programming: Sublime Edit, CoffeeScript, nanoc
  • 2D graphics: Gimp, Inkscape, Photoshop, Paint.net
  • 3D modeling (in case I need it): Blender
  • Audio: BFXR
  • Music: FamiTracker

 

Tags: im in

Is this controversial?

At first I wasn’t very inspired by the theme. I had voted it down. At first just because I wasn’t inspired by it, but with the recent school shooting, anything where you would play a villain with guns was unthinkable. Not that I’m afraid of a controversial subject. In my opinion, games as a cultural expression has every right to bring up sensitive subjects, just like books and movies can. But this time we had gathered over 10 people at our office for a Ludum Dare gathering. It wouldn’t be appropriate to cry by the computer, I thought.

My first ideas not involving crazy people with handguns were pretty boring: just reversing classic game ideas like Pacman or Donkey Kong. The funniest idea I had was one where you would play one of the aliens in Space Invaders. (“Keep the formation, soldier!”) But that’s more fun as an idea than when executed.

In the end I came up with a concept  that was controversial, but perhaps a bit more subtle. It seems nobody that has played the game hasn’t even noticed. Was I too subtle, or have we gotten so numb that we don’t even react when men, women, children and goats are slaughtered in a way similar to what’s been happening recently in the real world?

Play My First Ping Pong Massacre

pingpongmassacre

Comments

Tommislav
20. Dec 2012 · 18:54 UTC
I think it was a bit macabre when I played it, and remember wondering if a lot of the entries would have this grim undertone. That was why I myself tried to use a lot of humor and silliness to tone the theme down a bit =)
7Soul
20. Dec 2012 · 18:59 UTC
I think sometimes people over-analyze things a bit too much. Like there are no other games where you kill innocent people…
bradleypollard
20. Dec 2012 · 19:03 UTC
I didn’t even realise I was killing anythingin your game till the final score screen. Maybe it would have been more obvious if you had rendered sprites of whatever was meant to be in each building when you hit it?
20. Dec 2012 · 19:41 UTC
@7Soul: Yes, there are games where you kill innocent people. The question is, why aren’t we upset about that? Should we?
30. Dec 2012 · 06:05 UTC
I don’t think we should be that much serious about the theme of gun and shooting. In some times, ideas come out that way but it’s totally innovated and twisted in some ways. Not to shut the door at the first time, but in any case, maybe we try to avoid some ideas to pursue another, that’s great to improve ourselves.

Post-compo version of “My First Ping-Pong Massacre”

Based on some of the feedback I got for my game, I made a post-compo version. There are still improvements to make, like adding audio for more villainy pixel destruction fun.

(Compo version here.)

My First Ping-Pong Massacre (post compo version)

Comments

bradleypollard
07. Jan 2013 · 16:45 UTC
The inclusion of the markers to show you what you hit is great!

LD26

I’m in for the fourth time

Yeah, I’m in.

I’ll most likely make a browser based 3D game, using my company’s game engine Goo Engine, which will be released publicly before the competition. The other tools I’ll probably use are:

Development environment: Windows 7
Programming: Sublime Edit, CoffeeScript
2D graphics: Gimp, Inkscape, Photoshop
3D modeling: Blender
Audio: BFXR
Music: SunVox

Just like last time, there’ll be a real-world gathering at Goo Technologies office in Stockholm, so that’s where you’ll find me.

Hoping for an inspiring theme.

 

Tags: gathering, gooengine, webgl

Comments

sfernald
03. Apr 2013 · 21:14 UTC
Ummm, that engine is javascript? Looked at the paddle boat demo. That is pretty amazing!

LD29

Warmed up and ready

Warmup Collide and Die done!

Collide and Die

Here are my plans:

Sleep until ~7 Saturday morning. Check the theme (announced at 3 a.m. in my timezone). Eat breakfast. Code. Art. Sound. Deliver continuously.

Tools:

Engine: If I go for 2D, I’ll use Phaser as I did in the warmup. It will be my first Phaser game. Anyway it will be HTML5 based again. If 3D, I’ll use Goo Engine.

Environment: Most likely a ThinkPad running Linux Mint. CoffeeScript as language, edited in Sublime. Chrome for running and debugging.

Audio: I hope I’ll get some audio in this time, probably using BFXR for sound effects and Caustic 3 or OpenMPT for music. Audacity for editing and conversion.

Graphics: Definitely Gimp. Inkscape if I need 2D vector graphics. Blender if I need 3D. Maybe even Photoshop.

Other tools: Tiled as tilemap editor. Git on Github for version control. Nginx as web server. Git and Fabric for deployment to server.

EDIT: Forgot to link to my base code: It’s the master branch in this repo.

Comments

nxT
23. Apr 2014 · 04:19 UTC
Phaser is cool, but watch out for its weird quirks. We used it for GGJ, and it didn’t go down very well.

LD30

I’m in for the seventh time

Not much new in this “I’m in”. I will likely use the same tools as last time:

Engine: Phaser

Environment: Thinkpad running Linux Mint. CoffeeScript as language, edited in Vim (new! changed from Sublime).

Audio: BFXR for sound effects and Caustic 3 on a Samsung Galaxy Tab for music.

Graphics: Definitely Gimp. Inkscape if I need 2D vector graphics. Blender if I need 3D.

Other tools: Tiled as tilemap editor. Git on Github for version control. Nginx as web server. Git and Fabric for deployment to server.

…and this base code.

I’ll be working on the game at the real-world gathering at Isotop, Stockholm.

Wishing all of you good luck and a good time.

LD34

Unintended Acceleration – 1 day later

Uncontrolled Acceleration banner

After only sleeping three hours tonight, here I sit the night after the compo and gather my thoughts. It’s not a post-mortem as the game isn’t dead yet. You are very welcome to play Unintended Acceleration and let me know what you think. It’s basically an open world racing game where you can’t directly control your speed.

Here’s what I wrote in my I’m in post, which shows what normally happens when I join a Ludum Dare:

I’ll probably follow my ordinary process of waking up around 7 on Saturday morning (Central European Time), check out the theme, have a long breakfast while trying to focus on thinking about the theme, getting anxious around noon when I still have no idea, start sketching in the afternoon, then think what the hell, this idea will have to do. And five minutes before the deadline at 3 on Monday morning, I’ll still be coding before finally submitting and thinking of all the features I wish I had the time to implement.

So how did it go?

This time it was different. I didn’t linger on choosing the game idea, and instead went with the first idea that popped into my head. I didn’t try to do anything clever with the idea, and chose to do something with “Two button controls”. Not too long ago I read an article about the problem of unintended acceleration in cars, where some faults gets the engine stuck in acceleration mode. While often lethal and tragic in real life, I thought it would be interesting to try out in a game, and as it’s not possible to brake or accelerate, I could make a car game with only two buttons: left and right.

My son started drawing a level as soon as I told him the idea. Because of the compo rules, I was only slightly &quot;inspired&quot; by his drawing.

My son started drawing a level as soon as I told him the idea. Because of the compo rules, I was only slightly “inspired” by his drawing.

I fired up Unity and started implementing the game mechanics. Driving is always fun in games, so it looked promising. But after a while I started doubting whether it would be fun anyway, and all the boring parts like win/lose states, restarting and counting damage were left to be implemented. In those cases I usually start working on something different to get my motivation back.

Music and Sound

At the start of the second and last day (as I’m in Europe, the compo is only two days), the game was playable but lacked polish and any level design at all. So I started working on the audio. :-) In my opinion, racing games should have guitar-based music, so this is the first LD game where I have used a “real” instrument. I recorded a few tracks with the guitar and added drums, bass and an organ in GarageBand.

Some of the gear I used for recording music and sound.

Some of the gear I used for recording music and sound.

After recording the music, I went out to try to capture sound for the car’s engine. I stood by the red lights trying to get close when I captured the sound of the cars when they accelerated, but it wasn’t easy to get clean sound from one single car. Then I stumbled upon a car parked at the curb with its engine idling while some guy was having a hamburger in the driver’s seat. I got as close as my self-consciousness allowed me to, took out my Zoom H2N device and recorded two minutes of the engine noise. It took some work to make a few seconds of it loop in Audacity, but it turned out so much better than the sine waves I used earlier.

When I listened to the recorded audio later, I found some noises like something hitting something metallic. I don’t know what made that sound in the first place, but they were perfect for the collision sounds.

Level Design and Modeling

In the end I just had to do some level design. Up until then, all I had was flat ground and some boxes for building, but then I used Unity’s terrain editor for most of the level. I hadn’t used it before so it was a gamble, but luckily it didn’t hide any big surprises. My 6 year old son wanted some boulders that you could hit with your car and they would move, so I modeled a rock and put a few of them in the game.

Apart from the terrain editor, I used Blender for editing the 3D objects. Cars should be red, smooth and reflective, so that’s what I did. I’m not a good modeller, so I didn’t bother with windows on the car. It looks a bit like a toy car. That’s why I made the buildings out of wood. I imagined the game was something a child played with a toy car and some wooden boxes. It reminded me of the Terry Gilliam movie Time Bandits. Sorry for my pretentiousness, but the “city” is actually a bit inspired by another Gilliam movie, Brazil (before I changed the texture from flat gray to wood).

The wood texture is from this locker in our office.

The wood texture is from this locker in our office.

Finishing Up

A few hours before the deadline I thought the game was pretty much finished. Then I realized that the game needed a minimap, a counter for how many cones you have left to find, a damage meter and polishing like fading in/out the screen and the music. Work tends to expand to fill the time available, so in the end I submitted the game three minutes before the deadline. As usual.

A screenshot from the compo entry.

A screenshot from the compo entry.

In the end, I think the game turned out pretty nice for a game jam. Of course I can think of millions of possible improvements, but I’m still happy about how it went. Please let me know what you think.

EDIT: The game name obviously sucks as I keep on calling it Uncontrolled Acceleration instead of Unintended Acceleration. Fixed that now.

Comments

Geukes Colin
14. Dec 2015 · 22:24 UTC
Inspiring! c:

Made an Android version of Unintended Acceleration

I made an Android build of my open world racing game Unintended Acceleration.

Unintended Acceleration for Android screenshot

Unintended Acceleration for Android

There are some differences from the desktop version (seen below). I moved the HUD elements so you wouldn’t obscure them with your fingers and added the visible arrows for steering. I also tweaked the lighting a bit for performance.

Unintended Acceleration desktop version

LD35

My tools for LD35

Great, I have no other obligations this weekend, so let’s go!

Preparing the gear for the compo

Preparing the gear for the compo

This is the content of my toolbox. I’ll probably not use of them, but we’ll see.

Game engine: Unity 5.3.2

Programming language: C# (for Unity scripting), Python (for any other scripting needs)

Text editor/IDE: Vim with the OmniSharp plugin

Graphics: Gimp, Blender, Camera on my Nexus 5

Audio: Zoom H2N, Garageband, Bfxr, Audacity

Other tools: Git, GNU Make

Computer: MacBook Pro

Success is the only option with this toolbox! :-)