Microbe GUI

I’d hoped to do more to the GUI today but a couple of bugs with function references breaking due to my own stupidity meant it took a lot longer to get to this stage. The good thing is, all the buttons and tooltips definitely work. There are only a few things left to do:

  • Define a dynamic progress bar to use for all the health and compound bars, which can take particular images as input each time for the compound icon and compound bar colour
  • Create dynamic scrollbars for the compound panel and editor structure panel (I’ve put all the relevant images in for them, I just can’t code them)
  • Make the game pause when a game is loaded, which should be easy but I can’t find the setting anywhere
  • The escape button now opens and closes the overlay menus, but I can’t get it to close them as well
  • Copy the environment GUI over to the tutorial without breaking anything, which is harder than it sounds

I’ve come to the conclusion that all of the above are beyond me without help from proper programmers. With that in mind I might go ahead and fork a GitHub branch to add all the relevant changes so the others can help with those specifics. Is there a way to include new assets without changing the SVN for everybody (since right now that would break everyone else’s branches)?

2 Likes

You could create a lua table (see organelle_table.lua and configs.lua) that stores the image name, the color and some unique id. You can then have a function to change the size of the bar (similar to the current health bar) that takes the id and the new value. The ids could be the compounds ids for compounds and 0 for health bar.

Engine:pauseGame()

Close what?

I can do this part once everything else is done.

Only dropbox and give everyone a link.

I tried that but it wouldn’t work for some reason. It worked for every other function I put it in but not load.

The in-game menu, which before was an expandable menu in the bottom corner but now appears over the top of the screen and pauses the game behind it.

  • Progress bar

Could you do a function to set the bar to the percentage of each compound compared to the “max” compounds, and set the styling as thecreator said with a table or array?

There already is a function, this is what’s being used for the progress bar in the game already.

I now have a health bar and an MP bar working, with one issue: I don’t know how to change the image/colour being used for the fill, which is why the MP bar uses green when it should be purple.

The compound bars might prove more difficult to sort out. The actual value in each case is easy, but at the moment not all of them have maximum values. ATP, for instance, doesn’t have a max. The rest of them share the same max storage space in the form of vacuoles.

1 Like

All the compound bars work now! It’s fun, distracting even, to watch them go up and down in response to compound collection. I do have a couple of comments I need input on:

  • Since I’m using a blank 0.3.2 as the testing ground, the fatty acids bar doesn’t work. In my own copy of the file the relevant code is commented out, but the additions to GitHub haven’t. Providing fatty acids work the same as every other compound, this shouldn’t be a problem.
  • You’ll notice the CO2 bar flickering each time a clump of CO2 is emitted. I don’t think this can be fixed at the GUI end, since the bar just updates based on compound stores.
  • Most of the compounds never reach their totals because they’re all working from the cell’s overall storage. Once dedicated vacuoles are in this shouldn’t be a problem, but for the moment it might be more intuitive to make the amino acid and fatty acid totals the amount needed for reproduction.

That leaves just two things left for me to do: add scrollbars/scroll windows and clean up some of the code.

I think the new GUI is officially (kind of) done!

We encountered some weird errors with the scrollbars which is partly why this thread has laid bare for a while. In the end I decided for the sake of getting the release out soon I should scrap the scrollbars altogether for the moment. I made some small image adjustments to fill dead space and make compound bars more readable, and got rid of the editor info button because it was neither informative nor aesthetically pleasing. Maybe we have something else in future, but it’s fine for now.

There are still minor bugs here and there. Loading a game still unpauses it. A worst case scenario to fix it would be hiding the menu after loading a game, which isn’t all that bad. I’d like the editor help panel to show when the player enters it following the tutorial but not any other time, though this is a small thing. Other than that, the rest of the errors - CO2 flickering, compound totals balancing - can’t be fixed by editing the GUI and will have to wait.

4 Likes

I like what you got here.

Hi!
I recently made some concepts for a flatter GUI:


