Gastropoda is a snail breeding and racing simulation written in PHP that I've been wanting to make for about 10 years. It's had several false starts over the years and this latest iteration began toward the beginning of last year. So far it's the longest surviving attempt. I hope that I have enough traction now to stick with it.
I started off making this in vanilla PHP and a few months ago transitioned to Laravel. I haven't used PHP much before. In my hobby projects I've preferred JS and at work it's mostly C#. But I always envisioned this as a PHP-based project, since the idea's conception, and that's how it's stayed (I even wrote a blog post about the choice).
I won't write too much of an introduction here because I've already explained it so much in different places. So here I'll copy and paste the general description of the project from my personal blog:
[indent=1]The simulation is based on real life and I'd like to make it as realistic as possible. It's not meant to be fun or a game (I imagine to most people this is going to be pretty boring and tedious, actually). However, I'm no snail expert or biologist, so I spend time hunting down online articles and research papers about snail life and nutritional requirements. Where I can't find the necessary information I base a feature on the requirements of humans until something better is found. For example, I found sources about recommended intake of some vitamins specific to snails, but not others. Those I didn't find any snail-specific information for I based on human vitamin requirements. Of course this is hugely wrong, but it lets me implement the features I need and then go back and tweak the values when I have more accurate information. If a planned feature can't realistically take place in the real world, it may need to be tweaked.
Here's an overview of what's currently implemented in one form or another:
- User registration/login system
- Catching of wild snails
- Snail breeding
- Fertility spray to allow snails to breed within sprayed jars
- Snail decision making via snail brain (includes feeding, mating, biting so far)
- Snail recognition and memories
- Virtual currency
- Virtual store
- Purchasing/installing jars
- Purchasing food
- Scheduled food delivery service
- Drag/drop snails and items to reposition within jar
- Live view of snail positions on jar profile pages via Latchet
- Snail racing
- User race creation
- Basic tutorial
- Snail scouting (get exact speed, endurance, macro requirements, etc)
- Snail relationship testing
- Two food items (macros matching real life information)
Gastropoda priorities for this year:
- Keep refining brain
- Flesh out racing, lots to do here
- Improve the actual site
- Snail breeding and selling between users
- Get deployment strategy sorted out (latest deployment woes coming up in a future post).
The website is super basic and crappy looking right now. Here are a few screenshots:
I blog pretty regularly about the progress and commits are autotweeted at @gastropodasim. I'll probably cross-post some of my existing blog posts here (that are still relevant to the project) and cross post the new ones.