Firewalker DevRamblings 3

3 years 6 months ago by damagefilter

It's friday and a good time to write another dev rambling!
This week was a bit dev-unfriendly. I had a lot of stuff to do at RL work and managed to do only little things for Firewalker. But better little things than no things at all.

First official act this week was to change the ration of pixels to world units.
That describes how many world units to fit into the size of a pixel.
By lessening this value, pixels will grow larger, which is what I wanted. Large pixely goodness.
It also blew up all the test level arrangements. Oh well.

Derpy Pixels
That's what happened ... but at least the pixels are all there. Nice and large.

Other than that I finished the inventory refactoring I was about to do. It's now nice and clean like it should be. Entities can have "Inventory bags" and they will be projected on an inventory GUI when required. Previously it was ... well not like that. More ... messy.

Additionally to that, there was finally nothing left that was blocking the loot drops implementation. So I went ahead and wrote mobs dropping loot. Generally speaking it's a kind of loot dispenser that would dispense items upon certain inputs such as entity death or if something calls its Drop method.
That meant that I also had to start implementing items displayed in the world. A player can pick them up by clicking on them. Hovering over an item with the mouse will show its name. Upon collecting them they will be auto-sorted into the player inventory.

Items in World
Furthermore I re-implemented the player stats GUI.
Thanks to the new Unity GUI that went very smooth and did not make much problems.

Oh also, very important: My better half started on a new character spritesheet for the main player.
That new one looks pretty good and definitely a 1000x better than the old one. Although, movement animation is still iffy and needs adjustments. She's at it.

So this is what happened this week.
Here's a snippet of the road map so far (it's ever-changing but it represents a more or less accurate plan of things) - for your reading-pleasure (does not include artist stuff, only code).

  • 0000019: [Feature] Sound Manager (damagefilter) - feedback.
  • 0000006: [Feature] Dashing Movement (damagefilter) - assigned.
  • 0000025: [Refactoring] Refactor AI State Machine into a Behaviour Tree (damagefilter) - assigned.
  • 0000023: [Menu] ConVars Editor Window (damagefilter) - assigned.
  • 0000022: [Feature] Quest System (Devenias) - assigned.
  • 0000015: [Feature] Status Effect Display (damagefilter) - assigned.
  • 0000010: [Feature] Loot Drops (damagefilter) - resolved.
  • 0000012: [Feature] Inventory System & GUI (damagefilter) - resolved.
  • 0000021: [Refactoring] Inventory Rendering (damagefilter) - resolved.
  • 0000011: [Feature] Player elemental immunity (damagefilter) - resolved.
  • 0000017: [Feature] Save State System (damagefilter) - resolved.
  • 0000024: [Menu] Item Editor (damagefilter) - resolved.
  • 0000013: [Feature] Items & Item Stacks System (damagefilter) - resolved.
  • 0000020: [Feature] Monies! (damagefilter) - resolved.
  • 0000016: [Feature] Game Logic System (damagefilter) - resolved.
  • 0000009: [Refactoring] Move Player Movement into separate script (damagefilter) - resolved.
  • 0000008: [Feature] ConVars & Global States (damagefilter) - resolved.
  • 0000007: [Feature] Chat Display System (damagefilter) - resolved.
  • 0000005: [General] Sprinting needs stamina (damagefilter) - resolved.
  • 0000004: [Feature] Direct callbacks to state on state switch in FSM (damagefilter) - resolved.
  • 0000003: [Feature] XML Dialog Flow System (damagefilter) - resolved.
  • 0000002: [Feature] Day and Night Cycle and global clock (damagefilter) - resolved.
  • 0000001: [Feature] Entity Attribute System (damagefilter) - resolved.

Next week I'm doing the status display and AI refactoring, which will likely take a lot of time as a behaviour tree is not exactly a trivial thing to implement.
Additionally, what is not in the roadmap yet, I need to re-implement the dialogue system. And maybe, while I'm at it, I can come up with something more fashionable.

That's it for this week,
thanks a lot for reading!