Thursday, August 2, 2018

Design Document, v. 0.0.1

In order to get somewhere, you have to know where you are going, or something, so I'm making a design document.  This is also sometimes called a "Project Bible."  It is a list of all the features that are intended to be put in the game, stylistic guidelines, and a timeline.  It can include concept art and perhaps a demo as well.

This is my initial draft.

Codename:  Arkcraft*

Stats:  A game for any type of PC (initially), single player, offline, with a projected length of 20-40 hours.

Pitch:  In thirty weeks, planet earth will be destroyed via an asteroid.  Humanity united is working feverishly to build a colony ship that will roam the stars until a new home is found.  Carrying genetic databases and thousands of sleeping passengers, the ship will deploy an entire planets' worth of earth creatures before waking the colonists.  Your job is to collect as many genetic samples as possible and also to collect records of animal behavior.  At the new world, cloned animals will be mass produced, programmed with social and survival behaviors, and released to make a new ecosystem.

You play as a series of volunteers.  Each one is in a different area of the world collecting animals within the time limit.  "Collecting" will proceed as a turn-based battle similar to what goes on in the Pokemon games.  You will also play as a series of scientists that are observing animals.  All behaviors observed during these activities go in a knowledge database, and the ultimate player goal is to fill the database with multiple gene specimens for each animal and a list of a wide variety of observed behaviors.  Each play-through is limited to the thirty-week time limit where the volunteer collects animals in their home-country.  Afterwards, they get an epilogue about their ultimate fate.  Subsequent play-throughs happen with different player-characters in perhaps a different region, with knowledge collected preserved.

Story and Mechanics Details:

The first volunteer starts the game with a robot companion with which to do "battle."  It knows only a basic move, such as "Zap," and you are supposed to train it to emulate natural animal behavior by "battling" various creatures.  Storywise, you are trying to train a machine-learning AI to make an algorithm for seeding a cloned animal with a realistic consciousness.  Mechanics-wise, you will eventually be able to "battle" with AI versions of animals that know sortof appropriate moves based on real animals.  For example, you might battle with a Mouse, which knows how to Scratch and Bite.  Storywise, cloned animals can also be programmed with these behaviors.

Playing with Time:

If one of your volunteers unlocked the Mouse on week 13, your subsequent volunteers will have access to Mouse on week 13 as well, so volunteers will get more and more versatile.  Subsequent characters may live in "better-funded" parts of the world so that they get access to better starting tech to avoid always starting out completely helpless.  Subsequent volunteers can also unlock animals earlier.

Volunteer 1--starts in a large city where starter animals can be acquired, such as Mouse, Roach, Squirrel, Robin, etc.  It must be certain that the player will acquire a basic animal immediately.

Volunteer 2--can get something more interesting, such as Wallaby, or something

Meanwhile, Scientist 1--uses Volunteer one's animal, which is either male or female, and observes its breeding behavior with a lab animal.  Of course, scientists actually know a lot about this sort of thing in the real world, so the justification is that the behavior is simultaneously being recorded for use in cloned animals.

...

eventually

...

Volunteer n starts the game but instead of a usually play-through, Volunteer n gives the tech to a group that Opposes the Mission.  Antagonists start to appear and challenge the player to battles.

...

eventually

...

One of the volunteers is running a deep-sea submarine version of the mission.  Some are spelunking, mountain-climbing, and other extreme environments.

...

eventually

...

The player goes through some challenge missions, such as creating programs for extinct animals from scratch.  You can clone a Tasmanian wolf, but how should it act?  Battles will initally be silly, with messages such as, "Tasmanian wolf tries to attack but becomes confused by its teeth."

...

eventually
...

The player is happy with the percentage of the animals collected and the completeness of the behavior list and chooses to view the Epilogues for all volunteers, ending the game.

Design Goals:

I have played a few Pokemon-inspired games (amusingly, I haven't actually played Pokemon), and I want to try to address a few design flaws.  All of the computer versions I have played had a terrible interface, so one of the things I want to do is

A.  Make a Nice Interface.  Computers have mice, and menus exist.  Playing the game should not give finger cramps, and I do not want to try to pretend the player is using an original Nintendo.  Also,

B.  No Grinding.  Playing the game should not required utter, slavish devotion.  There should be no point at which the game says, "Okay, now do that exact thing over and over for the next twenty hours."  Also, nothing should be on a timer.  Not that it's a flaw per se, but this particular game will avoid

C.  Fantasy Biology (avoiding).  We are strictly Sci-fi Biology here, lol.  This game will be vaguely educational in the sense that it will have actual animals in their approximate actual locations.  Animals are cool!  As far as aesthetics, I am initially aiming for

D.  Slightly rounded and cartoonish style with high saturation.  I will be avoiding photo-realism and huge pixels equally.  The theme here is "life," so it should look clean and appealing.  I will avoid overly-taxing effects, such as individual grass strands that bend in the wind.  Of course, I can't actually ART, so I'm probably going to actually make every object a plain cube with a name on it and try to fix that later.

Timeline:

1.  Program a single battle with fixed opponents.

2.  Program a fixed environment with spawn points for battles.  Try to make the interface work.

3.  Expand the battle system to include a huge number of creatures, and order them by progressive difficulty.  Set up a way for me to organize a vast amount of creature data.  At this point, consider a way to make creatures moddable.

4.  Expand the environment system to include procedurally-generated environments.  Work on balancing every region.

5.  Set up the campaign, starting with an initial cut-scene or tutorial mission.  Arrange region-unlocks.

6.  Figure out how to make game art.

7.  Add random generation to volunteers.  They should have an appearance, perhaps a photo, perhaps a family photo, perhaps an inspiring saying.  Each one should have something happen to them in the end, such as making it on the colony ship or...not.


*This name was suggested by a friend of mine, and I find it amusingly cliche.

No comments:

Post a Comment

Shuffling Cards When You Are a Computer

The last time I programmed anything, programs started at the top of the Main function and proceeded to the bottom...if the Unix terminal was...