Tag «Alakajam»

Ray-caster – an experiment

I participated in a Kajam, which is an regular-ish game jam hosted on alakajam.com with different hosts. If you remember classic Ludum Dare, this is the equivalent to a Mini Ludum Dare, where hard rules like ‘everything must be from scratch’ or the weekend time-frame are much more relaxed. The theme of this particular Kajam, running the whole January 2021 and hosted by toasty, was “make a game based on ray casting”, and one could interpret this any way possible, but of course the basic idea is to get your hands dirty and actually try to create a ray-caster. If you don’t know what that is, the most prominent example for a ray-caster is Wolfenstein3D from 1991, back when there was no 3D hardware for PCs.

Wolfenstein3D, by id Software

My entry for the jam became a ray-casting engine with a very rudimentary level editor, or a sandbox if you’re generous. I had some gameplay ideas, but as I could not work fulltime on the project, and most of my experiments didn’t result in anything playable, the state for now is that there’s just no game. Yet for me, creating a ray-caster, based on tutorials on lodev.org, was a feat in itself, so I still wanted to submit it. With only one weekend left I decided to make it a “playful” level editor - meaning the editing (placing walls, changing textures, resizing the rooms, etc.) happens inside the “game” in first-person perspective. While this is actually not really an efficient way to create a level, it definitely makes it a bit more interesting and fun.

Textured walls, the first highlight

I utilized haxe, Kha and zui for this project. The first two I already tried for another software rendering project - the “Ray Tracing in a weekend” version I did 2 years ago. So I knew Kha could be used to just draw some pixels (probably grossly under-using this framework), and I like how it supports virtually every platform. The latter was a life-saver for me because the web version turned out to be not ‘compatible’ with my input method (as locking the mouse cursor always is a risk in browsers). But the Windows build turned out fine, after I had to fix a surprising bug which switched the textures’ red and blue channels. Zui, the go-to solution for tool GUIs for Kha, was relatively easy to understand (after quite some tinkering with the elements), but unfortunately it doesn’t feel as powerful and flexible as the Immediate GUI I know from Unity. Still, it was much better than nothing, and helped me to add edit functionality quite easily.

Final (jam) version of my ray-caster, with editor

Features of my ray-casting “engine” are, for now:

  •  textured walls, floors and ceilings
  • 3(!) block layers (bottom, center, top)
  • sprites (for the center layer only)
  • more or less correct display of infinite wrapping levels
  • collision with walls

It also supports different wall textures for each block side, but this feature isn't shown in this prototype unfortunately, because I had no time to add an editor mode for this. As I have a lot of overdrawing (mostly thanks to the top and bottom block layers) the performance is worse than it could be, and with infinite wrapping levels fps get low very fast as soon as you have a bit more sprites visible at once. Still, it’s good enough for me, because I do not target DOS machines like some of the more impressive entries of the Kajam do.


(YouTube videos try to set cookies and contact Third Party servers!)

Most pictures (textures for the walls, and five of the seven sprites) were pulled from textures.com. This is also only rudimentary, as there is no game; but I expected to use photos for the environment from the beginning anyway, for whatever game I would do; I am still inspired by Ultima Underworld II in this regard.

Ultima Underworld II, by Looking Glass Studios

While my use-case for the engine is not necessarily a dungeon crawler, I definitely would like to repurpose it for another jam game in the future. The biggest feature missing right now is level saving and loading, which I should add in any case. Other than that, the gameplay will probably decide what the direction is going to be.

If you want to try the Alakajam version of rc-test (I didn't have any use for a better name), don’t forget to read the control instructions on the entry page. And check out voxel’s excellent RAYKA!

Forest Poems

The Climate Change Jam we hosted on Alakajam has ended, and we actually managed to submit an entry too. Our idea was to bring the need for our planet's reforestation to people's attention. Ultimately, Forest Poems became less of a game but a collaborative forest where participants can create and add their own small soil patches with trees which also form a poem.

The texts are semi-randomly generated from a list of words, chosen from five different nature-themed poems by five different authors (you can find the credits in the game). Prominently on Forest Poems' start screen are three links to various sites concerned about planting trees.

We like how players are have to place their trees in a pleasant composition while also thinking of a somewhat meaningful poem. And afterwards it has to fit to the already existing patches, slightly challenging creativity a third time. And of course, seeing the virtual forest grow over time is a joy to watch.

Ten projects were submitted to the Climate Change Jam - more than we expected! Mostly because the theme is hard and does not spark "fun"; which is the reason we wanted to do it. Game jams are awesome, and we think they could be inspiration for "more" than just throw-away projects. In any case we want to thank all the participants (and those who tried)!

By the way, this week the gamescom in Cologne starts. Jana will be there for a few days - if you see her, say hi!

Climate Change Jam announced

Over at Alakajam!, the site for excellent game jamming, we will host an event with a bit more significance than usual. We were thinking about how people have so much creative energy when participating in game jams, and how this energy could be used for an important topic, maybe the most important one of our time. So, here it is now:

It would great if more people see the urgency of our planet's climate crisis too and submit a statement - it doesn't even have to be a game - to the Climate Change Jam next month. While the event probably won't make a big difference in itself, it would be a symbol.

Climate Change Jam is officially happening from August 10th to 18th, 2019. The official announcement post is here, where you will also be able to submit your entry.

Let's make this happen!