Could this be the height of my retro 80’s/90’s gaming obsession I hear you ask?
Well quite possibly..probably not though.
Dungeon Master Javascript is my version of the 80’s classic Dungeon Master By FTL Games.
The entire ‘game’ is written in javascript and CSS, it should be CSS2 compliant but I have used a few CSS3 methods..
You can control where you are in the maze by using the Arrow keys on your keyboard, or by clicking on the arrow icons in the interface.
The logistics of the game are quite complicated. The main premise of its functionality revolves around a 2-dimensional array of javascript objects, which divide the ‘squares’ into 5(North, East, South, West and Center) and these have a various properties too..
The visualization takes place by scanning upon movement the present location of the player/view-port in relation to the map, creating walls where it sees fit. The same goes for the doors.
This game will not work in obsolete browsers, and if it does it may be buggy..
There is no pre-loading of data at present. This means it may appear to be malfunctioning when its just loading data/graphics.
In time I hope to develop it further, however with the advent of HTML5 the methods I’m using may seem rather redundant to the modern gamer. Especially with 3d/GL developments.
I cannot take credit for the Dungeon Graphics.. they were taken from the example module of Return to Chaos…and other various old pseudo 3d games.
The source code is freely available, if you do use it though please credit/comment me π
7 Comments
Great info! I recently came across your blog and have been reading along. I thought I would leave my first comment. I donβt know what to say except that I have enjoyed reading. Nice blog.
Awesome share! Thank you very much π
Wow! That’s really awesome. Dungeon Master is one of my favourite game and I’m amazed that you ported to JavaScript!
Excellent work! Are you considering yourself done?
Please e-mail me, because I would like to chat about work-stuff (I’m doing quite similar work to what you’re doing…web-based software development in the heavy construction industry)
Not as of yet, I got items kind of working over the holidays and i also played around using some Push protocol stuff on my local machine in order to make it multiplayer..
Your methods aren’t redundant, at least not yet. I made something very similar-looking using 3D rotations in HTML5 (before knowing about yours – I only found this link today), and it used way too much processor power. My iPad was getting uncomfortably hot, and the iPhone 3G refused to play even moderately large levels. There’s probably some optimisation I could have done, but overall for anything browser-based faking 3D is still the way to go.
Hi Joe,
Just wanted to let you know that I took what you started, optimized the code a bit, and added stairs, portraits, and the original DM maps 1-3. Not all of the visual angles are done, but it’s a start. Struggling to decide how far to take this obsession (moss on the rocks?, hooks on the walls?).
Ernest