-
Notifications
You must be signed in to change notification settings - Fork 1
Game Design Document
#Nex - Final Project
Developers: Tyler Bounds, Chris Hight, and Stephen Brown
###Game Overview
Our project, Nex, is a top-down, randomly generated, tile based, dungeon crawler that supports up to two players in networked multiplayer. Players in Nex will explore the dungeon as their chosen class to combat monsters, protect their friend, and find loot. However, the deeper they go, the harder and more expansive the dungeon becomes. Fortunately for the players, they can level up along the way by defeating monsters; hopefully becoming strong enough to face the next level. If one player falls the other can help get them back on their feet. However if both players are felled they will be removed from the dungeon and it will randomize itself again, invalidating anything the players learned of the layout.
Throughout the players' adventure they will have few unique interactions within the dungeon, when confronted by an enemy their choices are to attack with their weapons, skills, or spells. Additional opportunities may present themselves in the form of treasure chests and levers. The players can interact with these objects at their own risk, however interaction may be required in order to progress.
The players will need to stay focused for there are many sights to behold within the dungeon. Barrels, lamps, tables, and other objects litter the dungeon as if it were once inhabited by civilized beings. Now all they do is serve the players as destructible entertainment. Relics of the past haunt the dungeon as a constant reminder of life's fleeting existence.
Despite the challenges and dangers that persist in the dungeon, adventurers continually flood the dungeon. Their reasons their own, we're left only to speculate. Maybe the growth they experience from facing the dungeon keeps them coming back. It might be the closeness they develop with their friend as they rely on each other. For some, it might just be collecting the most loot for bragging rights. The endless possibilities might be what hooks each player, "what will I find this time?" they ask themselves. Be it treasure, traps, or friendship they will always find deadly challenges in the dungeon.
###Development Strategy
We will begin by using our previous games to create a skeletal structure for our current game. There is code there that we will reuse, such as input code and pathfinding. For networking, we might use a Java client-server chat program that we wrote awhile ago as an basis of where to start.
We foresee networking and intelligent randomization for level generation as our low-bar sticking points. For networking, the way we will approach this sticking point is through proper use of available resources. Instead of just trying to hammer something out, we will use our previous client-server chat program, Google, and professor assistance to work through the implementation. Random level generation will have to be tackled through effective tile design and algorithms of our own design that manipulate the levels based off of consistent design principles for the tiles.
###Visual Entities There will be many visual entities in this game however many of each entity will be contained within the supersets mentioned below.
- Hero - These entities will be specific class characters that exists on the screen and are controllable by the players of the game.
- Enemy - There will be a variety of monsters, no less than three, that confront the players and must be defeated to play through the game.
- Dungeon - The dungeon’s ability to be random will require that the environment be split into many large tiles representing individual rooms. These tiles will then be placed together to create the larger dungeon.
- Interactive Objects - Objects such as the levers and chests will be available throughout the dungeon to test a players skill.
- Destructible Objects - Objects such as furniture and jars may be placed throughout the dungeon giving the player something fun to destroy.
###Controls There will be a combination of mouse and keyboard controls to allow for the players to interact with their heroes. The traditional a-s-d-w keys will be used for character movement as well as numeric keys if the high goal is met to introduce a skill bar. Player attacks will be performed by using the mouse. When a player clicks the mouse the hero will attack in the basic direction of the mouse click in either a four point or eight point direction dependent on final product code implementation.
###Inspiration Inspiration for Nex was developed from previously developed games by both Origin and Blizzard. Chris has been an avid fan of the Ultima and Diablo series from both game’s inceptions. The idea for level random generation was developed from Diablo III’s production however tile based implementation and random room properties and events are derivatives of Wizards of the Coast’s game Betrayal at House on the Hill.
###Milestones
-
November 18th, 2016 * Base Networking. * Chris will spearhead network development with the remaining members available to assist. * Screen Scrolling for Single Player Instance * Steve will be in charge of developing scrolling with assistance from Tyler. * Player Sprites/Basic Environment Sprites * Tyler will develop player sprites, hopefully two different classes, and some basic environment sprites. * Player Entity * Whoever has the most free time will develop the base player class.
-
November 25th, 2016 * Established Networking * Chris will have finished the bulk of networking and we will continue to build off of it from here. * Level Generation * Steve will have finished a process to create random levels of specific room count. No room will be unreachable and the exit to descend will be placed reasonably far away from the start room. * Environment and Enemy Sprites * Tyler will have finished more environment sprites, such as destructible objects, and at least one enemy finished. * Enemy Entities * Whoever has the most time will develop a base enemy class.
-
December 2nd, 2016 * Interactive Objects * Chris and Steve will develop interactive objects such as chests and levers. * UI Interface * Tyler will develop the artwork for the UI. * Enemies * The group will develop additional enemies together, Tyler working on the art, Chris and Steve working on developing AI. * Low-Bars Completed, First Playable Version
###Technical Showpiece(s)
- Networked Multiplayer
- Networking was a suggested showpiece and therefore is non-trivial.
- Intelligent, Random Level Generation
- We want a system in place that will create playable levels, this means that the players will start in one area, be able to reach any room placed, there exists an exit to the next floor, all rooms are reachable and the exit a reasonable distance away from the start. This is non-trivial as we have to design both interesting tiles (as opposed to tiles that have connections on all sides) and the logic to placing them. Additionally, this is something we will have to develop from scratch.
###High Bar
- Class Specific Skill Trees - Class specific skill trees would allow the player to customize their character and enhance certain abilities to create their own play style.
- Skill Bar - Skill bars would allow for different skills with different abilities to be toggled by the player.
- Inventory System - With the implementation of items in the game, allowing the player to pick up and save items for future use would require the use of an inventory system.
- Additional Unique Enemies - More enemies than the promised three that would not just be clones.
- Bosses - Bosses would be different than the average enemy as they would carry their own tactics and abilities.
- Maximum of Four-Person Multiplayer - Allowing for 4 persons would add the ability to interact with more character types as well as add an alternative play style to the game.
- Engaging AI - Enemies will do more than find the player and attack him. The will try to maintain a safe attack distance or hide behind objects.
###Low Bar
- Two-Person, Networked Multiplayer - Two people will be able to play in the same game on separate computers.
- Randomly Generated Levels - Levels that are randomly generated by a developed system which progressively get larger/more difficult and contain no unreachable rooms.
- Enemies - Minimum of three different enemies with basic AI.
- Start state - Displays a start menu that enables the user to join/host a game or see the controls.
- Game Over State - Displays relevant/interesting stats and enables the player to exit or restart.
- Player Classes - Minimum of two different player classes that impact what the player can do. Examples: warrior, ranger, cleric, mage, etc.
- UI Display: Displays player health, friend's health, gold acquired, current experience, current player level, friend's current level, the current floor the players are on, and an indicator to display the direction the player's friend is if they are off screen.
- Interactive Objects: Objects which have special functions when the player interacts with them. Example: chests and levers.