World Of Warcraft - The Ruins Of Monster WoW
I'm proud to present you a new World Of Warcraft created by me. No, that's not a private server or some kind of self-advertisement.
This is a game i created from scratch, using my own game engine that i developed specially for this project.
The game is going to be 2D, but kinda more like semi-2D.
Download Link - Games - DiabloSoft
System Requirements
Any CPU
300 MB RAM
Video Card with at least 50 MB VRAM memory.
NET Framework 4.8
Windows 7 and above
( Basically it can run even on the lowest end PCs, if they can install NET Framework 4.8 )
( Low end PC will only have longer loading time, but no FPS drop )
What is so special about it?
Well, the fact that i created my own game engine just to create that game is not something so amazing.
What is amazing is that this game works just like how the original WoW works. The engine was built to work similar to how the original WoW works.
Since i am also a hacker who created multiple pqr bots, esp hacks and so on, i know what WoW's data structures/functions look like and how they work.
So i did my best do make the stuff as similar as possible. Well, except for the online part.
The game is going to be offline based and everybody will be abe to download it for free.
Early Development pictures
1. Main Menu
2. Settings
3. In-Game
Database
So, the game has database just like original WoW. Since this game is going to be offline, the database is stored as Json files.
The game also has a level editor that allows me to use all objects located in the database. All spells are also located in the database.
The spell editor looks like so.
Physics
Early i mentioned that the game is going to be semi-2D. What i mean by that is that you will be able to move your character in all directions. Up, down, left, right, even diagonally. So the game might feel like 3D to some point, but technically it is a 2D game. Now let me explain about the collision part.
The yellow lines and rectangles represent collision area. As you can see both my character and the NPC have collision rectangles. This means i cant go trough that NPC. I can push it away if i walk towards it, but i can't collide wiith it. And also all objects are ordered by their Y position. This means, if i am behind and NPC, i will be displayed behind the npc. This is something like Z buffer in a 3D engine. The character / npcs will not be able to get off the main road. The yellow lines represent the collision of the main road of the map.
When you cast a spell, and your target is behind a wall/object, you will hit the object instead, and the target will not take damage. How do you target someone? Well, the game auto targets the NPC's for you, so don't worry about that. Your target is allways the closest enemy.
Video (Early development sound test)
Release Date
For now, i will skip the deep details. Otherwise it will not be interesting when you finally get to play it. I will just say that i will release this project this november.
Engine full features
Programming language - C#
Total lines of code - 7123
1. Collision detection(particles, props, roads, npcs, characters).
- Any object that has collision properties, can collide with any other object that has collision properties.
- Missiles(They are usually created when spell cast is finished) die when they collide with object and apply dmg/stun,ect.
- If a missile hits a prop instead of it's target, the missile dies without the target taking any damage.
2. Spell casting (character, npc, boss).
- Spells can apply damage, stun, heal and absorb damage.
- Spells have cooldowns.
- Some spells have cast time.
- If you take damage while you cast, cast time is increased(just like in WoW).
3. Particle/Missile handling (Controls the position/velocity of a particle/missile/buff).
- Particles are casted by spells.
- Each particle has it's own spawn/idle/death animation.
- Particles are only 2 types, buff particles and missile particles.
- Buff particles stay on the target(just for visual effect, like ice barrier for example).
- Missile particles(like fireball for example) keep moving towards the target until they collide with it.
4. Movement.
- The engine uses all direction movements(up,down,left,right,diagonally).
5. Maps.
- Each map contains certain road area where the characters/npcs/bosses cannot escape.
- Each map contains all IDS of all objects that need to be loaded in the map upon loading.
- Each map has it's own skybox or animated skybox.
6. AI (NPCs/Bosses).
- NPCs/Bosses can move in all directions just like the main character.
- NPCs/Bosses are the same object type just like the main character.
- NPCs/Bosses can cast spells in all kind of situations, depending on what spells they have.
7. Animations.
- Each NPC/Boss/Character has it's own idle,walk,spellcast animations(each animation is made out of exactly 10 frames).
- Animated skyboxes.
- Animated Particles/Missiles.
- Animated UI Backgrounds.
8. Sound Manager
- Fire and forget functionality(play a sound and dispose of the resource after it is played).
- Play sound after finishing spell cast.
- Play sound after missile hits the target.
- Play/Change/Stop the current music(the music is allways played in a loop, doesn't matter if you are in main menu or in game).
9. Resolution management
- The UI and all images are responsive for all window sizes and resolutions.
- The font size is calculated for the relevant resolution so there will be no font size difference between different resolutions.
10. Red text notification
- Error messages are displayed at the middle top position of the screen via centered text(just like in wow).
- The error messages are from the type of (You can't do that yet, spell is in cooldown, ect).
11. Resource manager
- Takes care of allocating resources in RAM or VRAM and disposing them properly later(to prevent memory leaks).
12. Dialogs
- In game you are able to talk to certain NPC's and display dialogs on the bottom of your screen.
- The game is paused during the dialogs.
13. Targeting system.
- The game auto targets the closest enemy for you.
- When you cast spell, that spell is casted at your target.
- It loops through the object manager and searches for the closest target.
- The closest target can only be below 40 yards, otherwise no target is selected.
- NPCs/Bosses only target the main character.
14. Character manager.
- Depending on the map, the character is given different spells/level/hp/displayID(different 2D model)
- The idea of this is so your character can get more powerful with each level, and also change appearance.
15. Cinematic manager.
- When the main character completes the level, if the level is set to display cinematic
the game is paused and cinematic is played, after the cinematic is over the game is unpaused.
- Cinematics cannot be skipped.
16. Save system.
- When you complete a level, the next level is unlocked.
17. Boss handler.
- When a boss is targeting you for first time, he engages in battle.
- A big boss HP bar is displayed on top of the screen, and in the middle is the boss name.
18. Map/Level editor.
- The custom built in editor can edit the database.
- Can create maps and place gameobjects in it, as well as change the gameobject values.
19. Occlusion Culling.
- The game renders only that is vissible to the camera in order to save performance.
- The game's performance was tested on my mini-notebook and works perfectly at max FPS.
Why am i doing this???
Why why why? I could have used Unity3D as a game engine, or Unreal engine, or some kind of game maker that can make my work easier, or why would i create this on first place??? The answer is very simple. I do this game in memory of the private server in which i played for 10 years. I am turning 26 next month, and i spent nearly half of my life on this private server. The server was called Monster-WoW (There is a fake Monster right now with 100 stupid people online and retarded owner, that's not the Monster i talk about atm). My server deserves something more than just words like "Oh it was a good server, i miss it so much.." or videos in memory of the server. No words, no videos, it deserves entire game devoted to it. And not just a game created with crappy game engine with copy pasted code. A game created with custom built game engine that was created just for it. And a code, that i wrote without copy pasting. And that game, is the game on this post. There is no other person in the whole world who missed his WoW private server more than i do. Sure, people suffer because of WoW. Blizzard created the best MMORPG of all time, and it was not destroyed by hackers, it was destroyed by Blizzard themselves. They are also the ones who shut down Monster WoW. Creating this game is a way to express my emotions towards Monster WoW, and also a way to say thanks to Mainadmin, the owner. I want to say huge thanks to him for keeping the server online for so many years. And also for the full geared character that he gifted me, with a Legendary staff for my mage. Stay tuned and wait for update on this project.
Download Link - Games - DiabloSoft