Map Builder


  The Map Builder

I initially didn't want to do it but...
Going on with my week I constantly thought to myself, that having scheduled so much time for tiles AND world building, having a little developer tool just to create maps would be helpful. Even though last time I considered this to be a time consuming pitfall I am more than happy with my results now. Because often I thought to myself: "Huh, this shouldn't be something troublesome to do. Yet it probably is.". For example, I wouldn't want the map builder to be baked into the game, yet I need to create a new project with my little monogame setup and pray that I don't make any mistakes during the creation and usage of my project files. Let alone the actual logic for having tiles and adding and removing and so on. BUT, yesterday morning I went through the process of creating such a dev-tool through my mindand realised, in theory it should be easy to do in only requires a few straightforward requirements to make that happen. Sure enough I went to my computer and within a few hours I already had a decent tile drawing tool. Especially loading the map worked like a charm, even though I kinda violated a convention on how to use async methods in C# a little.

Was it worth it?
Heck yeah! My maps are originally stored in a csv file with tile IDs. I know you can do it shorter and more precise and less available, but I don't think this will be much of an issue for this project. And if editing the world by a third party would lead to any issues, then I can still add some basic hashing in there for major modification complications. However, as you can see in the picture, editing these arrays by hand is definitly possible. But more than tedious. I can imagine I would want to change and add maps frequently, so the possibility to have a custom map creator helps me alot to design those. 

Technical stuff
That software is really basic (obviously, because it also looks basic afterall) but some aspects were kinda interesting enough to be mentioned here I think. So for example displaying the map that is in use by the game was really easy, because I can obviously refer to the map loader and tile classes and so on from the source. Which actually ensures that I see the exact same thing as in the game. Also other basic stuff, that I made in earlier projects, are coming together here. For instance the camera was probably added within 15 minutes. As this is just a dev-tool I don't go for scalability and thus I can literally just have a class defining most initialisations and before you know it, you have map images that you can move around and see from a higher resolution. I could also add a bunch of more features like scaling and area creations/removals of tiles, but I think for general purposes is this map builder already nice. There is also a second screen in which I can choose my tiles from, but you cannot see it in the picture. But that screen literally shows me my tiles png file and allows me to choose the tile I want to add by clicking on the tile. The only thing that annoyed me was the conversion work. Because my tile ids are actually just their number when counting tiles inside the png file. And also when reading the map file your first array is the y axis of course. And since loading the map is asynchroneous and I use VS Code (money) debugging errors took longer than it should. But all in all nothing you cannot solve and also, again, I don't need to care about scalability. So while I still added a lot of flexibility (changing the base tile size, configuring which maps to draw etc.) I did not need to hyperfocus on everything in this dev-tool.

Design stuff
I am not artist in any way. I considered making some art to start filling the first map that we can see there, but after a quick search online I might as well add awesome free work. What we see there is a zeldalike tileset by somebody from FreeGameArt (CC0). I usually don't like that source, because they barely have pixel art that I care for. In this case for example, it is 16x16 which I had to scale up. But for now it looks good and I can imagine using some of the work for the main game. (you cannot see all tiles and objects in the image) Ultimately I would love to spend a few bucks for artists to do their magic, but at the same time, when using a low-budget as I do, I fear that they will scam me by using AI in some easy fashion, which I would have done otherwise anyways.

Upcoming
Well according to my schedule I have three weeks left for world building. Considering that the map builder went so well, I don't even need nearly as much time to create a start map. However, this also allows me to focus on the art and details of the maps. So I think I will have plenty of fun for now, checking art sources, drawing some stuff myself maybe, asking around friends and just creating a badass looking first map. I can and should also do a farm house as we all know from games like Harvest Moon and Stardew Valley, as transitioning between Scenes is going to be a big topic for the first "Chapter" of my roadplan. So before it gets reaally technical again, I can actually show some interesting stuff in the next week(s).  

Get Slime Breeder

Leave a comment

Log in with itch.io to leave a comment.