I figured I’d put together a list of the main features I need to finish for A Game of Snails. If anything, it’ll help me gather my thoughts and track my progress better as well as helping me figure out what to work on next. What I should be doing is compiling specs properly for this, but I’ve been too preoccupied with actually working on the thing to keep up with the documentation. Not to mention this game has been in my head for so long (7 years, but arguably longer) and I’ve thought and rethought pretty much every single one of these so much that I feel like I know what it needs to be inside and out. Let’s hope I don’t get lost.
(Pardon the screwed up font sizing on the sub-bullets…I’ve got to fix my CSS)
Everything in green is in a functional state. Everything red is on the to do list.
Database
-
User registration
-
User login
-
Snail saving
-
Snail loading after login
-
Jar saving and loading
-
Race saving and loading [MAY 19 2013]
Breeding
-
Calculating orientation (who will be male and who will be female for the specific pairing
-
Sending and retreiving snails to/from the breeding jar
-
Snail matching in breeding jar
-
Genetic traits. Picking dominant/recessive genes from a virtual Punnett square based on a newborn snail’s parents (“stag” and “doe” for the purpose of the game)
-
Shell color
-
Shell pattern shape
-
Shell pattern color
-
Eye color
-
Weight
-
Endurance
-
Speed
-
TODO: Aggression
-
-
Generate visual representation of snail pattern shapes and various color traits dynamically to make each snail look unique
-
Calculating max scale and size based on weight attribute
-
Visually growing newborn snail to adult size over time
-
TODO: Family tree chart
-
TODO: Breeding with other players’ snails
-
TODO: Implement snail branding based on breeder
-
TODO: Implement libido attribute
Snails
-
Snails crawl around their jar based on their speed
-
Snails can be clicked on to open stats
-
Snails can be named
-
TODO: Ageing
-
TODO: Minimum and maximum breeding age
-
TODO: Death age
-
TODO: Attribute decrease with ageing
-
TODO: Hunger attribute
-
TODO: Feeding (dropping food into jar. Snails fight over food depending on aggression attribute)
-
TODO: Implement health attribute
-
TODO: Player can train snails to improve their stats
-
Racing
-
Player can open race list panel screen
-
Player can create a race [MAY 19 2013]
-
Race list refreshes as races are created [MAY 19 2013]
-
Player can click on race name and view details (number of entrants, entrants required, names of entrants) [MAY 19 2013]
-
TODO: Player can view more details about entrants
-
Player can choose to enter one of their snails into a race [MAY 19 2013]
-
Race runs when required number of snails are entered [MAY 19 2013]
-
TODO: Calculate race winner
-
TODO: Record race results for each snail
-
TODO: Award trophies/rewards to winners
-
TODO: Implement optional entry fee for races
-
TODO: Player can withdraw snail from race before it starts
-
TODO: Implement visual race replay
-
TODO: Snails can act aggressive toward each other, which can help or hinder them in a race
-
TODO: Snails can get distracted and mate during a race, resulting in unintended pregnancy
World
-
TODO: Implement virtual currency
-
TODO: Implement item store
-
TODO: Implement stud fees for breeding between players
I may create individual posts to elaborate further on things like breeding, racing, etc. Looking at it now I have no idea if I’ll be able to get enough of these done to release anything snail-related this month for 1GAM. It may be another “cheat” for me - porting an older game to the Chrome Web Store. Then again, I have been curious about how a port of an ImpactJS game would go…