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 didn't have much room today (pardon the pun) for gamedeving so I only added two poison mushrooms. That helped testing inventory submenu ui and the poisonous effect :)
I pixeled them myself! Not the best work ever but nothing to be ashamed of :)
I need to change some of the properties AND:
note to self: sort effect list after buffs (apply buffs to max properties first, then every other).
if you'd have a "increase maximum health" and an "restore health" effect on an item in inverse order, you'd first restore health and then increase maximum health, which I find stupid.
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
My inventory submenu now gets positioned atop the current selected slot :)
easy
changes:
https://github.com/Papiertig0r/Alchemy/commit/0a8f0c5615e4d2dfab80e078f8cb64905e4750f9
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.
As you can see from the gif, I ain't no world and level designer, but this mockup will do its job.
I added some colliders to the scene, so you can't walk over everything, but then I had to switch to rigidbody movement in order to use these collision detections.
There are some major glitches, but I think I will get them in time (I fixed a bug today where you couldn't pick anything up if you walked over a tool - this is a con of a state machine: if you fuck up states, everything is fucked up)
Working in Unity is easy and comfortable, but I hope more features will be added over time. Also, someone should add a designer to my project :D
Changy changy changes:
https://github.com/Papiertig0r/Alchemy/commit/a97cb7f3d9c5ff751ea2ad907eca8f78a332c378
I didn't really have time today so I just made some visual changes. I tried the unity tilemap and it's gorgeous!
Art comes from opengameart.org
I have to find out how to add colliders so it feels more plastic, right now you can just walk over anything. I hope there comes an update where you can define colliders per tile that get painted together with the tiles.
Inventory submenu is really coming along.
I added a singleton for the inventory because it is easier instead of typing PlayerController.player.inventory all the time.
It is possible to discard items but only one at a time, I want to implement a long button press to discard a whole stack.
Next up is applying effects to weapons and armor and mixing ingredients
changes:
https://github.com/Papiertig0r/Alchemy/commit/b8255c36f3a3086301048330e5143a50731f7486
Today I refactored the state machine, it is smoother and inputs are now where they belong (except for the normal world state... yet)
Also, I added some more functionality for the inventory submenu, but it's not quite ready yet :)
no visual changes, so no gif.
see changes here:
https://github.com/Papiertig0r/Alchemy/commit/6e4bd9d5fa746882978922cfd8e7c4c7ebc5f4b3
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:
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
Well, this wasn't so bad :)
Now I'm really glad that I deleted all UI a few weeks ago. Having an idea about how your game is built really helps implementing UI, everything is much nicer and cleaner.
Tomorrow I'm thinking about implementing the full inventory.
Next steps are:
Implementing tool UI and moving items between different UIs
Mixing ingredients (I'm really looking forward towards this)
Implement cooking! (I want cooking like in Harvest Moon Back to Nature ~)
Implementing Ingredient UI (I want to have different stats displayed when hovering over ingredients)
See the changes here:
https://github.com/Papiertig0r/Alchemy/commit/f18400c989054ef585b1ea4f99e43a82beab4625
I decided that the buffy things stay where they are, it would be too complex to change it and cost a lot of usability (on my end, anyways).
I implemented ingredient processing and now has come the time where I cannot longer avoid adding UI. With UI, I can add ingredient mixing, researching, equipping items and consuming them (from within the inventory and not the editor).
Also, the merge finally happened xD
See the changes:
https://github.com/Papiertig0r/Alchemy/commit/0d2e96ffb5bd05ce763b4e45a6b59f4ed2306b2b
Sadly I forgot to record my mouse pointer in the gif, but just imagine that I drop a herb onto the mortar & pestle and then press the process button a few times
Man, I thought there would be no testing today. I was gonna implement purity and yield and their effect on buffs, go to bed and test everything tomorrow, but I tested it now anyway.
BUT
I already know, that I'm going to refactor tomorow what I just added (it feels more like an effect thingy than a buff thingy)
also, I need to merge my branch back to master or will never do it xD
changy changes:
https://github.com/Papiertig0r/Alchemy/commit/141e85d23f3a920ff821aca9a735a0f671bd1134