Aleph One 1.2

Have a question, suggestion, or comment about Aleph One's features and functionality (Lua, MML, the engine itself, etc)? Post such topics here.

Aleph One 1.2

Post Jun 20th '15, 01:51

Edit: 1.2.1 is out now, which fixes a crash if you use carnage message MML. Links updated.

Aleph One 1.2 is now available from http://marathon.sourceforge.net/

Aleph One 1.2 features online leaderboards and game statistics, a streamlined saved-game system, and full multiplayer support for the original Marathon game. This release also includes a number of other new features and bug fixes.

If you do not use the bundled downloads, we recommend that you update your scenario files. Each game includes a new plugin for the online leaderboards, and the Marathon scenario includes an important compatibility fix.

For more details, please read the full release notes:
https://sourceforge.net/projects/marath ... 20/#readme
Last edited by Hopper on Jun 20th '15, 17:12, edited 1 time in total.
User avatar

Hopper

Post Jun 20th '15, 06:37

Awesome Hopper! Thanks so much! And the #STATIC bug that had made Eternal unplayable is fixed, hooray!

However it seems that the beautiful floating HUD you made for Eternal doesn't work in the new update. I've checked that the plugin containing it is enabled. Any idea why it's not working?
User avatar

Pfhorrest
California

Post Jun 20th '15, 09:18

Any uploads not to malware distribution sites?
keiya

Post Jun 20th '15, 13:18

sourceforge.net is not a malware distribution site. If every link you click on is taking you to such sites, you may already have malware on your computer.
User avatar

herecomethej2000
Ledyard, CT

Post Jun 20th '15, 15:11

Pfhorrest: split the HUD and theme parts into two separate plugins, and it'll work again. The combined plugin worked in 1.1 by quirk of implementation rather than by design; I'm sorry I didn't notice earlier how that was packaged.

In 1.2, the plugins code got an overhaul, and one of the improvements is that solo-Lua plugins are automatically disabled during net games. This means you can leave a Cheats.lua plugin on without going OOS in multiplayer. Themes don't fit this "solo" vs. "net" model, since they take effect outside of a game: when should Aleph One activate a theme bundled into a solo-only plugin? It made the most sense to me to segregate themes and avoid those questions altogether.

Also, some folks may love the HUD, but prefer a different theme, or vice versa; it's nice to give them the choice to set up Eternal exactly as they wish.
User avatar

Hopper

Post Jun 20th '15, 17:50

Seriously though, you should definitely consider moving away from sourceforge.
User avatar

Wrkncacnter

Post Jun 20th '15, 18:54

