Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality
Anya is LIVE right now
FREE
Free to watch • No registration required • HD streaming
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality
Anya is LIVE right now
FREE
Free to watch • No registration required • HD streaming
For now you can just click the button if you need to ward off anxiety or do stimming to help you concentrate on something.
Good grief it took a lot of metaphorical birth pains but I have a solid foundation to continue building a web/android/desktop application with ADHD tools and stimming minigames.
Sometimes friends ask me what it's like to be a developer. A bit of that under the cut.
So you want to learn Bevy because the ECS concept (doesn't matter what it is) sounds fascinating and aligns perfectly with how you want to write data-oriented applications. So you read the official documentation which is 2.5 pages and... that's it? Realize that the team is not prioritizing this kind of documentation. So you fumble for like a year or two and just watch tutorials here and there. Long covid and migraines and ADHD means you can't really concentrate.
Anyway fast forward to two weeks ago. You find a template for a project that should work on android. Cool! It works... somewhat. Buttons are flickering like crazy.
So you duckduckgo around, you find that it's a known bug that hasn't been solved in year and a half, so you try to rethink your design around not needing the traditional UI. So you try egui. That also flickers. So you try textured Mesh2d button. That also flickers. So you try just sprites. That also flickers but they didn't use to.
So you turn things on and off in combinations until you find that the rainbow background that you made months ago is causing the issue. When you remove it, bevy_ui, egui and fonts still flicker but buttons don't.
OK so you need text though. So you look up a bitmap atlas font crate, which is, a 3rd party library that allows you to write text that's composed on sprites of individual letters that are together on one "sheet" (atlas). But the crate is updated only to bevy 0.16 and you're using the latest, 0.18. So you open the migration guide and start looking at compilation errors and one by one you make it run on 0.18!
You don't bother with submitting a PR because you don't even know if the maintainer cares anymore, so you save a few hours there.
You copy paste some of the example code into your app and the text isn't showing. It's midnight on a Saturday so you go to sleep.
The next day you wake up and see an email that someone made a fix for the flickering! It's not merged yet, meaning you cannot update to officially released version and have it be fixed, but thanks to a mechanism in cargo you can just replace one small package with the fixed version from github. It works! It actually works. You've wasted 10-20 hours trying to work around it, and 1 hour testing this new fix, but it means you don't have to be afraid about deploying to android anymore.
So you discard the bevy_image_font and the bevy_ui and some other experimental code, and start learning egui. The syntax is simple, adding a button is one line of code, making it do something is another.
But the layout features are lacking, so you try to wrangle the positioning for a few hours and it acts weird but you don't care at this point. "Good enough" is better than spending another 10 hours digging into bugs and submitting github issues and you're starting to feel mild burnout.
You try to find a good, robust way to save game in Bevy. Turns out there is nothing built in. Turns out there isn't any build in mechanism for quitting the app, or rather, there is one that works on user action, but there isn't any hook that would work when user forcefully closes the application. So you first even need to design how and when to save data.
You find bevy_save but that is updated only to 0.16. You find 6 other options, get too tired to research all of them (you have 2000 open tabs already) and pick bevy_persistence. You find a crate that should detect path to application folders on all platforms, but it crashes on Android. You start debugging, digging through tens of thousands of spammy Android logs, you realize it doesn't give you any kind of "home" directory, so you hardcode a path yourself. That works.
You try a web build. Broken. Again the automatic detection of a home folder is broken, but luckily you can also just hardcode a path and the rest of it will automatically switch from files to using LocalStorage or SessionStorage in your browser, so that's a major win for your sanity.
But the wasm build is still broken. So you try to search for the error but that's giving you misleading results. You know that WebGPU doesn't yet work on Firefox, but you don't have WebGPU enabled, and WebGL should be used instead. You dig into it an after another hour you find out that some idiotic guide you followed three weeks ago which gave a lot of wrong information is biting you again because when you did "set(RenderPlugin { render_creation: RenderCreation::Automatic(WgpuSettings { backends: Some(Backends::PRIMARY)," it tried to force WebGPU even if you don't even have that bevy feature enabled. So you change it to
and that fixes it! Android works, Windows works, Firefox works.
Of course I skipped many other parts where the documentation didn't make sense to me, or stack overflow or github wiki or github issues advice was outdated, but I also didn't mention when discord members were helpful and pointed you in the right direction, or many well written articles and youtube tutorials that helped you make sense of things.
So yeah, that's a small glimpse into how it is to be a solo hobbyist developer.