Submissions by Papiertig0r tagged ui

A submission for Daily Gamedev

I am now the unquestioned leader of the gamedev streak!
Kneel before me! /maniacal laughter

Anyhow, it is now possible to take out items of containers :)

See the changes:
https://github.com/Papiertig0r/Alchemy/commit/79a39fa5ee95054129e1713a3e2380b115736eca

So today I spent only some time with cleaning up my code for the inventory UI system. I removed a lot of redundancies, so there is no visual change so there is no gif or screenshot, but: there are changes!

Cleaning up is so satisfactory, I should do it in my flat more often xD

see them here:
https://github.com/Papiertig0r/Alchemy/commit/07997371658374feb9ca4ad77e36088156f3b4a4

I was already in bed when I remembered that I hadn't done gamedeving today. I thought maybe I could let it slide, but I couldn't. Then I wanted to fake an entry but I couldn't do that either, so I decided to actually do some work! I didn't feel like pixeling so I thought why not spend half an hour on selecting container slots - and it was pretty easy to get the system up and running.

I have an idea for tomorrow to make it even slicker :)

changes:
https://github.com/Papiertig0r/Alchemy/commit/bd3692c6d0496d05e2b8887cf0372eaa3ab2f07f

Yesterday I came down with the flu - and it came down hard. But still I managed to squeeze in half an hour of gamedeving.

Container Selector now gets properly resized and if you selected one container you cannot scroll through others, yay.

see the changes:
https://github.com/Papiertig0r/Alchemy/commit/d259bcda0e67e03e4d8fe1e4d90936ac65ed653f

I added a list of active ui elements. inventory uis now register with that ui and you can switch between active ui elements with RB and LB. Soon you can take things out of a container or put them back :D

I really really really should rework the inventory and inventory ui system - sooner or later it will crash on me if I don't

anyhow, container can now be prefilled with items and these get displayed, yay!

I decided to rework UI and inventory systems before spending any more time with containers (it is just so cumbersome to agonize over so shitty code xD)

At a later point I want to link the infos you are shown to how much of the effect you know. At stage one it will only show "?". At stage two it will show the name of the effect. At concurrent stages there will be more info available up until the last stage where you can see all the info.

I begun implementing container.
For that I had to refactor inventory and inventory UI system and I have to say:
I am not displeased. (Also, I'm watching a lot of Silicon Valley, love Peter Gregory :D )

The container UI has an item pool for the item slots, which is very neat (only if a new container has more slots than any previously container, new ones will be generated. If there are less slots, inactive ones will be deactivated)

changes:
https://github.com/Papiertig0r/Alchemy/commit/27d4c1bddea53e3ab6703bb45302f88e7c33fc46

I finally implemented (or better yet connected) mixing ingredients over UI.

Also I fixed some bugs and annoyances, now I want to refine the mixing process based on a few rules:
-a solid and a powder don't mix
-if one of the items is a solid, the depiction of the other ingredient should be used

cha-cha-cha-changes:
https://github.com/Papiertig0r/Alchemy/commit/f7647a8f72ef8be638d19303c27b82f16e140a68

Now with actual consuming!

Today I implemented some string conversions for a later stage and then finally some connection between UI and logic. The result is, you can now consume items from within the inventory!

I should really implement mixing xD
also, I want the submenu to be shown on the item slot it is called upon, that shouldn't be too hard.

changes:
https://github.com/Papiertig0r/Alchemy/commit/59c40642e9dc00f05b94b7c8385801c3600049a9

I'm not proud of today, I got way less done that I could have but hey, that's shitty architecture xD

Now you can grey stuff out, if it is not compatible with the ingredient you want to mix it with.

I now need to connect the mixing logic with the actual mixing ui. Then I need to abstract it to be able to use the same system with e.g. applying poison to a blade or buffs to an armor.

Today I didn't feel like implementing functionalities so I played around with two concepts: collider and rigidbodies (I like the thought of pushing things around, but it was rather glitchy so I branched it away and now it can rest)
aaaand a map! but I didn't like that either (tiled is something I need to learn but don't want to)

so I went back to implementing functionalities.
I added the infrastructure for the inventory submenu

no visual thingamajing

End of day 28 and you can add an ingredient to a tool. wow xD
I spent most of the day refactoring and made a bunch of changes
e.g. a statemachine that controls the purpose of the action and dodge/abort button
also custom comparation so that items will get stacked only if they have the same values

I had a point in the day where I wanted to delete everything and start anew, but I could hold myself back. Sometimes you got to push through - and that is hard!

See the changes on my github:
https://github.com/Papiertig0r/Alchemy/commits/master
(I've also begun to break up commits into smaller parts)

I added some further info when the inventory is open. As you clearly can see in the gif, I ain't no UI designer, but it does the job.

Next up would be showing effects and buffs too.

There are quite some kinks to work out, but I'm sure I can do it :)
(e.g. when inventory is open you can still throw things, but you throw the thing you last selected in the hotbar, not the current selected thing - same goes for consuming items. I want an additional menu shown for when inventory is open so I have to implement that too)

I just thought of something I should probably address soon:
Currently when you process an ingredient and pick it back up, it will get stacked with other unprocessed ingredients, thus removing your progress. You can also pick up unprocessed ingredients and they magically get processed when you already have one processed one in your inventory, I need a custom comparation operator to fix this.

Now after implementing the inventory I recognized two bugs I'm going to fix tomorrow:

  • wrong items are thrown (it's a legacy field from the system used before)
  • item slot selectors don't merge when they're both in the hotbar

hopefully, I can implement more functionalites than just fixing two bugs :)
I wan't information on screen for Items as well as a submenu when accessing items from inventory instead of hotbar

I did only minor work and it still took me one and a half hours :/ not happy with the speed

I want to implement mechanics! Also I'm thinking of changing to Scriptable Objects for Ingredients, Tools and Items.

Also, I need to find out how to prevent Canvases from overlapping (I want the inventory to find the best space where it occludes neither the toolUI nor the player).

Also, I want a Custom Editor for Ingredients because I'm interested in the topic :D (I have a few ideas).

Check out the changes here:

https://github.com/Papiertig0r/Alchemy/commit/63e8...


p.s: the Tool UI in the gif now stays with the tool, I changed that after making the gif

Also: Progress bar of the tool just fills over time, no actual meaning behind it (hopefully this changes tomorrow)