How to build an MMO in 7 days – Announcing Dungeon of Loot!
So how do you build an MMO in 7 days? Easy! You first spend over 2 years and a half working on a framework and then you’re set to build a simple MMO in 7 days!
Dungeon of Loot – Alpha version 0.1
This is only an alpha version so keep that in mind. While the graphics will remain the same and the core systems are all coded I now need to do testing, add a lot of data (more loot!) and build more levels. Right now there is only 1 level available where you get to kill rats. Look for the merchant south of the starting position there is a chest near that will give you gold to buy healing potions.
Why do I need to connect through Facebook?
Because that’s how it works. At the moment it’s easier to proceed this way though I will probably add regular account access later. The Facebook authentication is also part of my promotion strategy.
Will you upgrade the graphics before launch?
No, no, no. Not the point. What you see is what the final product will look like.
I said in my previous post that I will keep it as simple as possible so it includes of keeping the graphics simple.
It doesn’t work in X browser!
I’m focusing on Firefox and IE right now. I might add Safari as well though right now the Safari installed on my machine seems badly bugged or something.
Building levels takes time
But I have the answer! I was looking for some NetHack algorithm to generate dungeons but there’s a catch. NetHack dungeons are generating tiles you can walk on and walls are defined by missing links on the sides of tiles.
Since I’m using the same engine as Golemizer I always start with a zone of fixed width and height. Walls are defined by the borders of the zones and items with collisions.
So I built a simple function that adds items of type “wall” in the current zone. The function loop through all coordinates of the zone (from 1,1 to 100,100), it check if it feels like creating a wall, select randomly the size of walls (I cannot define walls dynamically so all type of wall must exist before executing the funtion) check if the wall gets on top of something else and then switch to the next coordinate.
All of this this is done in-game. So it looks like this:
- Get in-game
- Type /createlevel (new stairs are created)
- Walk on stairs to move to the new zone
- /createdungeon (walls are created)
- Move around to see if the setup makes sense
- /populate [monster] [quantity] (for example to create 30 rats located at random coordinates in the level)
That’s it! A new level is created! Of course I’ll build some levels manually as I have some ideas for special encounters.
Can I be a [insert class here]?
There is no class in Dungeon of Loot but there are levels. To keep things as simple as possible I didn’t bother with classes. You build your own. Each time you gain a level you can raise a stat (strength, constitution, dexterity, intelligence, wisdom, charisma). Most items you loot in the dungeon have stats requirements so if you want to use magical items you just have to raise your intelligence. If you wish to use range weapons than you raise your dexterity and so on.
There are also no skills. The focus is on loot. You don’t learn spells you loot scrolls instead. Using the scroll will cast the spell and destroy it. Want to perform a fancy attack? Find the required loot! Everything is loot!
With such focus on loot it wasn’t making sense to keep the same inventory system as Golemizer. In Golemizer each item in your inventory is actually a record in the database with an unique identifier.
In Dungeon of Loot you might loot 3,000 short swords so I don’t want to keep records of those 3,000 short swords. Instead I only keep reference to the type of item and then save the quantity. It makes everything so simple and for Dungeon of Loot it will work perfectly.
There’s no inventory limit so feel free to loot over and over the same chests (there is a cooldown between each looting though).
Players won’t always have to fight over the content of chests as there are 2 kind of cooldown for looting. One is global so if you loot the chest nobody can loot it again for X minutes and the other one is linked to your character only so it means that many players can loot the same chest at the same time. It will mostly be used for more regular stuff like gold and basic items in the first level. For example right now you can loot a dagger, leather armor and a short sword. Those are all basic items that you won’t use for long so I’m basically giving them for free. It doesn’t matter if 30 players just looted the same chest you are guaranteed to receive you short sword anyway.
Where do I post bugs or talk about the game?
Right now just post here. I don’t plan to open forums for it though I will probably use Facebook for this. Like I said I want this simple simple simple.
Don’t expect amazing performance for now as the game is running on the cheap VPS used for Golemizer forums.
I’m just making this available right now to get some feedback on bugs in Firefox and IE. I’d also like to hear if you think of ways to make the game even more simple. Maybe reword some of the instructions? Anything to make it stupidly simple to understand and to get players started as soon as possible.
When will it be released?
Considering it took me 7 days to get it running it will probably be “soon”. I’m just struggling right now to figure on which server it will run. Can’t (and don’t want) to put it on the same server as Golemizer. The current VPS will probably not be powerful enough and I recently had to shut down the server for Blimp Wars because of financial considerations.
I might consider using http://www.kickstarter.com/ if some of you are interested to help me to get this project running. I’m only looking to cover the fees of the server for some months so that might be a valid plan.