Keiya is referring to recent news of SourceForge bundling adware without permission of the original project authors. While Aleph One has not experienced any such issues with our project or its downloads, we are interested in alternatives. Here are some of my notes on the matter:

  • GitHub's policies and tools for large files have evolved a few times since I started evaluating them. Today it looks like they do meet our needs, although I'm not sure if that will change in the future.
  • We haven't had great success with donated server space: we were left SOL when our previous home died and the admin had no backups.
  • Paying for hosting is the most reliable option, but we might need ongoing donations to cover the bandwidth costs (I haven't crunched the numbers lately).
We are definitely open to feedback on these or other options. Right now, I can at least provide MD5 checksums, so you can verify what you downloaded is what I uploaded:
Spoiler:
Code: Select all
2797daba685fa137ea27638b98bcb45f  AlephOne-20150620-Mac.dmg
0365aa22ce016fdf17d69d42b24d9518  AlephOne-20150620-Win.zip
561914ed5880c75877bc9eeb18429a37  AlephOne-20150620.tar.bz2
0d32fb35b670f0dd055f7f1c75da0952  Marathon-20150620-Data.zip
4231abf1225e31770fa8db5484c80de3  Marathon-20150620-Exe-Win.zip
60e06e95ed4971258f6062c9fecb60a4  Marathon-20150620-Mac.dmg
030c70c73071e58fd53bcadd7d92af5f  Marathon-20150620-Win.zip
3f63fa7aaae381989a4500ae0f219ab3  Marathon2-20150620-Data.zip
a9cb861c2ab9962c2895ed63a74cb5ff  Marathon2-20150620-Exe-Win.zip
8f829af7274cbdcf8343f4a1b146e62e  Marathon2-20150620-Mac.dmg
bbf26945971747765db474ebfa10f12d  Marathon2-20150620-Win.zip
a9293f7d54f3c2051dd1b33829210ae2  MarathonInfinity-20150620-Data.zip
169c51f5fbe2e1b99e79fa4a6d9f1b11  MarathonInfinity-20150620-Exe-Win.zip
74b8c9f1499de42b09867ef4b2e6c06a  MarathonInfinity-20150620-Mac.dmg
7f5b2203e63debc667670fa35f14748e  MarathonInfinity-20150620-Win.zip
User avatar

Hopper

Post Jun 20th '15, 20:17

I see. Well in that case, github is kinda the place where all the cool kids are going these days. It's worked well for other much larger projects, e.g. OpenEmu. Even FreeSpace Open moved over to it. That's if you like working with git and don't have your heart set on svn.
User avatar

herecomethej2000
Ledyard, CT

Post Jun 20th '15, 21:03

herecomethej2000 wrote:It's worked well for other much larger projects, e.g. OpenEmu.

OpenEmu doesn't distribute hundreds of megabytes of game assets like we do, just a comparatively tiny ROM pack. The game data (including bundled downloads) is the toughest part of the equation. GitHub is undeniably a terrific place to host code.
User avatar

Hopper

Post Jun 20th '15, 23:50

Hopper wrote:Pfhorrest: split the HUD and theme parts into two separate plugins, and it'll work again. The combined plugin worked in 1.1 by quirk of implementation rather than by design; I'm sorry I didn't notice earlier how that was packaged.

Awesome, thanks, that fixed it!

While testing that I noticed another odd bug, twice; I don't have time to test more thoroughly for a few days but I thought I'd mention it. I played through the first two levels into the third, and upon arriving in the second level, the music from the first level continued playing... until it looped, then the correct music for the second level started. But then that second-level music continued playing into the third level... I didn't play long enough to check, but I assume it would also have switched to the correct third-level music upon looping.

When I say "continued playing" BTW I don't mean that the music played without stop; it stopped for the loading screen between levels. But then the song that it started on the next level was the song that it had been playing before (from the beginning), instead of the new song it should play for that level.

I've never noticed that before so I suspect it's a new bug somewhere in this release.
User avatar

Pfhorrest
California

Post Jun 21st '15, 02:39

Sourceforge has tons of fake-download-button ads, and has a habit of bundling malware into installers. As long as A1 is hosted there I have to assume it's compromised.

Besides... it's bad enough that a lot of tools are putting it on the default block list, do you really want to have to talk people through disabling security tools to get it? That is sketch as heck.
keiya

Post Jun 21st '15, 04:58

Leaderboards for the six people that still play online? Well, okay. The streamlined saving is cool, at least. Thanks for your continued work.
User avatar

RyokoTK
Saint Paul, MN

Post Jun 21st '15, 12:57

Strange, reading plugins from zip files was a lot better in the old 2014-01-04 build in that loading from zipped plugins is a lot slower now. I went back to make sure. Not sure what happened there. This is the OSX build. I haven't had a chance to look at it in windows.

If bandwidth is a concern why are we not taking adantage of zipped plugins in our releases?

Also Goron updated his lava set years ago, why aren't we using his 2.05?

I don't know if anyone is feeling ambitious, but couldn't we use LZMA to decode 7zip files instead? The compression rates are a lot better.
User avatar

herecomethej2000
Ledyard, CT

Post Jun 21st '15, 16:28

RyokoTK wrote:Leaderboards for the six people that still play online?

Solo players can participate in the dedicated solo boards, and we're open to suggestions for additional boards. The multiplayer leaderboards do not require playing on the meta: you can compete even if you only ever play LAN or direct-IP games.

Third-party scenarios are also welcome on the boards, if you'd like to work with us on an appropriate stats plugin. Anyone with strong knowledge of a scenario's physics can PM me if they're interested in the process. The bulk of it is making sure the plugin's Lua counts bullets and enemies appropriately.

herecomethej2000 wrote:If bandwidth is a concern why are we not taking adantage of zipped plugins in our releases?

The downloadable releases are compressed. A zipfile of a zipfile is larger than a zipfile of uncompressed files.

Besides that, zipped plugins have always been slower than unzipped ones. The intent is to make plugin installation more convenient: the reduction in on-disk footprint is a side effect and not an explicit goal.
User avatar

Hopper

Post Jun 21st '15, 18:14

3D models display even when their center point is behind player


Fantastic! Thanks for this.
User avatar

heliomass
Montréal, QC

Post Jun 21st '15, 21:36

Hopper wrote:The downloadable releases are compressed. A zipfile of a zipfile is larger than a zipfile of uncompressed files.

Besides that, zipped plugins have always been slower than unzipped ones. The intent is to make plugin installation more convenient: the reduction in on-disk footprint is a side effect and not an explicit goal.


Yes but a zip of a 7zip would still (for the most part) be much smaller. (can't speak for LZMA decode times if it's as good as zziplib)

When it works, the loading difference isn't really noticeable. Even with my large marathon infinity HD monster set. Something is wrong with the OSX release. As I said it wasn't this bad in the last release. Ever since Quake, games have been reading from zip compressed files with little drawback. (.pk3 is just a renamed .zip) The on-disk footprint may be a side effect, but it is a nice one, and not minor.
User avatar

herecomethej2000
Ledyard, CT

Post Jun 22nd '15, 05:32

Hopper wrote:
RyokoTK wrote:Leaderboards for the six people that still play online?

Solo players can participate in the dedicated solo boards, and we're open to suggestions for additional boards. The multiplayer leaderboards do not require playing on the meta: you can compete even if you only ever play LAN or direct-IP games.

Third-party scenarios are also welcome on the boards, if you'd like to work with us on an appropriate stats plugin. Anyone with strong knowledge of a scenario's physics can PM me if they're interested in the process. The bulk of it is making sure the plugin's Lua counts bullets and enemies appropriately.


I don't suppose there's any way to track playing time, either on a per-level basis or for a full playthrough, for the leaderboards? Having a leaderboard category for speed running would be interesting.
User avatar

RyokoTK
Saint Paul, MN

Post Jun 22nd '15, 19:16

RyokoTK wrote:I don't suppose there's any way to track playing time, either on a per-level basis or for a full playthrough, for the leaderboards? Having a leaderboard category for speed running would be interesting.

Yes we can, actually. No-death ILs are easy, and we can separate vidmaster attempts from non-clean starts. Multi-level or deaths-allowed playthroughs are tougher, because we'd have to match up a sequence of stat records.

Stats collection is done in Lua, and it has the same lifetime as solo scripts. A stat session in solo play starts when a game is begun or restored from a save, and runs until the player dies, quits, or teleports off the level. At exit, the stats Lua calls a special function which sends the collected data to lhowon.org. The info we collect includes:
  • The start and end tick of the session
  • Whether the session started from a save
  • Which level the player is on
  • Whether the player died at the end
  • Whether the player finished the level (teleported off) at the end
  • On the server side, the date and time the stats are received
From that, it's possible to tell a good bit about how that session fits into a playthrough. Vidmaster records are the easiest to add, because they'd be contained in one session, starting at 0 ticks and finishing the level. Non-vidmaster ILs would start at non-zero ticks, but not from a save, and also finish the level.

Final in-game time for finishing a scenario (discounting deaths) is easy in the normal case: it's just the end tick when the final level is completed. However, the server wouldn't know if the player vidmaster-jumped over some levels earlier in the scenario, unless we tried to match up a chain of records back to the opening level. If the user switches between multiple save files, or if their internet flakes out when it's time to send a level's stats, it becomes impossible to reconstruct the chain of events. It's a matter of whether we care about some bogus low times at the top of the list.

If we actually reached the point of real competition, stats would not notice many forms of cheating, including Cheats.lua or intra-level teleporting. Films serve as solid proof against that, though; they're impervious to everything except TASing. I'd love to have speedrunning boards combined with film upload and an encoding service, with your top times automatically verified and posted on YouTube.
User avatar

Hopper

Post Jun 22nd '15, 19:25

I think I can safely say that Marathon is not popular enough to warrant any serious concern about cheating or TAS runs. I just think it's a more relevant way of comparing single-player performance in a scenario than kills per shot. Maybe I just want more people to play Phoenix :P

e: Actually, an IL table for something like Kill Them All would be pretty interesting.

e2: This is really just part of my campaign to get Marathon 2 at AGDQ in 2016.
User avatar

RyokoTK
Saint Paul, MN

Post Jun 22nd '15, 20:17

Hopper wrote:Stats collection is done in Lua, and it has the same lifetime as solo scripts.

Code: Select all
Game.restore_passed()
User avatar

treellama
Pittsburgh

Post Jun 24th '15, 04:42

Pfhorrest wrote:While testing that I noticed another odd bug, twice; I don't have time to test more thoroughly for a few days but I thought I'd mention it. I played through the first two levels into the third, and upon arriving in the second level, the music from the first level continued playing... until it looped, then the correct music for the second level started. But then that second-level music continued playing into the third level... I didn't play long enough to check, but I assume it would also have switched to the correct third-level music upon looping.

When I say "continued playing" BTW I don't mean that the music played without stop; it stopped for the loading screen between levels. But then the song that it started on the next level was the song that it had been playing before (from the beginning), instead of the new song it should play for that level.

I've never noticed that before so I suspect it's a new bug somewhere in this release.

I had time to test this some more and here's what I found.

I played through the first three levels this time into the fourth. On the first level, the first level music plays and loops through to the first level music correctly. Upon playing through into the second level, the first level music begins playing again, but when it's done, it loops through to the correct second level music. Upon playing through to the third level, the first level music begins playing again, then the second level music plays upon loop, and only on the third loop does the correct third level music play. Upon playing through to the start of the fourth level, the first-level music starts playing again.

When I vidmaster-start any level, it just plays the correct music for that level immediately.

This strange behavior does not happen in 1.0.2. I can't test 1.1 because of the #STATIC bug which keeps me from being able to page through the interlevel terminals.

The new Marathon 1 bundle with this new Aleph One version doesn't exhibit this behavior; its music behaves correctly. M2 and Infinity of course don't have music. I don't have any other scenarios with music installed at the moment to test.

Any idea what's happening?
User avatar

Pfhorrest
California

Post Jun 25th '15, 01:54

Pfhorrest wrote:The new Marathon 1 bundle with this new Aleph One version doesn't exhibit this behavior; its music behaves correctly. M2 and Infinity of course don't have music. I don't have any other scenarios with music installed at the moment to test.

Tried this with the latest release of Marathon: Phoenix. The music behaves as normal.

…But then I performed a little test. I added some #STATIC to a terminal on the first level, exited the map, and was met with the looping behavior Pfhorrest describes concerning Eternal.
Love Marathon, and also play Doom on modern source ports? You might like these skins!
User avatar

President People

Post Jun 25th '15, 04:15

A-ha! Thank you! So it seems like something in the #STATIC-handling code is affecting the music playback somehow. That sounds weird.

Can you also confirm that this bug occurs in Eternal 1.1b4 for you?
User avatar

Pfhorrest
California

Post Jun 25th '15, 06:45

Pfhorrest wrote:Can you also confirm that this bug occurs in Eternal 1.1b4 for you?

It does.

And just to be thorough, I'll add that Marathon's music behaves correctly for me.
Love Marathon, and also play Doom on modern source ports? You might like these skins!
User avatar

President People

Post Jun 25th '15, 20:14

I am working on an updated version for Phoenix for AO 1.2 and I'm getting the looping bug as well, although I do not use #STATIC. I did change the music list a bit and added a few songs, but the music mml seems fine.

I do not consistently get the bug, though.
User avatar

RyokoTK
Saint Paul, MN

Next

Return to Aleph One Discussion



Who is online

Users browsing this forum: No registered users

cron