Skip to content

Latest commit

 

History

History
122 lines (105 loc) · 4.93 KB

PreCodingTasks.md

File metadata and controls

122 lines (105 loc) · 4.93 KB

#I. Game Concept

  1. 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
  1. Genre
  • Adventure RPG
  • Crafting
  1. Platforms
  • Browser
  • Possible mobile support
  1. Concept Art

#II. Game Proposal

  1. Revised Game concept
  2. 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

  1. Game Mechanics
  2. Core Game Play
  3. Game Flow
  4. Characters/Units
  5. Game Play Elements
  6. Game Physics and Statistics
  7. Artificial Intelligence
  8. Multiplayer
  9. User Interface
  10. Flowchart
  11. Functional Requirements
  12. Mockups
  13. GUI Objects
  14. Art and Video
  15. Overall goals
  16. 2D Art and Animation
  17. GUI
  18. Terrain
  19. Game Play Elements
  20. Cinematics
  21. Sound and Music
  22. Sound Effects * GUI * Special Effects * Characters * Game Play Elements * Environment * Motion
  23. Music * Event Jingles – success/failure/death/victory etc. * Shell Screen * Level Theme * Situations
  24. Story
  25. Level Requirements
  26. Level Diagram
  27. Asset Revelation Schedule
  28. Level Design Seeds

#IV. Technical Specification

  1. Game Mechanics
  2. Platform and OS
  3. Third Party Code
  4. Code Objects
  5. Control Loop
  6. Game Object Data Structures and Methods
  7. Data Flow
  8. Physics
  9. AI
  10. UI
  11. Game Shell – All Screens besides main play screen
  12. Main play Screen(s)
  13. Art and Video
  14. Graphics Engines
  15. Art Requirements
  16. Sound and Music
  17. Level Specific Code

#V. Milestones

  1. Conceptual Phase
  • Document: Game Concept
  • Document: Game Proposal
  1. Design Phase
  • Document: Functional Specification
  • Document: Technical Specification
  • Documents: Tool Specifications (if applicable)
  1. 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
  1. Testing Phase (Quality Assurance)
  • Beta - First Potential Code Release
  • Gold Master - Code Release

#VI. Team Members

  1. Kevin Bajaj
  2. Greg Ervin
  3. Thomas Ford
  4. Sean Hannah
  5. Chris Hogan