-
Notifications
You must be signed in to change notification settings - Fork 1
Features and Modules
These tasks would complete the initial design round before coding anything in earnest or pursuing art or engine development.
- Complete entire Design Stage
- Assign tasks for stage 2
- Post basic design for feedback publicly
This round implements the most basic functionality in real-life code, exposing logical problems and testing assumptions.
- Build flat, simple world map of limited tile types and no features
- Write methods for a single character, a single type of animal, and a single type of plant with some loose items
- Test wandering and basic food acquisition and inventory control
- Implement user commands for movement and gathering
- Write methods for basic skill development for a simple world
- Implement console commands
- Reevaluate design for prejudice and attempt to reduce or generalize
Here on in, each round has three parts. The first is an artistic or ongoing design path, the second is based on interface and mainly client logic, while the third is based in back-end accommodations and large scale logics. They are aligned for reasons of comparative purposes, the workload in each round is not intended to be consistent or evenly shared.
Development can split here, allowing for some initial art work and more informed concept art generation or commissioning.
- Icons for all existing object classes
- 2D Character concepts
- Icons for all primary actions
- Concept modelling for entities and structural components
- Outline restrictions that may be imposed on art direction based on design so far
Before including other characters (which balloons considerations for process, knowledge, and skills development), we need to have a good handle on how crafting will work in the simplest cases.
- Design crafting UX for items and structures
- Code crafting methods for wearables, tools, and building materials
- Develop tests against knowledge and inventory for available crafting options
- Develop tests against ingredients and skill for crafting output
- Stub out modifiers for traits and skills based on held or worn items
Begin designing simple concepts for characters.
- Propose concepts for character models
- Mock up designs with various wearables, tools, weapons
- Sketch related styles for some animals
Some sort of conflict resolution is needed for many areas of the game including hunting, defending against wildlife, and PvP actions like battles, murder, and mugging.
- Encode critical character and item traits for combat
- Build shelter characteristics and stealth/detection methods
- Set thresholds for aggro+detection to initiate and end combat series
- Allow animals to fight over territory, even hunt each other
- Locate character skills for initiating combat series
If the world is persistent, the characters will need to have a persistent existence in the server that can be updated and synced with the client. A consistent data model will allow for simpler coordination.
- Categorize methods that can be left to clients, those that must be shared, and those that can only be trusted on the server
- Document possible requests and updates
- Determine minimum exchange required for emulation of multi-user worlds
- Align back-end data with front-end models
Extend popular concepts to other entities - animals, plants
- Design evolvable models for various animals (grazing, large and small herbivores, omnivores, flying?)
- Design evolvable models for plants (turf, grains, flowers, briars, berries, nuts, fruits, lumber)
- Consider possible interactions and visible cues for level of shelter, concealment, movement
At this point the character will be able to move around in a world with several entities in it and craft simple tools. Building an external structure that imposes on the map is a new trick.
- Implement a simple tent that can be left in place but does not impact the tile otherwise.
- Build simple huts (see Shelters) that change the space they occupy
- Plan building sessions for planned structures to be built over time
- Allow for contributions from multiple craftsmen in series and parallel
- Encode different building types (enclosed, pavillion, fence/wall, path)
- Consider freeform building for public art or decorative elements
Characters and entities will always make their own decisions, but external factors may make some characters drones to a specific purpose with high priority.
- Influence AI with shared goals such as parties for gathering, hunting, or herd animals
- Allow for leadership where one character's decisions cascade to organize the others, such as military or tribal assignments
- Allow for civic or corporate laws that strongly influence decisions of group membership by sharing goals or enforcing leadership decisions
Place entities into landscapes and build the world of Trade
.
- Actual graphics for base tiles and attachment for actual entities and structures
- Concepts for environments with built out turf, terrain, topography, and features
- Real examples of simply understood landscapes with low level discretion and a more knowledgeable gaze
Adding an additional characters that are making their own complex decisions is a challenging point of development for resource management, gameplay, and balance.
- Introduce multiple player characters with simple automation
- Handle interruptive commands on one character and control the response
- Test multiple user-coached characters at once, especially acting on the same resources
Getting regular and accurate data out to clients minimizes unexpected behaviors. However, it may not be necessary that everyone actually experience an identical game at once if the experience is close enough not to notice.
- Evaluate the minimum data needed to calculate multiple users and many characters at once
- Establish system for maintaining sync
- Consider and catch failure paths when timers or data mismatch or updates fail
This is the first strong commitment to a single style for the art and iconography in the game. Actual models may require revision and new concepts are more tightly defined.
A tribal path of development includes organic leadership emerging from simple chains of obey
or follow orders
commands based around resource collecting, protection, or targeting. At higher levels, these skills will cross-contaminate civic governments, corporate security or convoys, and educational reeducation effectiveness.
Each character holds an opinion of each other character she has encountered, based on observed actions and gossip. This might be murder to code, as it may be close to, but necessarily different from the personality a character radiates to someone whom she has never met.
Given a better understanding of the game systems and overall style of the Trade
world, the existing
icon set will likely be incomplete.
Civic development proliferates new offices (and perhaps structures) the way that military development proliferates new skills and group commands. Civics will need to handle group decision-making first and foremost, but also supports community services, identity, and infrastructure.
New commands for groups will require a good definition of a group, which must be more than the opt-in "guild" or "clan" systems in other games. A leader may confer membership in some cases, but there is also the need for determining when a cluster of homes graduates to a group with new civic possibilities or when characters have either experienced each other enough to start working together or have formed a large enough squad that a leader may emerge and how these allegiances may be enforced during something like a large battle where two groups will share goals and proximity but be at cross-purposes.
Considering an immanent alpha release, we'll need something sexy to show off on forums and cocktail parties.
The goods and services industries will be an area of the game where the non-adventurer types will want to thrive and it will need to offer interest and challenge. Apprenticeships and education must exist to accelerate development for characters who come into an already forming civilization. Corporate and educational interests also become the foundation on which increasingly advanced skills and knowledge will be built.
Logic must be built to accommodate the bidirectional relationship between structures and skills. A workyard may improve the speed or quality of crafting done within, but after sufficient experience chopping wood, preserving meats, or weaving fabrics (for example) a workyard may be specialized to an axeyard, smokehouse, or weavery (perhaps requiring new equipment), which will in turn improve the speed of skill development for those crafting within its purpose.
Pick one or more outlets to publish intent and see what momentum can be gathered on Steam, Kickstarter, Indiegogo, Gambitious, etc.
With all the atop the ground stuff managed, the turf itself could use some attention. Turf entities (grasses, grains, flowers) are the basis of most farming. Surfaces and soil types will impact usage and collection of other resources.
There must be a way to log in and out of the game to control the right character. In addition to multiple characters, it may also be nice to at least stub out some control panel functions that may allow for making some decisions or receiving notifications on a mobile device, just observing a character without interaction or (most ambitiously) reconstructing a past event as a bit of a rendering from historical data.
Tree never look real and new users never know what to do to start a game. Fix that.
Diversify animals into predators and prey. Large and small versions of grazers, foragers, and predators in rough equivalence to, say, bovines and lagomorphs, characters and rodents, volpine and lupine (or ursine?). Flying and swimming animals is out of scope for the first round unless something great happens, though an egg laying animal may be a worthwhile addition. This could be regionalized later to great effect.
Extend decision-making for automated activities to some prediction for evasion or seasonal changes to simulate instinct in animals. For characters, intention can be extended to planning for a building or skill goal as well.
What is determined by a characters actions, fitness, and wearables and what may be left to personal choice? A user may determine that a stylish hat suits a character better and customize through crafting or purchase, so perhaps services such as barber or tattoo shops would be similarly useful.
Diversify turf and imagine the distinction between types of grain or vegetables. Trees bearing fruit, nuts, or lumber may have overlapping contents, but be used for different qualities. Bushes with thorns may be great shelter for small foragers though they offer little food or construction material the way hedges or berries would. It is considerable that a skilled horticulturalist, later in the game, may even notice deeper traits in simple plants and create new species through breeding (see reach goal of domestication of animals here as well).
More entities on the board means more consideration for paths, movement, and obstacles. A good method will also allow for coordinated group movement, as appropriate.
This is a reach and requires a creative eye to see if it can be fun as well, but consider the notes on [Language in Trade](Language in Trade).
At some point, items become recognizably discrete from other items around them. It is then that Trade
will ask the character to label this new thing. Most recognition is based on form and icons, so the label is a convenience, but not an insignificant one. Most users will want to name towns, money, shops, characters, and landmarks. With sign-making, perhaps everything can be accommodated except money (an enum of symbols?) and characters themselves.
Iconography covers a lot of interactions, but the design phase will dictate other, direct methods of communicating from character to character (chat, shouting, messages) keeping in mind that this may also need to accommodate user to automaton and inter-automaton conversations. As language agnostic as is reasonable, let's say.
This may be a good beta release milestone location.
Consider the relationship between a stone scraper and a hand-axe. As tools become more complex, a system of combining several icons to represent the resulting item may be needed.
Some tools and structures may be decomposable or upgradable to improve quality, repair condition, or refocus purpose.
Might the model allow for a user to compose a previously non-existent item that has certain purposes for which the game allows by combination of parts instead of a previous recipe?
Related to structures (as map impacting crafted entities) are machines. This may be military defense equipment or anvils, looms, and other crafting assistants. If these machines move around the map, they become vehicles. Important early vehicles include carts and wagons for transporting goods and characters, while later in the game artillery and siege equipment may magnify force.
Group movement and simple commands should be covered by this point, but a shared goal is not as developed as tactics and it must be considered how far down the chain of command a final purpose must be known to effect real strategic movement. The communication to coordinate these actions must be equally advanced.
Civic, tribal, and corporate groups will all need to set some long-range goals. I'm not sure how to do this other than the group commands already covered, but if a new way reveals itself, it should be attacked here. Options include setting easily self-verifiable thresholds, like "Collect 4000 quarried stones" or "Build 6 new homes in this area", or emulating more consistent communication by distributing some smaller goals and maintaining the "order" outside of any single character, or completely planning out a structure or infrastructure layout and letting participants select where they contribute, or by applying a single goal to a shared group goal such that the group moves to (x,y) while each member just knows they want to keep with the group.
This is important. Civic advances are necessary for most building abilities beyond dwellings. Even a military watchtower or corporate depot needs to be associated with a civic center. Services like fire protection, policing, or banks are enhanced with good structures in which to maintain employees, resources, or machines. City buildings include infrastructure and defence as well - walls, gatehouses, and roads.
As leadership complicates in larger and larger groups within a city, it is not as simple to assign roles as within the military path where goals are less diverse. The leader may need to defer decisions to others, even the members of the city (like democracy). Zoning, spending, taxes, exchange rates, curfews, subsidies, public schools, public housing - all these would be easily controllable, but challenging to define.
Group goal-attainment has hopefully been worked out already, but real decision-making has not been. If a civic group is following a democratic model and needs to decide what sort of things to do next, how is this done? Will a leader propose a few options between which characters (many who may be AI controlled) can select an option based on perceived support by close relations, most likely personal benefit, or an evaluation of community vs. personal good determined by individual personality profiles?
It makes sense that an easily portable representation of real goods will be developed to simplify exchanges. In the military, a salary may include credits that can be spent in shops or towns where protection is given. Groups of merchants may agree on a unified script to simplify and encourage shopping within their ecosystem. Most likely, the most stable currencies will be backed by towns that exchange money for goods and services needed for infrastructure and development.
All occupations will be a function of having enough skill and experience to have specialized in something, but certain occupations will only be available once diverse conditions are met. A furniture maker may collaborate with a musician to create musical instruments of increasing quality and complexity. A farmer may build skills in mathematics to unlock deep scientific paths. A skilled crafter may require skills in art or poetry to become a designer or an inventor.
Test available resources and their availability via average harvesting rates as a basis for the most stable exchange rates. Run AI models to see if these stabilize, fluctuate regularly, or spin out of control.
Already alluded to, but likely unimplemented completely, is the idea that a character starting out will have a view of the world that lacks diversity and discernment. All trees look the same, all turf is grass, all sticks are the same. As experience, knowledge, and skills grow, she will notice that some sticks are light and flexible while others are rigid and dense, suited for different purposes. Not only will this be available in crafting, but the visual cues should also be available.
Most certainly for crafting and trading, the UI will need to adjust as knowledge grows. Each piece of material
will have a different quality of level of suitableness for construction or crafting. The ability to stack
materials with like is limited to those of similar character, but the more known about flower seeds
the more
a farmer may want to eat sunflower seeds and sow marigold seeds for pest control.
- Characters
- Establish any variation in generated player characters
- Describe character specific behaviors
- Initialize starting traits, levels, and skills
- Organize inventory control
- Draw methods for priorities, motivation, and growth
- Design personality and reputation
- World
- Describe the most simple playable world map type
- Catalog possible surfaces, soils, and features
- Identify methods for calculation of distance, movement, pathfinding
- Determine types of attachment to world (soil, plant, debris, animals)
- Active Entities
- Catalog types (plants, animals, characters)
- Outline shared methods and behaviors
- Generalize traits, levels, and skills
- Define patterns of growth for each class
- Consider meaningful real-life examples of civilization development (like domestication of animals) and determine whether it can be made relevant inexpensively
- Establish inventory and internal diversity
- Consider iconography for sets and subsets
- Items
- Describe general types and discovery methods
- Determine interaction with inventory system
- Evaluate existing methods for crafting
- Establish basic traits for all crafted items (quality, condition)
- Clear divergences for special types of items
- Attempt to align crafting with skill/knowledge tree
- Structures
- Create classes for crafted items which impose on the map
- Determine requirements for interactions between structures (outbuildings)
- Decide minimum requirements for building any structure
- Construct rules for dilapidation, hardness during attack, possible disasters (fire), or other degradation
- Extend to vehicles subset
- Social Engagement (in and out of game)
- Evaluate possible in-game communication (message, chat, open speaking, menu-driven)
- Describe reputation system and connect to characters
- List possible social gaming connections, sharing, auto-posting
- Wander down the linguistic path of language acquisition
- Programming
- Discover existing AI system to manage goals and behaviors
- Evaluate possibility of staging style of map/tiles or other game feature as development progresses
- Determine initial development environment and game engine
- Consider a persistent world with constant AI and users who may have any number of avatars active in the world at once
- Mechanics
- Describe the process of exchanging items between characters
- Draw out fighting scenarios: combat, hunting, predating
- Design system for collecting character opinions/commitments for elections, consensus, collaboration
- Explain how to plan for a character to enqueue activities, schedule daily actions, or set short-term priorities for building a structure or completing a large task (build house until hungry, collect seeds until > 200, work in the shop every morning at 8)
- Consider machine-learned behaviors or at least adjustments to priorities based on the user's interventions
- Interactions
- Make first pass for HUD, possible character views
- Describe movement, combat, gathering, crafting, interaction controls
- Explain developing worldview, changes to art as skills are gained
- Evaluate game experiences as automated, fully coached, and one-sided
- Art
- Determine general feel of game menus and characterizations
- Begin massive list of needed icons for interactions and classifications
- Identify some solid concept art for further consideration
- Environment
- Review similar games built with the same engine
- Review survival-type games, persistent avatar simulation games, and crafting games
- Compare platforms, developer, and design process