#I. Game Concept
- Introduction
Imagine Zelda with a Minecraft level of world interaction, except instead of being able to merely interact with everything in the world, you can program everything in the world. Everything is scriptable. The player can attach custom scripts written in our own HackSlash DSL to any game entity. We're proposing a game by programmers, for programmers.
2. Background
3. Description
When you start the game, you begin adventuring in the world like any other RPG with a fantasy setting. Then, you meet another character that would like to join you on your journies. That character is now in your party, however, in order to control that character, you will have to attach a script to it. You open the character's scripting pane, and since this is early in the game, you don't have many options yet. Right now you can just call one of three methods: aggressive(), guard(), follow(). As you progress in the game, you gain access to more elemnets of the language and are able to control the character to a higher degree. Later in your journey, for example, you might write a script that tells the character to attack any monster that comes within two tiles of you with a normal attack, and use a special attack if that monster has more than 20 hit points.
Say you acquire a new weapon, a wand of flame. The default behavior for this weapon is to shoot a straight line of flame that travels 3 tiles per second. As you gain experience with this item, you gain access to the private variables of the object that encapsulates it. That means you can attach scripts to it that change its speed, trajectory, and width.
There is a large rock on the path ahead of you. Once you've gained the 'telepathy' ability, you will be able to write scripts for inanimate objects. You can make the rock move in a circle to disrupt enemies, use it to plug doors, or float it to otherwise inaccessible switches.
4. Key Features
- Open world
- Scriptable game entities
- Genre
- Adventure RPG
- Crafting
- Platforms
- Browser
- Possible mobile support
- Concept Art
#II. Game Proposal
- Revised Game concept
- Market Analysis
Minecraft modding is very popular. This is the ultimate mod. It allows for in-game modding while playing, and modding is part of the challenge of the game.
3. Technical Analysis
User our own programming language for game entity scripts will allow us a fine grain of control over what the user can do with scripting. We considered allowing the user to directly type in JavaScript or Lua, but that would present many security issues. With our own language, we can compile it to JavaScript and execute it with the knowledge that nothing harmful can be done. Additionally, this will let us define various levels of scripting that the user can access. For example, level one might give access to assignment and conditional branching, while iteration would only be allowed at later stages. 4. Art
#III. Functional Specification
- Game Mechanics
- Core Game Play
- Game Flow
- Characters/Units
- Game Play Elements
- Game Physics and Statistics
- Artificial Intelligence
- Multiplayer
- User Interface
- Flowchart
- Functional Requirements
- Mockups
- GUI Objects
- Art and Video
- Overall goals
- 2D Art and Animation
- GUI
- Terrain
- Game Play Elements
- Cinematics
- Sound and Music
- Sound Effects * GUI * Special Effects * Characters * Game Play Elements * Environment * Motion
- Music * Event Jingles – success/failure/death/victory etc. * Shell Screen * Level Theme * Situations
- Story
- Level Requirements
- Level Diagram
- Asset Revelation Schedule
- Level Design Seeds
#IV. Technical Specification
- Game Mechanics
- Platform and OS
- Third Party Code
- Code Objects
- Control Loop
- Game Object Data Structures and Methods
- Data Flow
- Physics
- AI
- UI
- Game Shell – All Screens besides main play screen
- Main play Screen(s)
- Art and Video
- Graphics Engines
- Art Requirements
- Sound and Music
- Level Specific Code
#V. Milestones
- Conceptual Phase
- Document: Game Concept
- Document: Game Proposal
- Design Phase
- Document: Functional Specification
- Document: Technical Specification
- Documents: Tool Specifications (if applicable)
- Production Phase (sometimes called Implementation Phase)
- Production Schedule
- Technology and Art Demo
- First Playable Level
- Documents: Paper Level Designs (not always a deliverable)
- Alpha - Functionally Complete
- Testing Phase (Quality Assurance)
- Beta - First Potential Code Release
- Gold Master - Code Release
#VI. Team Members
- Kevin Bajaj
- Greg Ervin
- Thomas Ford
- Sean Hannah
- Chris Hogan