OK, super-flaky first version of my road map editor is up for grabs:
http://railtron.com/files/spectrum/RoadEditor_v0-3.zip
There might still be bugs in it, so don't commit your magnum opus to it just yet, but give it a try. I've yet to get the game engine running off a file in this format, but I hope it contains everything I need. It all fits in a 1K data chunk, and it seems I can save and load these blocks without data loss.
It's done in Borland C++ on Win7, but hopefully it shouldn't need any extra run-time files. If it does, let me know and I'll re-compile it.
---
You can start on the '
Information' tab and enter a level name (11 chars) and author name (17 chars). It auto-pads them with spaces, which is why it might seem a bit of a fiddle to edit. You can click on the colour pad to change the 4 colours your text will be displayed in (2-line multicolour). You can also set the time limit for the level. I hope to be able to supply you with a test version you can compile and try out to get a better idea of setting time limits, so don't worry about it for now.
---
On the '
Palette' tab you can see the colours 0-7 on the left. Black is an empty square, White is jump, Green is go-slow, and you can click on the radio buttons to decide which colour is 'Boost' (speed up and pause the clock). By default, it's yellow. You can set it to black if you don't want speed-boosts on your level. Note that 'Jump', at normal speed, should clear the next two rows and land on the third.
Click on a colour, then click on a cell in the 'Road Palette' area. This scrolls up and down and lets you define 44 distinct row patterns (numbered 0-43). Note that 'Bright' is selected by a tick-box, and affects the whole row.
Remember, you can't just define the map colours willy-nilly. You can have 44 distinct row patterns, and the roadway is made up by repeating and re-using these patterns. If you subsequently change a row pattern, all rows using that pattern on the road map will change. So use them sparingly, and pick a basic colour theme or two to stick to. You can always do more than one level; don't stick all your best stuff in just one!
The first five palette rows are semi-fixed, as follows:
0 is all-black and can't be changed.
1 & 2 are the run-up markings for the start of the road. None of the special colour codes work on these rows, so you can use whatever colours you want. But you must have two alternating colours down the sides, and the central section all the same colour, so it looks like rumble strips. You can have these the same, or alternating brightness.
3 & 4 form a chequerboard pattern and must both be the same brightness.
5-43 are for your own designs, and can contain anything. But use them sparingly.
---
Finally on the '
Road' tab you edit the actual road. Select a row from your recently edited palette on the left, with either the left or right mouse button, then click on the roadway to set a row to that pattern. Note that you can't edit the first 10 run-in rows or the last 2 finish rows.
Also, when you save, the editor will automatically flood-fill any undefined level data (from the last row you drew right up to the end) with the finish-line pattern, or, if you've placed a row of the finish-line pattern anywhere in the level, it'll flood-fill from that point to the end of the level with finish line. So DO NOT use the finish-line rows willy-nilly, as anything you place after them will be lost.
You can always over-write the finish lines with the blank (zero line) if you need to make more room, but remember not to leave even 1 row of finish line amongst your level data, or everything after it will be lost.
You can click the 'SAVE' button, then abort, if you want to just check the process out. Note there's no way to save without going through this process, as it's necessary for the game engine, and for calculating the length of the level.
---
As for timing, when running at normal speed, 6 1/4 rows of squares pass by per second (currently), so the full 750 rows gives you 2 whole minutes of play, if you need it. The player has a boost gauge and can speed up for short periods, or use it for limited emergency jumps. Again, I'll try to get a simple demo version for you to test your levels before you have to commit.