Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: Symbiants – digital ant farm / mental health companion (ant.care)
23 points by SeanAnderson on Nov 1, 2023 | hide | past | favorite | 12 comments
Hello HN! Hope you are well.

I'm creating my first video game. It's nowhere near complete, but I am eager for feedback, so here I am!

My game is a digital ant farm. You should think SimAnt + Tamagotchi. Here's a picture: https://i.imgur.com/dIJaraG.png

It's written in Rust/Bevy, compiled to WASM, and is open-source, https://github.com/MeoMix/symbiants. Fair warning, though, this is my first time writing in Rust/Bevy.

My goal is to give people cute ants that do cute ant stuff 24/7, ask people to look after their ants and to feed them once-per-day, and then deny people the ability to provide ant care unless they engage in mental health exercises.

I started working on this project for a few reasons:

1) I've been a dev for ~15 years, but, on a personal level, I have very little to show for it. I've worked on multiple, multi-year projects which were subsequently shut down by lawyers and, frankly, I'm tired of practicing non-attachment with my work. So, I'm creating this as a personal affirmation.

2) I enjoy my fully-remote, WFH lifestyle, but I find myself more isolated than ever. The lack of disruption allows for some serious focus. Sometimes I get so focused on a project that days slip by without me practicing self-care, and I'll keep going until my output wanes due to lack of healthy behaviors. I thought having a digital companion who is interested in ensuring I remain consistent in caring for myself, by expecting consistent care for itself, would be effective and beneficial.

3) Ants are sweet. Obviously there should be more ant sims. :)

Currently, "Sandbox Mode" is all that exists. This mode provides the user with developer tools and allows them to treat the world like an unbounded playground. I use this mode for prototyping. In the future, I'll combine mechanics from Sandbox Mode with cutscenes to create a more restrictive/compelling Story Mode.

Sandbox Mode includes the following features:

* Queen Ant spawns, searches for a nesting spot, and begins to dig out a nest by hauling sand to the surface.

* Queen Ant establishes a nest and begins rearing worker ants once per hour.

* Worker Ants haul sand to the surface and emergently expand the nest with tunnels/chambers when they feel cramped.

* Ants get hungry and starve if not fed every 24 hours.

* Sand-fall physics applies to the environment. Food, sand tumble down surfaces.

* Basic day/night cycle. Sky background lightens/darkens with time of day.

* Option to link in-game time to real-world time and to sync sunrise/sunset.

* Ants go to sleep at night.

* Ants emote when sleeping and eating food.

* User Actions allow user to spawn sand, dirt, food, and ants. You can kill ants, despawn ants, despawn food, and select entities, too.

* Settings allow user to affect simulation speed (Sandbox Mode only), ant color, etc.

* Breathwork Prompt encourages user to meditate on a loose schedule in exchange for feeding ants.

Today, I am working on adding eggs to the birthing lifecycle and then allowing ants to carry eggs as well as other, dead ants. :)

If you'd like to read more about my stretch goals for Story Mode, feel free to peruse my ramblings. The high-level goal is to create a homage to Children of Time by Adrian Tchaikovsky, https://docs.google.com/document/d/17ACH1XLCn7hkKz2dhuL1c_nx...

If you'd like to talk more directly - my email is in my profile or you can reach me through Discord - https://discord.gg/Qugp2Es4

So, what do you think?

Good idea with poor execution?

Love everything and just want to see more?

Feel that I'm just throwing away time with a non-viable starter?

Want to help but don't know where to start?

Let me hear it! Thanks for your time.



I like the concept and I'm a big fan of it being a mental health companion - a bit like that forest app that went viral (sorry cant remember the name).

But I do think that the mechanics linking the ant colony and the player's mental health need to be designed in a "healthy" manner.

If breath work is what you want to encourage, maybe best to link that to the colony's well-being without ants dying.. Not sure how it would work but just highlighting that it won't scale as the colony will need more and more food than the player is willing to breath through and that might be frustrating/demoralising.

All in all, I think there is definitely something here! It's quite mesmerising to watch.

