Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  

Establishing permanent demo compatibility from next official version onwards?

Recommended Posts

It would be interesting if the next Eternity official release starts to keep strong demo compatibility with itself from them on. Basically any demo that gets recorded with the next version to be playable using any newer EE versions. This would allow any Eternity megawads (if any) to be recordable into demos that are then uploaded to the Doomed Speed Demos Archive and don't require you to download exact EE versions just to play them back.

Eternity already has a "full_demo_version" system put in place to have demo compatibility with any version, from vanilla Doom to Eternity, so it would be nice if it's really used.

Here are the conditions (kinda interdependent):
1. Make sure none of the development releases (on DRDTeam and especially on Doomworld release) have bugs or partially implemented gameplay (developers should really use Git branches and unofficial beta releases for these things). This of course requires a high quality control. Any gameplay change should be conditioned with full_demo_version (and there should be as few as possible; feature additions are another matter and wouldn't affect older wads). The version should be bumped.
2. Run automatic demo testing before each development release.

Unfortunately I've discovered some bugs in Eternity dating years ago, which would even break vanilla demo compatibility, which I've recently fixed. The point is that Bifrost (last official version) has them, so maintaining Bifrost demo compatibility would mean maintaining those bugs. I'd rather start from a clean state, which can be the next version.

Share this post

Link to post

If you really want this then I would strongly suggest setting up a regression test suite. It's the only way to catch gameplay changes, as try as you might they will creep in by accident when you make feature additions. There's some bits of code in prboom/prboom+ that I wrote a long time ago to start this off; I think chocolate doom has some independently written stuff too, see e.g. https://github.com/chocolate-doom/statcheck which might be extended to Eternity or vice versa.

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this