About this blog
Development of a 3D maze game
Entries in this blog
Another job crossed off my list!
New game mode - Game Plus
Various improvements and bug fixes
I have also produced a new video which shows off the game a bit better
You can download my game, for free, from my web site -
I've done some music for the title screen, which you can listen to below. I wanted to to be synth-y and slightly industrial. It's quite long and repetitive 'cos I figured that you would only hear the first few bars then you'd be pressing 'Start'. It gives a good indication as to the direction and feel of the game. Hope you like!
My title music
1) buy a cheap 1gb memory stick and write on it 'Backup'. Don't use it for anything else.
2) Make sure you backup regularly. Once a week, once a month. Whenever. Just get into the routine of doing it.
3) Store your backup away from your computer. Put it in a different room in a safe place.
Thats it! You may be asking, why is he telling us this? Has something happened? Well no. But it could, and that's the point. You never know.
So with the pathfinding in place, my engine is just about complete. I've implemented -
Procedural level generation
Mapped level generation
Movement with collision detection
Item management, with equipment/inventory screen
Interactive objects (doors etc)
wow, there's a lot of work gone into that lot! My next step is to start putting in the game elements and making it fun. The first step is to design a 'tutorial' level which introduces the elements of the game, tells you how to play, what are the goals etc. When I was playtesting other dungeon games, I found this was a big let down for some of them, there was no help at all so you didn't know how to play the game, what keys to press, what the goals were etc. I'm a big fan of in-built help systems and I think they are especially useful in an RPG game.
So I have started programming the first level, it is mapped rather than generated so it will be the same every time. I have a portrait graphic and a script which runs and gives you the basics from your Mission Controller, 'Theora'.
By the way I found this wonderful site, really useful if you are struggling for art assets.
How do you keep the game challenging? And fun? If you give the player a +5 sword, will it make him overpowered and the next few levels will be too easy? What about if you give him +5 armour? If you don't drop the right weapon will the player get frustrated and just give up? How do you scale the experience so that the monsters get tougher as the player gets better? Do you base it on the players skill or the players Characters skill? Whoa.
I'm currently playtesting and asking myself these questions, but I definitely know one thing - my next game won't be an RPG!
I think I've figured out a few things -
Monsters strength will be based on the players level when he enters the dungeon. A level 5 character entering the dungeon will encounter level 5 and level 6 monsters.
The player should (on average) gain 1 level per dungeon.
Items will be randomly awarded during the level.
At the end of the level there will be a shop where you can sell unwanted items, buy new items and upgrade existing items.
There will be an element of skill when defending during combat, a correct keypress at the correct time will half the damage.
Attacks during combat will be based on a dice roll + the characters skill with the currently wielded weapon.
Any other suggestions as to where I can post a link to my game?
I've been doing a lot of bug fixing, it seems that every time I play the game I add another thing to my list of things to fix. I'm quite organised and I have a 'to do' list which I cross off every item I've finished but the list still seems to be getting longer!
I've added a 'look' function, if you hold down the right mouse button, you can look around using the mouse, in a 1st person view. Usually the view is locked to 90 degrees. The player will never use it in-game, it's just there as an added feature.
web page -
Announcement page -
Screenshots and videos incoming!
I did find one strange thing, it is almost impossible to die on the first level. I wanted to check my game loop and make sure it dropped you to the Game Over screen then back to the Title Screen, so I found a monster and stood there while he tried to hit me - it took a good 10 minutes and I still had 1HP left!
I guess it might have been a fluke, I will try and replicate it. The monsters get tougher though after the first level so it shouldn't be a problem after that.
Everything else is finished all the monster graphics and sound effects are in, all the spells and skills are in, I just need to do a little work on my menus and help screens and I'm done!
About time too because I'm way behind schedule.
On another note, I have been playing around with Unity, it's very easy to code for multiple platforms, I'm sure I will be using it for my next project.
But I need a holiday first!
Bye for now.....
LOD Games - Deepfall Dungeon
There's a fantastic page here which explains how it works.
I could have downloaded a library but I thought it would be better to do it myself. Also I couldn't drop it straight into the game, because it would be a nightmare to debug in first person! I therefore programmed it as a separate function and I can just drop it in now. It's my own version of the algorithm called 'A+' because you can't travel in diagonals, just on the x and y axis. This is because the game is grid based (like Dungeon Master or Eye of the Beholder for example).
Here is a demo video, the starting point is the green square and the finishing point is the red square. Purple squares are checked (on the open list) and the blue line is the final path.
So all I need to do is replace the green square with the monsters x,y and the red square with the players x,y and it should work...
I've been testing my game on my netbook and as I've been adding stuff its been gradually getting slower and slower. Today I've done some optimisation to hopefully make it run a bit quicker.
The maze is made up of a series of textured cubes. Where there is a wall, there is a cube of 6 sides and 12 polygons. This is wasteful because you never see the top and bottom of the cube, and if you are in a corridor, chances are you will never see the sides either.
So I have replaced the cubes with flat polygons, and I'm only drawing what I need. I'll do some comparisons on the netbook later to work out if this is faster. (it runs at a smooth 60 fps on my desktop regardless of which method I use)
Also, the entire maze is being built before the player starts and I'm just moving the camera around. I could just draw the maze as I get to it, instead of generating it all at once. However this is a big change and I will probably leave it for the moment and come back to this topic later.
For example, I wondered if I could do an 'outdoor' game so within a short while, I had a skybox up and running, with a terrain, some trees and a keyboard controlled camera.
I also had another idea of a 'bullet hell' style game, where instead of controlling a ship and dodging bullets, you would shoot bullets out and try to kill enemies. You would start off with a small amount of bullets and this would gradually increase until you were shooting hoards of bullets out.
I'd also like to have a go at writing a traditional horizontally scrolling shooter at some point.
My final thought was to create a 'retro' platform game, an 'homage' to the old ZX Spectrum games, but done in a modern style. To this end, I created a mapper and a scrolling, tiled 2d map and did some quick sprites on top.
I find this kind of prototyping really helps the development, it gives you a sense of what graphics and artwork you will need, helps with the control scheme and even highlights flaws in your game design - if something won't work or isn't fun then you can go back to the drawing board to fix it, without wasting a lot of time.
How do you guys go about deciding your next project? Am I alone in using this method? I'd love to know, drop some comments in below!
You play as a sorcerer on a tower who must defeat incoming enemies by throwing spells at them. The full game will have 20+ levels, story mode, 3 difficulty levels, extra weapons and spells.
You can download the 1 level demo from Gamejolt.
So I'm making a start on some of these, which includes a title screen, logo and proper name. Up until now it has just been '3d dungeon' or 'my game' but now it's
Hope you like the logo. A nice, generic, inoffensive name I hope you agree. A quick Google search reveals no other games with that name, that's about as much in depth as I can go without a legal department.
This wasn't a problem when I was testing locally because I was the owner/administrator. Eventually figured out you can save it into the %appdata% folder, so I moved my ini files into this location. Hopefully this won't cause any problems for people with older OS's (eg XP, Vista etc.).
I also re-drew the inventory screen, looks much nicer now and fits in with the rest of the GUI.
Otherwise, feedback from the demo has been positive, thanks to everybody who has downloaded it and tried it!
E.g. if player is facing East (1) and enemy facing South (2)
1-2 = -1
-1+4 = 3
Plot monster sprite 3. Repeat!
1 standing still
3 walking towards the player
3 walking left (flipped for walking right)
3 walking away
I could, of course, have loaded the model straight into the game but there's a couple of reasons why I'm sticking to the flat 2d graphics. One is aesthetic, the game is a throwback to the old dungeon crawlers so I want it to have a semi-retro feel (even though it's in full 3d). The second reason is the target devices, the main goal is to be able to play this on a netbook which aren't the most powerful machines. If it gets ported to mobile devices there may be even less processing power.
I have set myself milestone targets which I hope to hit regularly and will be updating this journal with screenshots, updates, problems etc.
Hope you enjoy!
Tooltips - when you hover the mouse over an item it will show you the details
Icons - each item is represented by a unique icon. This icon is displayed on the Inventory screen
Drag and Drop - You can click an item and drag it to another 'slot'. The item's icon follows the mouse as you hold down the button and when you let go, the item is moved to that slot. If the inventory slot is not empty, the items are swapped.
The number of Inventory and Heatsink slots change depending on the chassis you have installed. Bigger chassis mean more inventory space and more heatsink space.
It's still untidy because i'm using scratch graphics but the inventory background and the tooltips backgrounds are bitmaps so they can be redrawn at a later date with nice fonts, borders etc. I'm also displaying a bitmap of the chassis in the centre of the screen. I will add some animations and stuff later to make it a bit nicer to look at. I'm hoping it will look a bit like the inventory screen from this mech game I googled. Not exactly the same but the same style.
UI work is so boring!
Kingdoms of Amalur
A fantastic and under appreciated RPG, Kingdoms of Amalur was developed by Big Huge games, developed with help from fantasy writer R A Salvatore and Todd McFarlane. Big Huge was closed by their parent company just after Kingdoms was released.
Ico/Shadow of the Colossus
Team Ico produced the original Playstation 2 games and it seems they like to develop only original games. The Last Guardian has been in development for many years, and it may even see a release one day, so it looks like Ico 2 or Shadow 2 will be the last thing the company wants to concentrate on.
Second Sight featured innovative gameplay, you can use psychic powers to unravel a very interesting story. Developer Free Radical was also responsible for the Time Splitters series of games, and was wound down after the dreadful Haze.
Honorary mention - Psi-Ops
Blur was a fantastic game which managed to combine the shiny cars of Need for Speed with the multiplayer and power ups of Mario Kart. Activision closed the developer, Bizarre Creations, after they produced a poorly selling Bond game, Blood Stone.
Honorary mention - Split/Second
Games really struggle with facial animation, the subtleties of human movement mean it is really difficult to render a realistically moving face. Team Bondi wanted to remedy this and developed what they called MotionScan, which allowed them to render actors faces realistically in game. Throw in a huge open world, an incredible story and challenging puzzles and you have a huge and involving game. Unfortunately Team Bondi was badly run, with employees complaining of poor working conditions. Rockstar closed the studio in 2011.
Magic spells are limited by points, so you can't go round the dungeon blasting monsters with fireballs! MP can be regained by drinking potions, eating certain foods or resting.
I'm not sure about how the player will select the spells yet, currently it's a menu where you can select from a list, but if the player knows 20 spells that might get a bit unwieldy! I will have to figure how the player can select their spells more efficiently. Note that everything is in real-time now, so more time spent navigating through menus is more time the monster has to hit you!
I've also been working on the title screen, there's a retro scrolly message down at the bottom for greetz! I'm happy with the way it looks and it fits the 'dungeon' aesthetic nicely.
I read about 5 essential tips from a guy called Reisuke Ishida who made a presentation at Game Developers Conference -
It's important to come up with a catchphrase that is 'easily recognisable', which in turn influences the game's direction.
Try to make elements like the menus reflect the core concept
Strive for controls that are as simple and as intuitive as possible.
Add a little quirkiness to the design.
Ask that developers consider basic questions like the player's environment thoughout development.
So I am hitting point 2 but failing on point 3! Back to the drawing board!