Working on a WebGL game engine at Goo Technologies. http://www.gootechnologies.com
From Stockholm, Sweden.
Ludum Dare 26 — April 26-29th, 2013
[ Results: Top 100 Compo, Jam | Top 25 Categories | View My Entry ]
[ View All 2346 Games (Compo Only, Jam Only) | Warmup ]
[ 10 Sec Video Compilation (x3) | 260 Game Video Compilation | IndieCade Deal | Ludum Deals (Unity Deal Ends Soon!) ]
Working on a WebGL game engine at Goo Technologies. http://www.gootechnologies.com
From Stockholm, Sweden.
Ludum Dare 26 | Ludum Dare 25 | Ludum Dare 23 |
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.
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.)
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?
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:
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.
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.
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.
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.
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!
I wrote about my experiences from Ludum Dare 23 on my blog. Have a look there to see the technology I used to create my WebGL-based game.
If you’re only interested in food, here are some pics:
Saturday lunch
Sunday lunch
Avocado/banana smoothie
As you can see, I spent most of my time at cafés.
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:
Zeppelins:
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.
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.
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.
All posts, images, and comments are owned by their creators.