My second post
2019-11-28
Inspired by 5th gen Pokemon, this grid system allows for deforming 2D paths. I developed this trying to make a pokemon clone but i spent so much time expaning it became it's own project. The main driver was castelia city and it's curving bridge.
Inspired by the game i started by making a tile with 4 connections so all my tiles would connect as a sort of linked list. Soon one realizes that a faster method of placing tiles is needed so the tile placers where born. At the begining they where two, the rectangular/default and the spline/curved. The rectangular started out pretty basic while the curved took a while to get right. Once that step was completed i realized connecting them was very tedious so i created a system to connect tiles with just a draging from one tile to another, quite usefull! Until you realize i forgot to add an undo. which fair enough is not that haard to implement.
So thats it right? Ive done the tile system right? Wrong, one is never satisfied with this. What if i want to run on walls or walk up slopes then the character must be able to do those things easly orienting the tiles so the player up is always correct. Oh and dont forget i do want the connections ive already modified to keep how i left them! ...another thing to add to the list...
Well seem like now Im finished rigth? Wrong again dont you see the characters walking over the void? Also where did you get characters? Yes... Yes... Ive also made an entire movement sytem for npcs and players to hook to with collision and objects to be on the tiles too... That was actually easy... until i decided that characters did not need to be parented to their tile(they still should be able to) because reparenting stuff all the time seemed like a bad idea. The issue came when I moved a grid and stuff did not came with it so i had to write quite a bit of code to handle that ...and their undo.
Now what even more stuff i want to add? Of course i will add more stuff that i dont actually need because as I was saying the characters are moving over a void i need to add a ground with a mesh generator. Luckily I already have written plenty of mesh generators and a ground for a grid and a spline are pretty easy.
Look at it, a nice ground, altogh with plain colors it looks quite bad so lets add a material! Well, not bad but a bit repetitive, I think im gonna grab a spritesheet aaand will write a system to paint each tile with a different material! And lets do the same with the spline system for parity.
Now we have eveything i want, dont I? well I also want to have some tiles higher and other lower in a somewhat organic order and moving them manually would make them float over the ground... You already know what that means, a new system we will call the height tiles, where you can move tiles up and down and it generates a 3D ground that deforms as you move the tiles. And we must of course follow the feature parity with the other systems so lets add the paint system too. And of course the paint system must also work with walls which will be another headache... But now, NOW we are finished right?
Well i guess for the tile system it seems enough, but we still need some way to move the NPCs. Well i guess adding a simple pathfinding is necessary so lets add that and nothing more.
Ok, quite a journey but we are now here, with a finished product... wait didnt i wanna make a pokemon game this is just a system. Well i guess that since i already made this its what im going to publish this: (TODO add website). If you got here: Thanks for reading my rambles on this project!