Heya hey everyone, time for an update on things! I've made some more progress on Terra Restore Reborn in a number of areas.
First off I added a physics system that certain blocks can use. For now only the new "power cell" block uses it. You can right click the block to pick it up, right click again to set it down, or even shift+right click to throw it. When picked up the block hovers in front of you. The power cell block can be set at specific locations to power up redstone contraptions. Eventually, I hope to add in TNT which would use the same system and blow up a few seconds after being thrown.
I've taken some time to try and really get better at interiors. Interiors have always been a thing I feel like I've only been so so at. In most cases, it felt like I was just repeating tables, chairs, storage, and pillars over and over. The biggest things I've noticed is it's often better to have smaller interior spaces or to divide up bigger spaces in some form. Sometimes however having bigger spaces can still be nice, especially for variety and gameplay purposes. I've also really noticed, in other games, interiors often have a number of objects, especially with multiple different variations, that are not really available in vanilla Minecraft.
As such I've been putting in the effort to create custom models for different neat blocks in the environment. Some of which get deleted when your performance settings are set to minimal to help avoid lag, which I obviously need to be careful with. I've also re-organized the resource pack a bit in general. I'm also considering adding in new paintings in the form of pixelated screenshots of existing builds in the world or of some builds in TR2.
Chests, barrels, furnaces and such might be a bit more common in the map now, especially to help interiors at times. The majority of time when you right click them they will just say they are empty rather than opening up the typical GUI, allowing for less tedious looting.
I went ahead and added in craft 1/craft 10/craft 64 options to my custom crafting system to help speed up mass crafting a bit.
I decided to get rid of the option for players to choose how many natural mob spawns there are. Instead, the system chooses automatically based on the area, difficulty, amount of players online, and if on minimal performance or not. I also optimized the natural mob spawning system a bit more, making it more likely that mobs will actually spawn where you can get to them. Which means less total natural mobs need to be present at a time.
Combat and progression have been a pretty big focus lately, which has required a great degree of thought figuring out what would be best and how it all would work...
I went ahead and added 2 weapon slots. Now you can choose to equip up to 2 different weapons at a time instead of being limited to just one, allowing for slightly more customization.
For a while there I was considering adding in a cool ability system where you could assign abilities of your choosing to your weapons. In order to unlock the abilities you had to learn about them, and then "trained" them by meeting certain conditions in order to use them. You could also sometimes further train the abilities in order to upgrade them. Unfortunately, I couldn't really figure out a good way to balance and integrate the idea with the other map's systems. So weapons will continue the course of sometimes having abilities attached to them. I'm considering adding in some sort of weapon upgrading system at some point though.
Bows have always been something I've wanted to add into the map, but haven't really been able to due to incompatibility with my custom offense/defense attribute system and balance issues in general. Thanks to experimenting with the physics system I was able to pick up a technique where you can throw something easily in the direction you are facing. As a result, lately I've been in the process of recreating my own version of bows.
The system I've made isn't perfect but I'm pretty happy with it so far. Due to Minecraft limitations the bow actually auto fires on its own when it's ready after holding down right click. The only other option I really had was to either have a 1/4 second delay on firing or made it right click to draw, and right click a 2nd time to fire.
Since it's my own system I of course have far more freedom now over how bows work. I now have proper damage scaling options, I can adjust the rate of fire, adjust the degree at which bows slow you down when pulling, how many projectiles get fired and in which direction, the distance they go, ammo regulation, custom projectile models, degree of knockback, etc. Thanks to the degree of customization I now have I now feel much better having bows be in the map, and even having them as one of the main weapon types that the player can choose.
The plan is to add more types of weapons over time to enhance player customization. For now, I'm just focusing on different melee, ranged, and magic weapons, but in the future it would be nice to have other different types like something based on redstone.
To help balance these different types of weapons I was considering adding in a class system of some sort. Ideally, all weapons types of equal strength would have roughly around the same DPS over the length of a big combat encounter. The problem is that certain weapons put you up close to danger, making it so you are far more likely to take damage. That's where it would be nice to have melee classes take less damage than ranged/magic classes to help balance it out.
Ultimately I decided against adding in the class system due to complexity, player freedom, and player expectations of what a class system should all encompass, whereas I just wanted a quick system to help balance things. Instead, I'm just planning on having the whole thing combined in with the player base system, which again will be like a "talent tree" at points. Most likely the very first thing you get will give you the choice between specializing between melee/magic/ranged weapons, and giving a damage boost for them. (and defense if melee) Hopefully, in the end, the player base system will be like a create your own class type of system.
Lastly on a side note looking back on things regarding me making maps, I think I'm starting to learn that I really can't do too much system work at once. Any time I start working on systems for more than around 2-3 hours in a day (depending on how much thought/focus is required really) I generally notice myself procrastinating and burning out a bit.
While working on the custom bow system I've definitely noticed this. I figured with my knowledge adding in my own bow system wouldn't be that hard, but then I kept hitting roadblocks after roadblocks and it became hard to stay organized and figure out what the best solutions to the different problems would be. As such I've been trying to limit my daily time spent working on the bow system, which is probably around a few days from being complete now.
In contrast, any time I'm working on creating content (environments, dungeons, models and such) I notice things go far more smoothly and the hours can just kind of pass. Unfortunately, TRR as of right now is 90% system work, and 10% actually making content, which is probably the biggest reason for things being a bit slow right now. This is kind of just how game development goes though, it takes a long time to finally get the systems/tools setup enough to finally get things really going.
That being said I think the best solution for me might be to start working on multiple different projects inside the map at the same time on a daily basis, with at least one being content focused. Normally I try to only work on one thing in a map at a time from start to finish before moving on to the next thing, so we will see how this goes. I think the core systems have progressed enough at this point to be able to do this too. My only worry might be if system work keeps piling up more and more, but hopefully that wouldn't be the case.
Anyway I think that's about all for now