symbiants VS egui

Compare symbiants vs egui and see what are their differences.

egui

egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native (by emilk)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
symbiants egui
19 204
199 20,055
- -
9.7 9.8
2 months ago 4 days ago
Rust Rust
Apache License 2.0 MIT OR Apache-2.0.
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

symbiants

Posts with mentions or reviews of symbiants. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-26.
  • 3 years of fulltime Rust game development, and why we're leaving Rust behind
    21 projects | news.ycombinator.com | 26 Apr 2024
    I've experienced a lot of these concerns while building https://github.com/MeoMix/symbiants

    I have a simple question that maybe someone smarter than me can answer confidently:

    If I want to build something akin to Dwarf Fortress (in terms of simulation complexity) as a browser-first experience - what stack should I choose?

    Originally, I prototyped something out using React, PixiJS, and ReactPixi (https://github.com/MeoMix/antfarm). The two main issues I ran into were the performance of React's reconciler processing tens of thousands of entities when most weren't changing (despite heavy memoization) and GC lurching due to excess object allocations. My takeaway was that if I wanted to continue writing in JS/TS that I would need to write non-idiomatic code to avoid excess allocations and abandon React. This approach would result in me effectively creating my own engine to manage state.

    I decided to not go that direction. I chose Rust because no GC is a language feature (especially good since GCs in WASM are heavy) and I chose Bevy because it seemed like a fairly structured way to mutate a large amount of code.

    Progress has been slow for a lot of the reasons listed in this article. I've written a lot of this off to WASM being a new frontier for game dev and rationalized it by noting there's not a lot of complex simulation games running in browser (that I'm aware of). It's not clear to me if that's actually true, though.

  • Progress Quest: the original idle game
    4 projects | news.ycombinator.com | 24 Apr 2024
    I'm (slowly) building an ~idle game with a twist! Here's the code: https://github.com/MeoMix/symbiants

    The idea is you're given a simulation of an ant colony that grows autonomously 24/7. You define a window of time each day in which you're allowed to make adjustments to the colony's strategy to help them live more optimally. This is paired with mental health exercises like breathwork and journaling.

    The intent is to get people being more consistent with self-care by being motivated to care for a digital pet, but to not make it such an involved endeavor as to be time consuming like a traditional game.

    I'm going to pair with some chill lo-fi music so you can hang out and watch your ants do their thing when you need a moment to feel less frazzled while at your desk job :)

    Still a long long ways to go before I have anything really tangible and useful, but feel free to follow along with the code or ask questions!

  • Revy – proof-of-concept time-travel debugger for the Bevy game engine
    3 projects | news.ycombinator.com | 4 Mar 2024
    What's the performance of this like? It seems really appealing. I would love to be able to use it to debug https://github.com/MeoMix/symbiants because I use RNG heavily to add variance to the world and that, combined with indeterminate execution order of systems, can really leave me scratching my head sometimes.

    However, I'm building using a tilemap that's 144x144. So I've got ~21000 entities to log. It seems impractical to snapshot the world every tick, but maybe if it were able to snapshot deltas or something?

  • Ants Geopolitics
    2 projects | news.ycombinator.com | 27 Feb 2024
    Love this book! I wrote Adrian after reading it and asked for permission to build a game inspired by it and received his blessing (https://i.imgur.com/JWwNMR4.png) :)

    (slight spoilers, FYI)

    https://ant.care/ https://github.com/MeoMix/symbiants It's my first game, so it's going pretty slowly, but the goal is to have the player fill the role of the Eliza/Kern hybrid. You send commands to your pet ant colony once-per-day when orbiting the planet gives you line-of-sight. The act of caring for the pet gives you a renewed sense of purpose and a reason to care for yourself and is a mechanism for helping undue to the insanity.

    I'm still trying to figure out exactly what the game mechanics will look like (if you have suggestions, I'm all ears!), but I took a stab at some creative writing to build up the plot a bit more:

    https://docs.google.com/document/d/17ACH1XLCn7hkKz2dhuL1c_nx...

    https://docs.google.com/document/d/1wET9mWaYae_GMqbm8n37UoNF...

    ---

    Regarding the interview, I would love to know more about his process for deciding which aspects of an animal's ecology he's going to represent in his fiction. Tynan Sylvester (creator of RimWorld, a popular video game) wrote this article called The Simulation Dream, https://www.gamedeveloper.com/design/the-simulation-dream, and I think about it a lottt. One concept Tynan stresses for creating a rich and engaging story is to "Choose the minimum representation that supports the kinds of stories you want to generate." I would love to know why Adrian chose to give ants/spiders/(octopi..) the behaviors they have throughout his series and, if he considered other behaviors that he ultimately omitted, what his thought process was for ruling those other behaviors out.

  • What's something difficult programmers make look easy?
    1 project | news.ycombinator.com | 19 Jan 2024
    My grid right now is 144x144, so about 20,000 tiles. Things were working OK in iOS Safari when just using colors to draw the tiles, but the browser started crashing when I tried upgrading to image sprites.

    Turns out the trick is to not submit each individual tile to the GPU. You have to roll them up into larger, chunked meshes and submit those meshes to lessen the impact.

    I'm sure this is game dev 101, but I've never been close enough to the GPU to have to actually care about this sort of stuff.

    I wasn't trying to imply that I was making an AAA game. Just that, from the outside, it seemed like the difficulty would be in designing game mechanics, making something actually fun, marketing, etc., but in reality there's an ever-steepening technical learning curve when you want to deliver nicer looking stuff. When I look at how many days I've spent working on my game, and how terrible it looks, and then I look at something like Cyberpunk 2077... I struggle to conceive how we as humans were able to create those levels of graphics in a timeframe that allows for the game to be profitable.

    https://github.com/MeoMix/symbiants btw. Feel free to browse the code (or come volunteer! I've got a few other HNers tinkering alongside me these days)

  • Immediate Mode GUI Programming
    15 projects | news.ycombinator.com | 15 Jan 2024
    I cannot recommend immediate mode GUI programming based on the limitations I've experienced working with egui.

    egui does not support putting two widgets in the center of the screen: https://github.com/emilk/egui/issues/3211

    It's really easy to get started with immediate mode, it's really easy to bust out some UI, but the second you start trying to involve dynamically resized context and responsive layouts -- abandon all hope. The fact it has to calculate everything in a single pass makes these things hard/impossible.

    ... that said, I'm still using it for https://ant.care/ (https://github.com/MeoMix/symbiants) because it's the best thing I've found. I'm crossing my fingers that Bevy's UI story (or Kayak https://github.com/StarArawn/kayak_ui) become significantly more fleshed out sooner rather than later. Bevy 0.13 should have lots more in this area though (https://github.com/bevyengine/bevy/discussions/9538)

  • A minimal working Rust / SDL2 / WASM browser game
    6 projects | news.ycombinator.com | 15 Jan 2024
    https://github.com/MeoMix/symbiants Here's my open source game written in Rust and compiled to WASM if you want more reading material :) It uses Bevy not SDL2, though.
  • Ask HN: Who else is working on nothing?
    1 project | news.ycombinator.com | 13 Jan 2024
    I'm working on myself through my work, if that counts?

    I'm a staff-level SWE. I took the last year off of paid employment because I felt anxious and stressed even though everything was, objectively, fine. I had some poor health habits that I was staunchly ignoring and a project I was deeply vested in at my job was ripped out from under me. The meaning I ascribed to that project was giving my life purpose and, with that suddenly missing, and with my health in less than ideal shape, my outlook on the world became dismal.

    I took the year off because I wanted to try and rediscover that curiosity you mentioned having lost. I used to LOVE programming. I loved feeling like a techno-wizard making pixels bend to my will. What happened? Why did I now feel anxious and uncomfortable staring at a screen while trying to think critically? I think I got a little too lost in the sauce of the startup world and it became clear that it would take some "me time" to rebalance.

    So, from some perspectives, I've been doing nothing for a while. No significant other, no money-making job, not travelling the world or living life to the fullest... but having a project that feels meaningful to me, whose existence is moderately under my control, and that I have sufficient time and energy to engage with -- that's giving me most of what I felt was missing. Well, that and dropping a bunch of widely understood bad habits and picking up some better ones.

    I want to see myself as a more consistent and reliable person. In my 20s, I had infinite energy. In my 30s, I'm finding that's only true if I keep myself away from alcohol and drugs, exercise constantly, connect with people, and, most importantly, be mindful of my physical and emotional state. If I start slipping into a rut, and don't notice it and nip it in the butt, suddenly it can take over my whole demeanor and disrupt a lot of good things I had going. A couple of days of bad sleep, coupled with a desire to keep pushing forward, can cause me to regress into drinking a bunch of caffeine. The caffeine will mess with my anxiety and mood and I'll be more tempted by unhealthy food and marijuana. These decisions start to affect my energy and makes it more challenging to avoid caffeine... and suddenly I'm in a destructive cycle where I have less energy each day and hide from myself. All these issues were present in my 20s, but they never really seemed to be a hindrance. I could just roll with the punches and remain proud of my accomplishments. Now, in my mid-thirties, I find myself frustrated (yet a little excited) to try and figure out how to keep myself running like a well-oiled machine. I want to remain proud of my consistent growth into my later years and it's going to require getting better at working with myself.

    That said, I know me. I don't do well without a project that I can see myself in. It's what makes getting up in the morning worthwhile. I think it has to do with having an avoidant/dismissive emotional attachment style, or something to that effect. So, if someone were to ask me if I'm working on nothing then I guess I would always want to confidently say, "No. I am working on something, but at my own pace and with poorly-defined goals."

    So, in an effort to work on myself, I've given myself a project whose goal is to help me, and others, be more consistent and present. I must admit I've taken the most circuitous route possible to achieving this effect as I'm ostensibly creating a digital ant farm which functions as a mental health companion (https://github.com/MeoMix/symbiants). The goal is to create a pet whose growth fluctuates with its owners' consistency. I want to see my ant colony thrive if I've consistently been checking in on myself. When I am feeling good, I want to see my ants take on new challenges, expand their territory, stress themselves out trying to maintain their growth, build habituated pathways to foods in an attempt to scale. And then, when I invariably go through an emotional downturn, I want to see my ants yield some of their land back to the fog-of-war, hunker down and weather the storm of inconsistent check-ins and less good habits undermining my personal energy. And then, when I've sated my desire for self-destruction and re-commit to being dedicated to my goals, I want to see my ants rediscover forgotten pathways, regain their ground quickly, and act as a reminder that my emotional downturns don't invalidate all the growth I'd done prior. I want to have this pseudo-living creature that serves as a visual proxy for how well I feel I'm doing. I want this because the job to be done gives me purpose in my day-to-day and because the end result will help keep me aware of how I'm doing, how I was doing, and will provide unique motivation to show up, curious about what my ants have been up to, day after day.

    If anyone feels similarly and could see themselves finding purpose through this effort - feel free to reach out. I would be happy to talk to you and help you find a home in the project. There's Discord and email in my bio. It's my first game, the scope is way too large, the code I've written is bad, and I have no strategy for monetization. You'll very likely become a worse Rust developer by associating with me :) ... but I know I want to create something that helps motivate people to continue showing up for themselves and I'm confident there are others out there who either feel similarly, or feel lost and could use help finding themselves with the right project.

    I've written a lot! Sorry for the meandering thoughts and the weird upsell of a project in a thread about working on nothing... but it all seemed relevant to me while the thoughts were flowing. Cheers :)

  • Ask HN: Looking for a project to volunteer on? (January 2024)
    10 projects | news.ycombinator.com | 4 Jan 2024
    SEEKING VOLUNTEERS

    Project Name: Symbiants

    Website: https://ant.care/

    GitHub: https://github.com/MeoMix/symbiants

    Languages: Rust (Bevy), WebGPU, WASM, JS

    Project Description:

    Symbiants is a digital ant farm with a mental health twist. The goal is to make a cute, real-time ant colony sim (think SimAnt + Tamagotchi), get players to form a daily routine around feeding and caring for their ants, and incorporate basic mental health activities (guided breathing, positivity journaling, etc.) into the gameplay.

    The player gets a comfy, cozy, digital environment with a pet that grows in real-time. Each morning, they check on their ants as they get online, do a quick self-check-in, and see visual reminders of their consistency and its effects on their pet's growth.

    --

    This is my first attempt at building a video game. It's been a lot of fun so far, but, unsurprisingly, is a lot of work. I had some cash saved up and took the last year off of work. In this time, I built a prototype in React, then taught myself Rust/Bevy, and began chipping away at this project. I've made some progress, but I don't feel this vision is anywhere near complete. I would love to have more people to work with, discuss ideas, and learn the finer points of Rust/WebGPU development.

    To me, this is an especially important project because I see a lot of people who love to be terminally online, work from home, play video games to zone out after work, and sometimes fall into a rut where days fly by without sufficient self-care. How to reach those people? It can be difficult to broach the subject as mental health is fairly taboo. I am curious to see if a video game can be an effective means of starting a conversation.

  • Show HN: Sit
    1 project | news.ycombinator.com | 4 Jan 2024
    Trying to use technology to get people to spend some time meditating/breathing is fun :) I especially the gong.

    My WIP attempt at achieving something similar: https://ant.care/

    There's a button "breathe for food" that'll trigger a similar effect as your website. The difference is that the user is given a digital reward ("food") which they use to feed their digital ant colony.

    I'm now trying to add intelligent behaviors to the ant colony in an attempt to make it seem alive and compelling enough for users to repeatedly engage with the breathwork exercises.

    Good luck with your project! :)

