Saturday 29 June 2013

Creating content

It's easy to create content for Asciilands. How easy? The maps are simply text files. The tiles are arranged in one and the scenery pieces (trees, wall cracks, pole under bridge) are placed in the other. Look at this:


The screenshot above is rendered from the following text file (actual visible land highlighted in red):


It's elongated vertically because the characters are not as square as the tiles. yes, this makes it rather hard to develop. If anyone knows of a good, square, monospaced font, please let me know in the comments.
Here is a closer look exclusively at the area of interest:


As you can see, 'g' is grass, 'c' is cliffs, 's' is sand, 'w' is water, 't' is the top of the wall and 'f' is the front of the wall. A capital letter gives a darkened version of the tile to help with the communication of depth and (maybe) shadows under certain circumstances (like under the bridge).

Of course, once the text files have been created, they are merely a key that must be given meaning programatically; have the letters paired to pre-made tile designs and such but once you've created a key to link the objects and tiles to the letters used in the files, modifying the maps and moving things around becomes much simpler than actually making the maps in code.

I'm currently working on a way to make the scenery maps more efficient to use so I won't show an example of one of those until it's finished. The problem being that since the map generator simply ignores characters which appear in the text file and NOT the key, you can use the tile map as the basis for the scenery map and just add the scenery items over the top (to more easily see where they will end up) but if you then alter the tile layer, you can't just paste the changes into the scenery map.

The best thing about this approach to map making is that the community can easily create maps. A pair of huge text files can be submitted with a list of what letters should correspond with what tile types from which tileset etc and they can very easily be added to the game. Currently interactive objects need to be created in code and located in code but as I work more on the parsing tools, the details of these items could become as easy to create and place in a map text file.

Another thing is that an idea Uli and I were discussing was the idea of having something called something like "the cartographer device" which would allow you to simply download the map's text file. Breaking the fourth wall like that appeals to me as a concept since game wikis often tend to feature data accessed by opening games' inner files.

Dunno, all just ideas.

In other news, the following engine improvements mentioned in the last post have been further improved upon, animated sprite have now been added (so a fire sprite now makes sense) and I've been working on making the engine a little more conducive to the last bits of functionality extension before creating content will really begin!

One last screen-shot showing a recent mechanic addition:


Lucky the Light Wand was created the same day as the map overlay system! This is exciting for this reason: it is a collectible object that interacts with the environment; one more step into true game-ness.

PS. If anyone wants to have a crack at putting letters in a txt file, I'll put tiles to them and show your map in the next post. Just an offer.

No comments:

Post a Comment