Mar 15, 2025 Godot Port Update


Some general stuff worked on over the last month...

  • Learned about started using Godot Resources for storing data instead of json in a lot of places.
  • Learned about Godot localization, started to migrate OG MewnBase Java .properties files to .po translation files that Godot uses.  Got the English file mostly working and now item data pulls text from there.
  • Item recipe data is now its own thing, separated from the rest of the item data.  An item can have multiple recipes for it, each using different ingredients.
  • Implementing a half-sized grid scale for small "furniture" sized items that could possibly go inside habitat modules, or just for smaller outdoor props and decorations.  TBD
  • Storage crates and storage UI partially working. Need to figure out drag-and-drop still.
  • Refactored some item storage behaviors for player inventories, storage crates, and vehicles.
  • Continually testing between multiple clients.


Spacecat / Player

  • Added footprints ... paw prints? 
  • Hooked up existing customization options for face and visor colors.
  • Item consumption works (eating).
  • Hooked up player Status Effects (starving, suffocating).
  • Can drop inventory items on the ground.
  • Selected inventory Tools are shown being held by Spacecat.
  • Dead Spacecats now despawn :ghost:

Item Droppers / Resource Tiles

  • Setup Item Dropper data.
  • Item Droppers can how use their existing Spine animations.
  • Redid the way Player -> Item Dropper tile interactions are handled: harvested based on item damage values vs hp instead of a time duration. This way multiple players can be harvesting a single tile faster than they would be able to individually.  Damage is also applied via tile-hit animation events, so things look nice and synced now.
  • Item Droppers now require require their specific tool to harvest (shovel for ore, jackhammer/pickaxe for large rocks etc).  
  • Trees are still a weird / special case of Item Dropper (can both give fruit that regrows, but can also be chopped down).  They'll need more work and thought put into them.

Menus and other UI/UX

  • Crafting menu progress.  Build queue almost working. Added a search / filter field.
  • Lots of updates to the menu Theme.
  • Added item tooltips.
  • HUD notification messages (item pickups etc) now work.
  • Pause menu, quitting back to main menu works.
  • Settings menu started, volume controls work.
  • HUD compass/waypoint indicator shows other the direction of other players.
  • Trying out a "Build" menu for constructing buildings from resources in your inventory, instead of crafting them, carrying them around, and setting them on the ground.  


Get MewnBase

Buy Now$9.99 USD or more

Comments

Log in with itch.io to leave a comment.

Really cool to see your progress. I've played through the game recently and had fun. The only thing I really missed (from being used to Subnautica/Satisfactory) was the ability to pin something to the screen as a todo-list. 


Looking forward to more of your projects!

(1 edit)

Great stuff! Enjoy watching progress. From game dev standpoint a more technical "i'm learning, here is my understanding + example snippet" would be sweet.

I'm still new to coding/Godot. Have you considered a crafting pattern. Resources node yield different loot tables based on inputs

e.g.

class_name AppleTree

extends Tree

var node_name := "apple tree"

var loot_table := Array[Item]

var state_table  : Dictionary

var tool_table  : Dictionary

var harvest_state := HARVEST_STATE.RIPE

enum HARVEST_STATE : {BLOOMING, RIPE, PICKED, BARREN}

func interact(inputs : Array[String]) -> Array[Item]:

    var out_items := Array[Item]

    if state_table[harvest_state].has( "_".join(inputs) ):

         out_items = state_table[harvest_state][ "_".join(inputs) ]
     else:

         game_notice(NOTICE_ALERT.INVALID_TOOL)

     return out_items

# [ RIP ] [ "hands" ] = [apple]

# [ RIP ] [ "hands_axe" ] = [log, apple]

# [ PICKED] [ "hands" ] = [twigs]

Kinda thing.

keep it coming!

(17 edits) (+1)

Yes Yes Yes! Glad to see the awesome progress here! <3

Furniture in our base? Yesh, plyz! ʕ✧ᴥ✧ʔ (half-grid, or maybe "two/four small objects on a tile"? seem a great idea to decorate and smooth the layout of the base!)

Quick multi-harvesting is very fun too! ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ

Great ideas here as always!

I wonder what will be the cats' re-spawn mechanism!?  ₍ᐢ•ﻌ•ᐢ₎ 
Maybe a ghost goes to/in the landing-capsule (not used in game really, so why not!?) and "magic! it goes out alive and opens the door! Me Again!" lol. Ultra Funny.

Free ideas from a fan: 
The capsule (in order to not be discarded right after landing, which is sad/a_waste! it glows in the dark but...)
-should give a short range proxy-icon for the suit-gui to go towards... to have utility at the start of the game IMO! Losing the base in panic at the start is lethal... forgetting about the map key or feature! Yes, i died to that already!)
-should also deliver 5+ unit of power to build around (it glows in the dark so, there is power inside! lol) so just enough juice for survival: to have an airlock and a ventilated room for oxygen (without needing a plant bio-reactor, with a free cable somewhere in the supplies for convenience/placing...)

Great! Played game a while ago but when it was written in java. How is your experience with Godot multiplayer? Especially with syncronising and spawn nodes? Cheers.