A Tremulous déjà vu feeling…

So, a “Tremulous Classic” community map pack for Unvanquished was released. Here is a screenshot taken in game during a recent community game:

unvanquished_2015-08-16_222212_000
You can download the “Tremulous Classic” community maps here : click!

It’s a community map pack, they are not official Unvanquished maps, they are absolutely not a representative picture of the current Unvanquished state of the art. It’s only for fun and nostalgia purpose.

The whole map pack takes only 60Mb. This map pack is based on the last Tremulous gpp packages and heavily improved. A lot of work was done:

  • The textures were de-duplicated and a fallback shader was added for each de-duplicated file (the *_compat.shader files).
  • The outdated entity keywords were updated.
  • Each map received a color grading, the main purpose is to fix the gamma and some lighting stuff, but sometimes there was a fancy color trick too.
  • It’s a binary port, not one map was recompiled (most of them don’t have source), I used the grtoolbox to do that.
  • All maps now use external lightmaps, it allows to compress all of them (embedded lightmaps are stored as uncompress bitmaps) and some of them were fixed by hand (paintover) like some Transit lightmaps that were very aliased (it’s a very old map).
  • All textures are compressed in crunch format or webp format when it can’t be crunched.
  • All sounds are now compressed in opus format.
  • A very high resolution levelshot was remade for all the maps, so it looks good on your display when the map is loading (no more 800×600 levelshot).
  • All the maps rely on a res-tremulous resource packages that ships all the common Tremulous textures.
  • The ATCSHD map replace ATCS and is the only map shipping textures itself since its texture set is not part of the original Tremulous texture set. If a post-gpp map relies on the ATCSHD textures, this map can use the map-atcshd package as dependency.
  • The Wasteland skybox (for the ATCSHD map) is now shipped as high quality webp files compressed from png instead of the previous very ugly jpg pictures that were released before.
  • The res-tremulous package ships ATCS textures even if the ATCS map is not shipped and if ATCSHD does not rely on them, it will allows future port that rely on them (like ATCS Zone Alpha).
  • Many issues were fixed, like some uppercase filenames when the shader name is lowercase (and vice versa), or sound path that uses backslash (windows style) separator path. So, this release also fix some issue that are as old as Tremulous.
  • All the sound and texture paths are now extension independent paths.
  • And many more things…

vXYSFqQI’m getting a strange déjà vu feeling.

All the maps are auto-downloadable on a server named { tremulous memories } (click to play!) that have a tremulous map rotation list for the nostalgeek players.
All the maps ship navmesh and minimaps so they are ready to use and playable with bots (but it’s better with your friends)!

All the work I’ve done is versioned and stored on a git repository per package. You can find all the links for each repository at the Interstellar Oasis page.

These maps are probably not the more expected by players (more are coming), but they were the first maps that must be ported (especially the res-tremulous package) to be able to port other ones, more shiny and more awesome.

It takes me about 8 months to design useful and reusable tools and thinking about “what is a port done right” and fixing Unvanquished issues raised by this project and adding functionalities needed by this project. So, this port also means the Daemon engine is more robust than before and more convenient for mappers than before.

After those 8 months of thinking, designing tool, elaborating good practices and tracking Unvanquished bugs, it takes me only 3 days to port the whole tremulous package and I just waited 4 more days to take the time to refine some details with more hindsight.

So, it means porting other maps will not takes 8 months. :wink:

unvanquished_2015-08-24_022149_000OK, it looks nice, but it’s not the map I want to play!

The first objective of this project is not to port maps, it’s to test the daemon engine for regression and crash test mapping and assets tools and the way they expect people works with them (q3map2, I think of you). Because you can’t workaround design flaws when you are porting dozens of maps, the only way to see maps ported is to fix what is wrong or not as-good as it must be.

This port was the opportuniy to experiment some stuff, for example on lightmaps. The Transit Station map by Stannum is a very old map (born in year 2000, youngster) and if the last release is more recent, it’s probably a 10 years old build. This map have very bad lightmaps, so I tried to see what can be done with them without recompilation. Left before, right after:

transit-lightmap-filter.4Now people want to get the same filters at compilation time… 

Since all assets would have to be compressed, it was the opportunity to compare some file format. The daemon engine supports of course the old jpg and tga pictures formats like the old Tremulous engine did, but also supports png, crn (DXT compression) and webp. Most of the case, the crn format is good to use, but not every time, so, which one to use when crn is not a good idea or not possible? This is a comparison I did with the “Wasteland” skybox used by the ACTS HD map, this kind of skybox with many stars is a perfect case to make mad the jpg algorithm. As you see in the following comparative picture, it’s a big win for the lossy webp format: twice the size of the jpg file for an incredible better quality. The difference with the original png is visible, but the noise is very low and acceptable for a seventh of the original file size:

wasteland.webp-jpg-comparisonA landslide victory for webp…

You can browse the Interstellar Oasis map port project where you will find more maps since now and even more soon, there is a git repository per map and each change is very detailed.

If you like to hack some old stuff or want to know how it works, you can take a look at the Granger’s toolbox, the set of tools developed for porting these maps, it can also help some other projects based on id Software technologies and file formats.

And after that? Well, there is more maps to port, and far better ones. Some maps will probably receive a greater attention and be recompiled from source. For example it could be good to re-enable the moving escalators on the Metro map that were disabled for performance purpose eight years ago. Honestly, current computers are so powerful today they can render the good old Tremulous with CPU-based rendering only… It means it’s time to re-enable stuff that will nevermore frighten your computer.

oWEsTEiHow can I get out of this hell?

Do not forget, there is a community game scheduled each sunday at 20:00 UTC, it’s the best time to try out things to come! :bsuit:

2 thoughts on “A Tremulous déjà vu feeling…”

Comments are closed.