Skip Navigation Links

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.

Нажмите здесь для перевода Google этой страницы на русский язык.


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.

 Game Start Page  This presents the idea for the game, and starts the process of discussing the code of the random level generator.
 Rooms Data File - - stores the room configurations.
 Level Creation File - - creates a faux matrix, (it is really just a list), creates tunnels with random places designated as rooms, inserts the  rooms, then places the matrix into the dungeon.
 Tile Creation File - - This file creates the panels used as walls, ceilings, floors.  Both ceilings and floors are just one big piece, which optomizes performance.  This file works with to create the dungeon.
 Dungeon Creation File - -  Creates the dungeon using the file, each wall is created based on its orientation, which speeds up the building of the dungeon.
 Player Creation File - - Creates the collision box, camera and spotlight.  The camera and spotlight are parented to the collision box.  The player is placed at a random position in the dungeon.
 Player Logic File - - Creates the controls for the movement of the character within the dungeon.  These are logic bricks, but are created via python code.
 The Main File - - This is the main file that runs all the other modules; this page also contains the file downloads.
 Geo - This is just a general purpose file I created, it is required, but I consider it to be an all-around utility file rather than part of the game, but you will find some usefull functions here.
 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.

Copyright © 2012-2017 by TachuFind Color Master