Friday, February 14, 2014
Making the world go round.
The most important thing right now on developing the Isometric engine is getting all the kinks I can out of how tiles are handled, saved, read, and optimizing that code. The basics of tile data needs to be solid before I can really move on to other features as to not have as many unexpected issues later on. One of the features suggested to me was map rotation, it's very rarely do isometric games actually let you rotate the map to get a better angle / view at the current scene. For good reason to, it's not easy moving everything around and expecting it to not have any glitches or shortcomings.
After re-coding back in tile layers and getting most of the hiccups out of it I thought I would test the tile reading / saving of information by implementing map rotation. First I had to write a script that would cycle through the information and then rotate all of it either clock-wise or counter-clockwise when it was executed. The first few attempts saw a few of those unexpected glitches for how I had been using the data structure so I had to spend some time re configuring how tile data was saved. Once that was completed I ran the script a few more times and ..it worked! Tiles rotated correctly, stayed in orientation and updated there isometric depth perfectly. SO scratch that off the to-do list :D
Some notes so far:
For the moment it only rotates 45 degrees at a time either left or right, I do have a script for a full 180 but I do not have it implemented for the simple fact is it's not needed.
This only rotates the tiles, I will adapt the script to work on objects but as it stands now, any objects on the map will remain in their current place.
Large maps can be very slow to rotate, the idea behind implementing map rotation was to make map making that much easier. It should work fine in games but you will have to keep in mind the size of maps if it was a feature you wanted in-game.
There is something greatly satisfying when you work on something and with a few minor tweaks you get it working exactly how it's intended to. That's how I am right now with the map rotation, It was something I thought was gonna take up a lot more time then it did just because it feels like it's such a complicated thing to do. I was able to knock that out of the way fairly fast and get moving forward, which brings me to another subject I will touch real quick.
I do have several other projects I am working on at the same time though most of the free time I have has been spent on the Isometric engine. I have graphic resources that need made, other game projects that need designing and programming done. So I will skip around later on in the blog between projects, the goal is to get a demo for the isometric engine out for testing after GM:S 1.3 is released mainly because currently planned things are on the to do list when that comes out and really "needs" the updated features.
Thanks for reading! don't forget to share / follow if you have any suggestions or comments on either for the isometric engine or on my blogging so far please leave them :D