The buttons in the bottom left corner, besides the menu, are: Pause, Hints, Processes, Statistics, and Fossilize. The bottom-right button toggles the Compound Menu (which is currently on the Compounds Tab), and the gear in the compounds list lets you choose which compounds are shown and which are hidden, and possibly lets you configure the order in which compounds are shown.


The Compounds menu is closed here, and the player has run out of ATP, which gives them an option to kill themselves immediately instead of waiting to die. The blue pause button shows that the game is paused, and the reproduce/editor button is grayed out.


Finally, here’s the Agents tab of the compounds menu. I think it would be cool if the player could not only name their different agents, but customize their color and icon as well.

1 Like

Now just edit the gui texture so we can see how well it actually works. (and probably also do a lot of tweaking to the placement etc. and add new stuff and, and …)

That’s quite a nice design, but I do have some comments.

In the original concept, fossilise would become an option only when you paused the game. A panel would appear near each NPC cell showing either the species name if you’d already saved it, or the option to add one if not. While I have nothing against having this as a permanent feature of the interface, I’d like to know how it would work, because it needs some dependency on the cells in the environment. Pausing the game is also a must, as you don’t want to go chasing cells with your mouse to fossilise them.

I think we decided somewhere above that the suicide button should be a permanent button. While I quite like the solution you’ve come up with, I still think we need that. Maybe keep your system but have a permanent option somewhere else, whether always or hidden in a menu.

Making the interface less colourful has the positive effect of improving the clarity of the compounds/agents bars, but if you’re going to do that, I think you need to go all in. By which I mean, the blue highlights on the expand arrow and header stand out far too much and kind of look like they should be related to a specific compound. I’m not sure what the best solution is here.

Otherwise, there are some innovative design decisions here, but I’m still not sold on going this flat with everything. It looks too much like a mobile or kids game for my liking. Maybe try some mild gradients or more defined edges, though obviously not to the extent I did if you’re trying to get away from that. The mixing of straight and curved edges is also an issue. The icons and compound bars are fine, but the curved corner of the compound panel in particular doesn’t really fit.

Ah when we were discussing it we thought the pause button would just pause the game without anything popping up, for screenshots and other stuff. The fossilize button would of course also pause the game, but using the fossilize button would bring up the panels on the NPC cells like you said.

I think we should also keep in mind that we’ll be phasing out the suicide button at some point, and having it disappear randomly from the GUI might be a little odd. Unless we want to keep the suicide button for all stages, but then having your species die randomly in later stages might be odd as well. A good middle ground would be to have access to the suicide button during critical moments (when you’re low on atp, when you’re fatally injured and bleeding out, etc, etc). In which thread was the suicide button discussion happening? I’d like to familiarize myself with it and the reasons for this decision a bit more.

1 Like

I think it should always be enabled it isn’t random because the player has to click it.

Hi, it’s me again


Everything here should mostly be self-explanatory, except maybe the buttons. The Thrive button opens the pause menu and the little pause button pauses the world but still lets you go through menus and such. The C button in the bottom left toggles the visibility of the compound/environment panels, and can be toggled with the C hotkey perhaps. The buttons after that are Processes, Statistics (info about the current universe), Fossilize, and Help (general game information)

Pause screen, offers the same buttons here too, I guess

Now, here’s a really rough, hand-drawn, and cluttered editor concept


I know there’s a lot here all over the place since I tried to cram so many ideas in such a small space (a few of which are from elsewhere on here), but I tried my best to label and annotate things. Feel free to zoom in and look at the various things I drew, just be sure to bring a map with you so you don’t get lost.
Feedback is welcome for both images, as are questions about what the heck is even going on in the second because seriously this whole thing is awful

1 Like

I like it, I think it all seems quite natural. I like the editor concept as it kind of has a flow towards the button in the bottom right which feels nice.

That is cool. You are like a “hero of thrive” at this point my friend.

1 Like

Here there are some first test of new GUI concepts:


2 Likes

Looking good, however the cyan outlines look a bit too thick and distracting, and also there’s way too much space above the bottom left buttons

1 Like

I think we’re using @Nein99’s design for that so these problems are already solved.

Yes i will import Nein assets, so outlines will be completely the same.