egui

Posts with mentions or reviews of egui. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-05-02.
  • Macroquad egui DevTools: Rust Game Debugging UI
    3 projects | dev.to | 2 May 2024
    Probably the hardest part, if you are new to egui, is to work out how to display the widgets you want. The egui demo site is quite handy in this regard. It features the egui widgets, and has GitHub links to the Rust code used to make each widget. This will help you replicate them in your own project.
  • Egui 0.27 – easy-to-use immediate mode GUI for Rust
    3 projects | news.ycombinator.com | 27 Mar 2024
    Thanks for the feedback!

    It is definitely fixable. Take a look at https://github.com/emilk/egui/issues/996 for some examples of how others have styled egui, or try out https://app.rerun.io/

    Styling is done with `ctx.set_style`, but creating a nice style isn't very easy at the moment (basically you'll have to tweak constants in code, and then recompile). I'm working on making it easier as we speak though!

  • Rust for Embedded Systems: Current State, Challenges and Open Problems
    4 projects | news.ycombinator.com | 4 Mar 2024
    Nothing is wrong with that, it’s rather a workaround, ultimately I am trying to have one language only including the UI too (been playing with egui),so I don’t have to use JavaScript.

    https://github.com/emilk/egui

  • We sped up time series by 20-30x
    1 project | news.ycombinator.com | 14 Feb 2024
    FWIW, I opened an issue: https://github.com/emilk/egui/issues/4046
  • Immediate Mode GUI Programming
    15 projects | news.ycombinator.com | 15 Jan 2024
    That's fair. I don't have experience with other immediate mode libraries. It's good to hear that it's not an intrinsic limitation

    https://github.com/emilk/egui?tab=readme-ov-file#layout Here the author discusses the issue directly. They note that there are solutions to the issue, but that they all come with (in their opinion) significant drawbacks.

    For my use case, if I have to do a lot of manual work to achieve what I consider behavior that should be handled by the framework, then I don't find that compelling and am inclined to use a retained mode implementation.

  • Egui: Immediate mode GUI in Rust on web and native
    1 project | news.ycombinator.com | 30 Dec 2023
  • Ask HN: What software do you use for IoT devices and server
    1 project | news.ycombinator.com | 25 Dec 2023
    It totally depends on what IoT and what purpose, for example:

    IIoT/PLC/industrial automation: most likely you will have to use vendors software, most if the time it’s crap, and a mix of several tech stacks like MSSQL/C#/C++

    Sensors and such: depends on what are you building or using the sensors: the protocol mostly is MQTT, and if you would store it in a db postrrsql, elasticsearch, surreldb, influxdb among the most I used.

    Robots/drones: on what I build, I use protobuf/grpc for performance and cross-language and direct linux socket io, and where needed websocket but mostly for any web interaction rather than the protocol itself. The tech stack for those, the embedded side is up to you or sometimes based on the sdk you are dealing with, the backend/frontend however, I used to use go/nodejs and for frontend svelte or a simple js library/framework, but recently I’m shifting and redoing everything in rust, embedded, backend and frontend (using something like egui https://github.com/emilk/egui).

    When it comes to IoT, I try as much as possible to stay away from python unless you are scripting something else done in go/c++/rust, look at python as a glorified bash script, it’s useful for that or other data science work, but not in IoT.

    Same goes with other tech you mentioned, it might suit one case but not another, for example, MQTT is good for sensor IoT type, but good luck controlling a drone with it, mongodb might be great to store a fleet of robots with its access credentials and such, but if you try to use it to store realtime data, it might not perform as expected, and so on.

  • GUI library for fast prototyping
    3 projects | /r/rust | 6 Dec 2023
    AFAIK the Rust equivalent to C++'s Dear ImGui is egui.
  • Rerun 0.9 – a framework for visualizing streams of multimodal data
    4 projects | news.ycombinator.com | 5 Oct 2023
    The creator of Rerun (Emil Ernerfeldt) also created egui [1], an immediate GUI library for Rust. The library is similar to Dear ImGui but it is written in Rust and can be used for desktop and web apps (compiles to WASM and uses WebGL, demo [2]). Desktop apps can target OpenGL (does not display correct colors on macOS, does not work in VirtualBox on Windows) or WGPU (uses native APIs for each platform, works without any problems, but the binary is a big larger).

    [1] https://github.com/emilk/egui

  • Textual Web: TUIs for the Web
    9 projects | news.ycombinator.com | 7 Sep 2023
    > [...] you can build UIs that are snappy and keyboard driven.

    That's not an advantage that is exclusive to TUIs; after all, you're running your TUI inside a graphical application that emulates a terminal. (Unless you're rocking an actual VT102, in which case I bow down to you.)

    In fact there's an entire class of applications that are extremely snappy and keyboard driven, by their very nature: games.

    Some people have taken to writing GUI apps like you'd write a game, and the effects range from OK to fantastic. Check out Lagrange (https://gmi.skyjake.fi/lagrange/), AppManager (https://tildegit.org/solene/AppManager), Dear ImGUI (https://github.com/ocornut/imgui), egui (https://github.com/emilk/egui), and many others.

What are some alternatives?

When comparing symbiants and egui you can also consider the following projects:

emdash - 📚🧙‍♂️ Wisdom indexer — use AI to organize text snippets so you can actually remember & learn from what you read

iced - A cross-platform GUI library for Rust, inspired by Elm

daptin - Daptin - Backend As A Service - GraphQL/JSON-API Headless CMS

imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

NoSQL - A NoSQL implementation DBMS using LSM Trees

tauri - Build smaller, faster, and more secure desktop applications with a web frontend.

awesome-bevy - A collection of Bevy assets, plugins, learning resources, and apps made by the community

druid - A data-first Rust-native UI design toolkit.

flecs - A fast entity component system (ECS) for C & C++

slint - Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.

not_snake_game - A snake-inspired game made in Rust using the Bevy game engine.

Slint - Slint is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. We support multiple programming languages, such as Rust, C++ or JavaScript. [Moved to: https://github.com/slint-ui/slint]