Project Requirements

Project Requirements 1.0.0 (IMPORTANT: INCREMENT ON EACH EDIT)
To view new project requirements as of 19 Mar 2014, click New Project Requirements.

What will we need to do to make Artisan a reality?

Each section is a stub intended for expansion. What do we need to know?

"Whither shall I go that I may find ore to molten, that I may make tools to construct the ship after the manner which thou hast shown unto me?" -1 Nephi 17:9

Red, Yellow, Green System
Every set of project requirements needs prioritization, or else it will suffer from schedule drift and feature creep. One effective prioritization scheme used in industry is the Red Yellow Green system. It classifies requirements and features as follows:

Green: This is an essential feature. We are not going to release our product without it.

Yellow: This feature is nice to have but not necessary. We will implement it if we have time.

Red: We are not going to implement this feature in the current release. A comment or other documentation will explain why not.

One of the great benefits of this system is that it allows project managers and developers to be selective about the features they commit to implement, thus allowing them to stay within a reasonable scope and schedule.

Main objective
(summarized from Scope below): '''We need to be able to show one player character, in his forge, working on one or two items so the item creation process can be shown in the Kickstarter pitch. This item or items must also be shown in an exterior environment to see how they are used in gameplay.'''

Features

 * 1) Combat system - We need to be able to show the player's character fighting enemies in an exterior environment. This must feature item(s) created through the Item Creation System.
 * 2) Enemy - rigged character and behavior
 * 3) Animations - player character, enemy, and items
 * 4) Develop unique fighting system
 * 5) Visual Effects
 * 6) It must be rule-based (it must make sense mathematically and internally).
 * 7) It must be easily understood by the player.
 * 8) It must be fun.
 * 9) The world: Smorgasland - Spencer Kropp (consult with Bryce) – basic demo world design (forge + external environment)
 * 10) Scenery - needed in exterior combat environment and workshop
 * 11) Travel depends on multiple in-game locations.
 * 12) (Simple) Game world locations, i.e. external environment outside of the forge (such as character hometown, shops, etc., and beyond that the broader world)
 * 13) (One, two, or three) Materials - how to acquire them, significance, etc.
 * 14) Storyline and NPCs
 * 15) Other characters in the game
 * 16) Party size and characters that can join
 * 17) Cinematics / storytelling? - There is plenty more in the way of story, and it’s still being written down at the moment. Story probably doesn’t need to make it’s way into the project at this point. Right now we need to focus on getting the engine working and enough content to show on Kickstarter. Story implementation really doesn’t need to happen until after then.
 * 18) Quests / commissions to make certain items
 * 19) Scoring for items created on commission. NPCs who commission your character to make items for them will compensate you for work well done. We need to develop a scoring system that will allow the computer players to “judge” your works based on the criteria they gave you. This is where the concept of levels is introduced to the item-making aspect of gameplay - some commissioned items are simple and easy to create; others are more difficult and/or require exotic items that are difficult to obtain (such as dragon’s teeth!)
 * 20) Network / Internet play?
 * 21) Item Creation- We need to be able to show one player character, in his forge, working on one or two items so the item creation process can be shown in the Kickstarter pitch.  Link to Design Page
 * 22) Menus for item creation - choose the type of item to create, show what materials you have on hand, etc.
 * 23) Interactive modeling of items - many options; see Design Page
 * 24) Gameplay/creative elements of item creation (dependent on above). Perhaps we could do some research into how actual blacksmithing is done?
 * 25) 3D backdrop - This can be an easily created, mostly static environment to give the workshop its ambient feel. The artists ought to create a 3D environment in Maya, then turn it over to the programmers as assets they can implement in the engine.
 * 26) Storing models
 * 27) File format
 * 28) How to manage complexity and level of detail?
 * 29) General Gameplay
 * 30) 3D models, characters, architecture, assets (trees, street lamps, etc), props, scenes - (Nathan)
 * 31) Unity / UDK has some really good shading tools for games.
 * 32) Maya would be the tool to use for modeling these assets.
 * 33) We need some direction when it comes to modeling / shading these assets.
 * 34) Sound / Music - would really add a lot of atmosphere to the workshop and combat, but depends on their completion first
 * 35) Input processing
 * 36) Kickstarter Pitch - we probably won't reach the pitch stage during the semester.
 * 37) We may need a kickstarter “Pitch manager” or advocate to ensure our project is pitchworthy. This will require some serious effort and research. See the Kickstarter Research Document for more details.
 * 38) Legal
 * 39) Licensing of software
 * 40) Agreement by contributors

Some Thoughts on Scope
(Ramblings by Ben) For each of the essential gameplay components listed above, we currently should be careful to focus on creating a framework/engine rather than getting too caught up in creating content: a working engine is a lot more impressive to show off in a demo. In particular, the item creation system will likely both be the selling point of the game, and will be the most technically complex, so we should focus our efforts there.

(Response by Bryce) Ben, I agree completely - we need to be able to show off item creation. Content is secondary. I hereby propose a content goal: '''We need to be able to show one player character, and we need to show him in his forge. We need to show him working on one or two items in his forge so the creation process can be shown in the Kickstarter pitch.''' It may be wise to exhibit a very small portion of the outside world as well, so I propose having a small (very small) example of alpha-stage combat in a limited exterior environment. From here, we could make a comprehensive list of assets that need to be created, and that list would probably be pretty small. Then we could more easily create goals and deadlines for both the programmers and the artists. (end response)

NOTES ON 3D MODELING (Bryce, here): The other artists and I have access to Maya, which is arguably the most powerful 3D modeling and animation tool. This project deserves no less. Plus we have training using the software. We will use it in combination with either Sculptris or Mudbox to create the 3D assets and environments for the game. Once it is time for the Kickstarter project, we will include the cost of professional licenses for the software in our funding goal so we can legally sell the game. We shouldn’t need more than two licenses for Maya. Until then, it is completely alright to use the licenses we currently have. I spoke to a professional on the issue just the other day.