This page will both provide tutorials and highlight my work on my game that uses Blender Game Engine, written in the Python programming language. The game I am writing will be similar to the dungeon-crawling rogue-style game, but in 3D, and it will teach the player languages as the player progresses. It is about the coolest way I could possibly have dreamt up to learn languages! This information is for developers, who are interested in Blender or Python programming, and, generating random levels.


The Random Level Generator is the first part of the game build. My target was Python code running in Blender, creating a random game level, which for example looks like the picture below:

This was all done using Blender 2.72. This photo has the ceiling removed, so it gives you a better idea of what a level may look like. When you run it, a camera view comes up with the view inside the dungeon, if you are running it inside of Blender, you just hit the "p" on your keyboard while your mouse is over the 3D-view window. So far, there is 38 kb of code, in eight files.

Be advised, this is for developers, and still runs only in Python, you may need to start with a completely empty file, no lights, cameras or geometry, or you may get some wacky results. You will also have to copy the texture files to a folder and edit the paths to them. The paths are located in the file, which is listed last.

Note that because this game is in construction, I will simply include instructions on how to run it, it has not been compiled into one slick interface yet. I will include a download zip file.

I am planning on thinking up a way to scam the system a little, so to speak, to make rooms that are towers, have arches, bridges, etc., so they fall outside of the bounds of what you would normally expect in a dungeon crawler. If you want to use this code, modify it, play with it in Blender, or even use it for a commercial game, feel free to do so. My only request is that if you give me credit for my work, and if you come up with a good modification or optomization, let me know about it.

The goals of this game are to make a dungeon-crawler, start with creatures that wander around the upper levels, with each creature vocalizing a letter in the target language I want the player to learn. (I say "target language" because I want this game to be adaptable to more than one language.) Initially, I am planning on starting with Russian, though. When the player hears a creature approaching, vocalizing a letter in the Russian alphabet, the player must press the right letter on the blaster gun, or it will not kill the creature, and if the creature is allowed to get to close, the player will get slimed or suffer damage, die or something of that nature. After the player has mastered the letters, I may throw in some letter combinations, but not to linger to long on that, I want to get the player into purchasing weapons, learning the numbers in the other language, going into lower levels, meeting new creatures, finding potions, magic books, and all of the traditional dungeon crawler things, but at the same time include language learning. I have even considered the possibility that the player can hire out an interpreter, who occasionally gets killed, so the player cannot just rely on the interpreter, although more of that is allowed in the beginning. That is the gist of what I want to do, I have other ideas too, but I think this page is sufficient to outline the main goal, and, provide the tutorial that I wanted to present.

This code Copyright 2014 by Shawn Irwin. Anyone may use this code for any purpose as long as you give the author credit for his work.