So I've been thinking. Not too hard, mind you, but is there anyone around who's willing to put in a whole bunch of time and effort into making new levels?
It's a real pain, by the way. Manually setting events and juggling timing, no easy to use level builders, heck they probably aren't practical with Tyrian's level format. Just lots and lots of text. But it is doable. And I think it'd be fun to make a new campaign.
Just to get the point across, I'm saying you CAN make your own Tyrian levels without the need of superpowers, hex editors, or C. Painstakingly, but possible all the same.
Here is my current workset. It comes with one example level that appends the Deliani events with the Tyrian background, both edited juuust enough to demonstrate tha it's doable. It's far from a suite but it's a start.
Yeah you CAN, technically, but my personal experience is, you won't. Laying tiles without a graphical editor is pretty much impossible. Maybe u saw my java remake project ( which was a mistake, i should have gone for a "port" instead ), i made my own tile editor, and even so, it took a whole day (~8 hours ) to recreate a level. Designing your own will take even more. My event script was a more natural text format. It took a whole week to create events for ONE level. If i worked hard every day, i would have been done with 4 episodes in a year. With a good graphical editor things would be a whole lot faster. I would love to help with writing that, but currently I'm busy improving my skills and finding a job.
PS: Thanks for the files, it will be very useful when I restart my java project and make it a port.
I made a not-fun-to-use map editor a long time ago... tyrmap. You can run it on the *_levmap files created by ECA's level_splitter. For example, tyrmap.exe 02_levmap shapesz.dat and then you use the mouse to place tiles, the arrow keys to scroll, 1 2 and 3 keys for the layers, and S key to save to a .revised (eg 02_levelmap.revised) file. Once again, it's a pain, but the tool is there.
Some time ago, I had a somewhat crazy idea. Instead of having a tool for the job why not just to have a filter to convert stuff in Tyrian format?
If we could pull out the various tiles (and we can), then we could assemble them back in - ouch - inkscape. We could even have a full raster map to be broken back again.
However, there are alot of information that just wouldn't fit natively in this approach, such as the scrolling speed control, the "scriptable" events etc. I still think it is worthful to look at this path.
The main problem with that is you only get about 70 unique tiles per layer. And they all have to be in the same shapes file, so reasonably you'd have to create a new one for each level, and there are only so many shapes files a tyrian install can hold.
Actually making a level background isn't THAT hard . The events are the real killer...
In Quake, events were trigger-based. Hit a trigger brush -> some event starts. Unfortunately, tyrian events seem to be far more complicated than that. I still wonder if it is possible to somehow present this information graphically using already available tools... but it probably wouldn't be worth the effort at this point.
Welp, 10 years is a long time to wait, but I'm here now!
I'm working on a random level generator that will take the various enemy waves already in the game, from each level associated with a random specific shapes file, and arrange them into brand new levels.
These level tools are what is making that possible! Unfortunately they are a bit broken, and my C++ isn't good enough to fix them. map_compiler doesn't like the files that map_decompiler makes, so I can't even recompile the original tyrian levels without changes. Events are fine, but I suspect there are issues with level_splitter and/or level_assembler as well. I simply can't splice two levels together, even without decompiling the map file, and have Tyrian2000 or OpenTyrian load them succesfully. Level 1 works, but on Level 2 Open just crashes and 2000 terminates with an error regarding not being able load random shape files, like shapes☼ or shapes7.
I'm going to forge ahead anyway. It just means the episode script will have to loop in on itself, or just load the first level of each episode. So play episode 1 level 1 repeatedly or cycle through level 1 of each episode, while my program runs in the background and generates a new levels in between tyrian loading them.
Needless to say, if anyone wants to fix these tools, I would be grateful.
Hmm.. I don't think the GBC version fits this but, if I could figure out how splice multiple levels together, you could use this generate entire episodes and copy them to any version of tyrian that uses the original data files.