Improving Charburner for Babylonians

Charburner is a unique addition in Return to the Roots. There was an existing old artwork for the building:

So I went ahead and improved it step-by-step, using the Storehouse wall and roof style:

The original graphic kind of works as an example of what happens when you try to have too much detail: it becomes so busy you can no longer tell what you can see. I simplified the building to the Storehouse style as it was a successful one and removed some roughness by using more colors of the palette. The building’s color is no longer too close to the wheat’s color so that makes it easier to distinguish the elements. As the roof is much lighter you can see the darker elements on the roof. I used some shading and shadowing techniques to make the pick-axe more visible. I also removed handles from the water buckets to reduce detail that didn’t matter.

If nothing else I hope this kind of postings give inspiration for someone to start learning pixelart.

Map header’s last unknown byte now known!

Earlier all documentation has stated one unknown byte in a map file header that is between player HQ locations and leaders. I now know the meaning of this byte: Map Editor sets it to 1 if the map is invalid, in it’s terms meaning there are no players set. The game reads this byte when selecting a map in Unlimited Play and ranks the map as Invalid Map. It however also shows map title and size.

I noticed this just a moment ago after having a look those demo maps that I made. I used Map Editor to generate a map of correct size, title and author information and then manually pasted the bytes with a hex editor. Only now I paid attention to what header content the maps had when I just happened to open them in a hex editor.

Because this byte is used like this I throw a recommendation that any map that works exclusively for RttR should set this byte to 0x02. This prevents users of the original game from trying to play the map file. Any non-zero value in this byte prevents the map from loading in Unlimited Play.

To validate or not to validate

I’m in the process of writing map uploading code. You might wonder why this is a slow process, but I have a very good reason: I write a lot of validation code. Why? Because I want to make absolutely sure nobody even wants to try to abuse the Map Database service. This means making the life of a spammer as hard as possible and to make things so solid that it isn’t easy to break through by code injection of any kind.

The downside is that coding is very slow. I’m also not the fastest programmer out there, but I think I write pretty solid code. And I’m not even employed as a developer, far from it!

There is also this thing called duplicate uploads. I don’t want those. So I’m writing my code in a way that there will be no two maps of the same kind, but I also have to make sure I don’t use too much processing power to do so. PHP isn’t the fastest language to work with so looping through all map data is out of the question. Just simply can’t do that. I think.

However I’m also planning on allowing revisions so that it is possible to provide a slightly changed version of an existing map. In this case both maps will have the same Map ID. This is a special ID in that it is DOS83 compatible, giving easy way to have a unique DOS filename for all the maps. I’m not forcing it though, merely it is an option when downloading a map.

RttR Campaign

I put some thoughts for creating a Return to the Roots Campaign. The first five missions would be made to work on original game so there would be things to do that can be experienced. There is no campaign support in RttR at the moment.

One idea that I forgot to put on that forum post is that I’d like to see a mission which has multiple goals and where player could end up playing just one of three possible next missions. So there wouldn’t just be 10 missions but instead the player would end up playing a different path. This would give more value to the player as there could be multiple endings. Maybe the player could choose from being good or evil by his actions in the missions…

Hacker’s guide to WORLD800.DAT

To make it easier for everyone to have a look at these files I’ve now compiled all WORLD800.DAT files from the demo versions of the game into something that is easier to work with!

The zip file below provides a PNG image that visually shows the raw contents of a savegame map file. The accompanying RAW file is that same data as a pure hex dump.

There are three map files included: demo v0.16 map, demo v1.02 map and demo v1.51 map (aka “Cold Times”).



Download (SWD maps, unplayable)

Continue reading

User cleanup

I went through the users list and removed any account that seemed like a spam account. I hope I didn’t remove any accounts of a real user. If that happened I apologize, and you’re free to create a new account.

On the other news I found more information on how to implement a binary upload and download in AJAX, but there may be some nasty browser limitations involved. I’ll look into it in a better time as I’m having quite an uncomfortable day today as it is painful to eat or drink anything and my head is sore. Yeah, some sort of flu disease that slowly caused an aphthous ulcer (or canker sore) in a very very bad place in my mouth. Luckily the flu itself hasn’t gotten much done, only had some throat issues early last week, and again some this week. I’m not sick often so diseases tend to be quite mild on me.

Online Editor now good for map uploads!

As the Map Database part of Online Editor isn’t going to be finished very soon I made it very easy to upload maps: just upload a map and it’ll appear for everyone. At the moment any one person can have up to 15 maps in the service.


Just hit the Maps link at the bottom right corner of the top banner to find it. Decided it is clearer than “online editor” which really isn’t much of an editor at the moment.

A lot has happened today

Is it enough just to say that a lot has happened? I guess not. There is a plenty of updates on existing documentation pages and today has been a very chatty day in the comments (as you can see). We also have a new page: landscape objects table. Yes, it has all the decorative objects supported with graphical image. The table isn’t complete in the sense that it doesn’t go up to 255 that is the maximum object ID, but there really isn’t anything interesting up there. Just a lot of values that’ll cause you crashes if you’re trying to deal with mission object graphics. Regular objects are just empty after object ID 0x2B (43).

Gathering objects information

I started a new page purely about objects. The map file page would have started to become far too long if all the object details would’ve been added in so I thought it was better to start a fresh new page. Thanks to Spike for giving a little bit of new information as a push to get me started on investigating more!


Oh, see all the glitchy trees animating… without animation, but you get the idea. Each row has one tree, and as it is “animated” things go left. The leftmost comes again to become the rightmost.