Oh no another blog by dave2

This is yet another blog by dave2. Views here expressed as my own and not those of anyone else or any organisation foolish enough to associate with me.

Hexagon Update: 2 Dec 2022

Ah it’s been a while, what’s been going on? Android using OpenGL3 compat So as of Godot 4.0 beta 7, you can re-enable opengl3 as a rendering engine for Godot builds. Great! This is actually the first time I think I’ve had the game running on my phone at all. The good news is it looks about what I’d expect, except buttons are a little on the small side. But it’s very very slow (esp refreshing the display) so this seems to be a mix of opengl3 being very rough at this point in the Godot 4 cycle and simply the fact my phone ain’t my PC when it comes to the lifting....

December 2, 2022

Hexagon Update 21 Nov 2022

Things have been a bit slow in the last few days. But, still making some progress even if I’ve been distracted into rabbit holes. Inventory After reworking all the inventory code to separate equip slots on the player from what an item knows about where it can be equipped, the last part was correctly wiring up the actual inventory storage on the player. One problem not mentioned in previous posts is Godot 4 still has some bugs in places, which is not unexpected given it’s still only Beta....

November 21, 2022

Hexagon Update: 15 Nov 2022

Well hi there folks. Not sure anyone is reading this, but that’s just fine, it’s more for my mental well-being than anything else. Let’s dive into the state of things. Inventory Most of the last week has been on nothing but Inventory and getting both the basic UI, data, and storage sorted out. Unexpectedly, building the UI still goes somewhat okay. There’s still a huge problem in my head between where the UI is doing things, and whether things like validation of what can be placed where live in the UI (where, actually, they get called a lot) or somewhere else....

November 15, 2022

Hexagon Update: 10 Nov 2022

World View and Gen The world view needed one more piece of polish before I really need to get on with some of the other systems in the game. While I do want to enrich the world generation with villages and more POI, that’s something which can easily come later. In the monthly update, I mentioned that the world needs some sort of fog system for unexplored tiles. I played around with a few different methods, but in the end it actually was easiest to just use Sprite3D set at an appropriate height, with some noise-based colouring and alpha for edges....

November 10, 2022

Hexagon Update: 5 Nov 2022

After much deliberation, I ended up doing none of the things I thought as options when I wrote the last post .. and as it happens this ended up being a fairly simple implementation. Stashed in the back of my code was a prefab I used for a lot of the early testing of biomes. Back then it looked like this: The prefab itself is just a holder for a Sprite3D which was sized correctly to show as a border....

November 5, 2022

Hexagon Update: 3 Nov 2022

This will be a quick update only.. I’ve started working on allowing a placeholder player to be move around the world. Actually, this wasn’t too hard, it even does a nice tween that deals with distance. I don’t actually need to do that (I expect players to move hex by hex) but it’s nice to know the code works. By “wasn’t too hard”, it did open up the can of worms I’ve been waiting to have pounce on me....

November 3, 2022

Hexagon Update: One Month

Around a month ago, I started writing this silly game and I must admit I am still surprised it’s gotten to the point it has. I expected that world generation would really be my undoing, and instead it seems to be going okay. Then vs Now 28 September 2022 31 October 2022 Current State So where are we at now? Well, here’s a short list of what was done in the last month:...

October 31, 2022

Hexagon Update: 25 Oct 2022

Lots since the last update, lets dive into it. Refactoring Outcome Refactoring all the road generation to use tile variants instead of laying a separate prefab on top was a Huge Success and was definitely the right approach. Baking the roads into the tile set took a while but it resulted in a much nicer implementation internally, as I took the chance to also drop object pooling. An optimization I had done very early on was to push 3D tiles into a pool of pre-instantiated objects and pull them into the world as needed....

October 25, 2022

Hexagon Update: Oh no

So I am now deep in the refactor well, and I’m pretty sure I can eventually get myself out, but right now everything is broken until I get to the bottom of the well, and start digging my way up. What triggered this was supporting roads. In the picture I posted on the last update there was a lovely road going through the gap in the forest. But there wasn’t a gap there really....

October 21, 2022

Hexagon Update: Roads .. again

Well, it wouldn’t be my code development if any design pattern lasted longer than four hours! In fact, in the previous post it omits the details this was actually the second pass, where we stored masks in the tile data directly, rather than in a different set of dictionaries. But, before tackling changing everything again, I did get to a better place about how to draw roads on the map. Not the display part now, the actual “draw road from A to B” including all the steps needed to join them....

October 18, 2022