Another thing I think can be improved: the controls. There's too many options. Just start with really good defaults and maybe only expose a fast forward slider that's a simple 2x, 5x, 10x time speed up.

I hope this helps and well done!


https://www.forestapp.cc/ This one? :) It's actually called Forest, so you did remember the name, hah. I agree, it is similar. I feel it is also very similar to Finch, https://finchcare.com/, but they really ramp up the cute/support where I'm trying to bring more Dwarf Fortress vibes to the pet part.

Yeah, this is definitely a very blunt MVP. I have some loftier ideas for how to engage the user, but they take a lot more programming, so I just kinda crammed the goals together so I could start showing people and speaking more clearly about the end vision.

I agree that ants the player feels bonded too should not die. I think there's room for having ants of varying sizes, and maybe just the large ones being named, and allow the small ones to be more like fodder. And yeah, I need to figure out what my goal number of ants is for the colony. I'm treating performance like I want to have thousands of ants, but I don't feel like users will be able to bond to more than a handful.

Understood on the controls. I'll work on improving the UX a bit.

Do you think people would accept the "This website wants to know your location?" if I made the lat/long stuff automatic by using geolocation apis? I feel like those inputs add a lot of visual weight, and it's not very clear what the intent is behind them...but the end result of having in-game day/time linked with your IRL day/time I find compelling.


It is the just Forest haha.

Yeah, having a target number of ants or varying sizes could be interesting but I don't want small ants dying either :'(

Agreed in game time is nice to match up to real life. But, do you really need detailed location data though? You can get rough location/timezone in a much less intrusive way using IP. You could even get timezone just in JS on the client side even. That should be enough to match up time (not sunset sunrise but better than nothing and less input from user)


Yeah, fair, ants shouldn't die. I will think on it. Maybe they just go low on energy and hibernate. :)

Yeah. All of this code is written in Rust and running in WASM. I found it challenging to interface async JS callbacks with my Rust code. After I spent a bit of time trying to get what I thought the easiest route was to work (geolocation API) and failed on a simple callback, I decided to just throw in the lat/long inputs and see if people liked the feature at all. I agree that the best solution is one where the user doesn't even have to think about this feature


Afraid I don't have much in the way of experience with Rust or WASM so can't help there.

Maybe instead of lat/long, you expose a dropdown of popular cities? Again not bulletproof but does make the user's life easier


You should look for help or comments on the incremental_games subreddit https://www.reddit.com/r/incremental_games/ !

Besides you can also look at galaxy.click website, to host your game and get nice features likes votes and comments.

Anyway, nice work and keep it up!


Sure, I'll give that subreddit a try. I did outreach to r/playmygame yesterday and received a bit of feedback. I haven't found Reddit to be as useful of a feedback tool lately, though. I used to market products to it incessantly, but in the past few years I've stopped feeling like I relate to the audience on there as much.


Very cool :)


It's a nice idea but this:

> Ants get hungry and starve if not fed every 24 hours.

is not great for something related to improve mental health


Yeah, that's totally fair and has been brought up to me before. I agree, but I also think it's important for users to feel like they have stake in the game. Do you have suggestions for how to better walk that line?

Also, on a technical level, this is an idle sim which runs client-side. I don't have the ability to simulate an arbitrary amount of in-game time in a fixed amount of real-life time. So, while the intent is to have the ants get hungry, the simulation pauses after 24 hours of away time. So, in practice, the ants stop growing rather than starve unless you check on them repeatedly and also don't take the time to feed them.


Imma go ahead and agree altho maybe people wouldn't mind if there was a post-dated way to make sure there's a food reserve that the antz "know" how to tap into but that is maybe not preferential for their predominant nutritional/existential needs and appetites.

This way, people have an incentive to "tend to their garden", even if/while depressed, but there's not the worse case scenario where their lack of tending to it results in the mass death of all their new friends

Edit: win/win/win/win (you+player+digital ants+society

Edit: like how in Animal Crossing, weeds buildup but you can like pay to clean it up automagically.


What's this—a digital farm and mental health companion—for annntz?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: