I managed to fix some of my problems with screen scrolling it ended up being some floating point rounding issue causing a very slight mismatch between my screen coordinates and try to lock the camera on a certain NPC.
I jacked the speed up really high to test the engine and it works pretty well, I didn’t see any jumping or tearing.
But one thing I did notice is with my current collision detection if moving more than 1/2 a square (32 pixels) in a single frame you can actually walk into a blocked location because its just checking movement direction +1 tile in the direction of movement — This would be perfectly fine with any reasonable movement speed within the engine because that is way crazy fast!
But I think I am going to make it so that if an NPC is standing on a blocked square (non movement) they will get pushed outwards towards the nearest non blocked square.
Youtube video of moving the main character around in the world.
I bet you all thought I was dead, all 3 of you that read this occasionally!
In the last month or so after a very long hiatus of working on my house, working on family stuff, etc I’ve finally decided to start programming again!!!
Enough of that stuff and on to actual news:
I’ve rewritten my entire engine — While I loved 2.5d isometric visual styles it made programming very difficult for me. I was constantly rewritten large sections of my graphics engine to put in even the smallest features and it was getting very bloated and performance was starting to suffer 🙁
So here we have it I am making a 2d rpg with basically the same design elements I had in store for Lost Gateways but with this engine and my time available I should really be able to accomplish something!!
Here is a picture of the new engine, most of the terrain generation and drawing is complete, in game resources are complete and I am currently working on implementing npc’s (mostly complete).
Here is a screenshot:
This engine is highly customizable and I am not going to waste so much time working on features like day / night system, per vertex lighting, etc, while they look neat it just eats up time and makes things more complicated!!
To do list:
– Work on actual gameplay logic and setup
This is important I need to setup the introduction menu with save/load/quit/newgame, and implement the startup sequence that will place your starting village and instruct you to collect some wood to build some guard towers in preparation of the first wave.
– World generation is completely redone.
– Resources added to the world now don’t need specific graphics and are colored during runtime making it super easy to add new resources
Even without the grass, mushrooms, etc the game is looking much nicer.
I also added a way to export the generated map to a png so I can work on world gen code.
And here is a picture of the world gen:
I am mostly going to be offline for my vacation so I am hoping to push out a rather large update once I get back!!!
I’ve implemented a whole new world generation system that is more dynamic and takes all of the resources from my new fancy dynamic resource classes and distributes them to the map based on rarity!So now instead of having to redo the map generator code everytime I want to add more resources I just add the resource to my class and its in the game!
Adding a new resource for a new class is also just as simple!
I also made it so resources can contain more than a single type of resource, for example — You see a coal node and mine it 75% of the time you will get coal, 25% of the time you will get stone etc.
This leaves it open so I can add rare drops like a 1% chance of getting “Purified Coal” or something along those lines!
Here is a shot of the in game mountains autogenerated and placed with only coal as a resource