Update [0.250923]
Sumary:
What a ride it's been! While I might not win any awards for 3D modeling, I'm thinking of giving it a go. The game itself is coming along nicely, especially since the last update made everything more streamlined and easier to handle. It's like a well-oiled machine now, making adding new features a breeze.
I've also switched gears on how I'm showing off progress. Instead of diving deep into the code, I've opted for a more visual representation. It just feels more intuitive and engaging. But for those who are code-curious, the GitHub link is available for anyone interested. Feel free to fork it and mess around!
What's New:
Resource Display Toggle: Now, you can quickly see where all the important resources are on the map by simply pressing the "Z" key. This feature is somewhat inspired by how resource mapping works in games like Civilization. One press, and all the resource icons will be revealed or concealed based on your needs.
![](https://i.imgur.com/Tf8vipu.gif)
UI-Based Resource Rendering: Instead of cluttering the 3D game plane with resource icons, I opted for a cleaner approach by rendering these icons as UI elements. This way, the game interface remains clean while providing crucial information. For the time being, the positions of these resources are updated using the "Process" method, but plans are in place to refine this system.
![](https://i.imgur.com/f2nEso6.gif)
The camera's extreme zoom-out in the second GIF is just for demonstration purposes. In actual gameplay, the camera won't zoom out in that way; it's only to emphasize that the resource icons are UI elements, not objects on the 3D map.
Universal Selection System: The new selection system isn't just limited to buildings; it also extends to units on the field. Whether it's a building or a unit, clicking on it will now trigger a "SelectionScreenUI." This UI panel provides detailed information on available units, upgrades, or any other relevant attributes.
![](https://i.imgur.com/bQdzDZX.gif)
The universal selection feature adds a new dimension to gameplay, offering a unified interface for making strategic choices. It makes the entire game more interactive by letting you engage directly with both buildings and units. It's one of those features that should make both micromanagement and strategic planning more fluid and intuitive.
Right-Click to Deselect: Added a straightforward right-click function. Now you can cancel any current selections or building placements and return to the original view. This makes it a bit easier to navigate and correct any misclicks or changes in plans.
![](https://i.imgur.com/ypj9Sem.gif)
Small Fixes and Improvements:
- UI Overlapping Fix: Resolved an issue where clicking on a UI button would inadvertently select a building positioned behind it.
- UI Staying Visible: Rectified the issue of UI elements remaining visible after a building has been placed.
- Input Fixes: Adjusted mouse input so that left and right mouse buttons trigger actions only once per click, rather than continuously while held down.
- Buildings Overlapping: Implemented checks to prevent multiple buildings from being placed on the same cell.
Up Next: Civilizations and Units, Here We Come!
Alright, now that buildings, upgrades, and units are up and running, it's time to diversify. Who wouldn't enjoy ruling as France or England—two nations known for their "peaceful" history?
- Civilizations: Starting off with France and England. Once these two are set up, adding more civilizations should be straightforward.
- Units: Ah, the backbone of any strategy game. Here's where I hit a snag—I'm not exactly an expert when it comes to 3D modeling. But I've got a couple of ideas I'm stoked about:
- 3D Static Objects: Think chess pieces. Simple, yet effective, and best of all—no need for complex animations or rigging.
- 2D Sprites: Imagine taking existing 2D sprites and scaling them to fit as units. They'd look like moving banners on the battlefield.
By the way, there might be another game project in the works with a friend. If it goes beyond the planning stage, it will be developed in Godot. Keep an eye out!