This jam is now over. It ran from 2021-12-01 12:00:00 to 2022-01-01 12:00:00. View results
The RLE Jam is a relaxed game jam focused around learning how to write a game & engine from scratch. You will be spending the month at your own pace making a rogue-like with a community of newcomers and experienced people. The rules are very minimal, so this jam is approachable to all skill levels. The extra points are there to make your life easier, to give you ideas and to help you not overcomplicate things.
If you find making a game and engine very daunting, don't be scared! It is going to be hard, but we have a list of resources & guides to help on your journey. This jam is not about you 100% finishing full game that you can release, it is about you learning a new set of skills and completing a prototype that you can build on in the future.
Join the discord server for any questions or to speak with others in the community before and while you jam!
As the host of this jam, I will also be doing my own jam entry. My developments will be streamed live on Twitch and you'll also be able to find the source code of my entry updated live on Github.
On January 2nd 4pm GMT, there will be a stream where I will play your jam submissions live!
Your game must use these design elements from the game Rogue:
You must start your game after 1st December 12pm and submit an entry by 1st January 12pm in your time zone.
You must submit a Windows, Linux or Web executable
You must make or use your own custom engine. Platform abstractions are okay to use.
It is okay to use libraries and reuse code, just don't copy and paste a whole game and tweak it...
The extra points are there to make your life easier, to give you ideas and to help you not overcomplicate things. They do not contribute to any final score.
+1 point if you use the C programming language
+1 point if you use any of the following:
+1 point for each of these elements from the game Rogue that you use in your game:
+1 point for open sourcing your game
+1 point for streaming your development 3 times on twitch
+1 point for posting about your game on the Discord server or Twitter using #rlejam
Awesome! Learning C for the first time can be very daunting at first, so we are going to give you some resources to get started.
I recommend watching this video series to help you understand C and how to get setup. It is very relevant and easy to follow. Video: Introduction to C by Travis Vroman
After I recommend checking out the Raylib website. Raylib has a real easy to use platform & graphics abstraction. Click on the 'examples' page and click on a few of the most basic 2D examples a spend a couple of minutes understanding them. Later on you can use this place to get snippets of code for your game.
Now you see how easy to use and powerful Raylib is, head over to the 'wiki' page and read the 'Working on Windows' or 'Working on GNU Linux' section to get setup on your system.
Awesome! Since this is not your first go at C I recommend using a library like SDL2 to handle all the platform abstraction for you.
A good place to start is this template here Gist: SDL2 + OpenGL 3.2 Template. Once you get it compiling, it will open a window and render two triangles. It'll be good to read over the code here and try to understand as much as you can. Using the latest versions of OpenGL is fine nowadays, hardware support is everywhere. Knowing the latest OpenGL will help you understand Vulkan a little easier, when the time comes.
After you have got the template working and taken a look at the code. Now's your time to understand what is going on. Your next stop is at LearnOpenGL and follow the 'Getting Started' page. This is a fantastic resource and teaches you all the theory and the OpenGL API that you need to know. Follow the tutorials and test out what you read with the template to build your understanding.
OpenGL is very big, so when you feel like you have developed enough understanding to render what you need. Maybe you just need to know how to render some bitmap images in 2D. Then get working on your prototype and you always come back to the tutorials when you need to know more.
Beware this is a very advanced route, I only recommend taking this route if you really understand OpenGL very well and have built a 3D prototype before. Vulkan is extremely manual and you are either spending a lot of your time manually changing things or building systems to automate the these manual tasks. Vulkan can be thought more as a graphics card API than a graphics API. You have far more control over the graphics card than OpenGL.
If you choose this route, for this jam I recommend you keep your graphics retro and fixed allocate your memory for a single bitmap image and the maximum size for your vertex, index, and uniform buffers.
There are some good Vulkan tutorials, the problem is all of them are in C++ and use vulkan.hpp :( So if you are using the C API, try and translate the C++ back to C when reading these.
Blog: Summary of Vulkan in 30 minutes
Blog: Really good tutorial but in C++
Video: Procedural Map Generation Techniques by Herbert Wolverson
Video: Theory of Perlin Noise by Holistic3d
Video: Stateless RNG by Andrew Clifton
Notes: Stateless RNG by Andrew Clifton
Video: Noise-based RNG by Squirrel Eiserloh
Video: Tile Map Generation Using Wave Function Collapse by Brian Bucklew
No submissions match your filter