Eternal X 1.2

Discuss and unveil current Marathon projects.

Re: Eternal X 1.2

Post Apr 16th '19, 00:56

One thing that would help with memory (and VRAM) usage is to convert all the PNGs to compressed DDS.

The lightsaber in 38.png is a 2046x1416 PNG: 16 MB of memory just for that single frame. Compressed it becomes 4 MB. Don't forget it's doubled sometimes by OpenGL storing a copy of its own: 32 MB vs 8 MB. If you do that enough, it adds up! There's lots of optimization you can do here without losing any quality.

I can't even run Eternal X in 64-bit Linux with bump mapping on, since I am using the integrated graphics. Those bump map textures are compressed, but they're *enormous*. Can you really tell the difference between 2Kx2K and 1Kx1K in a bump map? If so, leave them in, but be judicious.
User avatar

treellama
Pittsburgh

Post Apr 16th '19, 01:06

Another tip: video cards handle textures in powers-of-two sizes. So, take weapon image 37.png, for example. 1082x2038. That scales up to 2048x2048 in RAM. If you resized it to 1024 pixels in width, it would use half the memory, and I doubt you could tell the difference in quality from losing 5% of your pixels.
User avatar

treellama
Pittsburgh

Post Apr 16th '19, 01:14

"Where Giants Have Fallen" preloads 61 wall textures, which is considerably fewer than the 94 in "The Far Side of Nowhere"...so, why does it crash? What's different?

(I can test this in Linux by setting the virtual memory limit for a process with ulimit -Sv; 4 GB is enough to run The Far Side of Nowhere, but not enough for Where Giants Have Fallen!)
User avatar

treellama
Pittsburgh

Post Apr 16th '19, 01:20

My hypothesis is the giant viewing distances, plus the large number of polygon sides visible at any given time. I have no idea if that’s correct, though. “S’pht Happens” also crashes on my machine with everything enabled, and that also has fairly large open spaces, though not as large as the ones in “Where Giants Have Fallen”.

(This may also be what’s causing my version of RyokoTK’s map in Chronicles to crash, since apparently the number of texture sets isn’t it. Still haven’t worked that one out.)

Converting the weapons to DDS and reducing their dimensions seems like a good idea. I suspect the difference is only visible if people are running the game in 4K, and I can’t imagine too many people are doing that.

ETA: “S’pht’ia”, which also has massive viewing distances, seems to load fine, so that might not be the reason after all. “S’pht’ia” only loads one texture set, but so does “Where Giants Have Fallen”, so that doesn’t seem like a plausible explanation for the difference.

I might test whether Ryoko’s map runs in the LAA version in a few minutes.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
User avatar

The Man
Sarasota, FL

Post Apr 16th '19, 01:36

I ran Aleph One with the valgrind memory profiler and started each map, and recorded the memory usage:

The Far Side of Nowhere uses 2,160,951,984 bytes of heap.
Where Giants Have Fallen uses 3,901,251,672 bytes of heap!

Only a small part of that is allocated during the level pre-load, so I am thinking maybe it's loading entire collections after all. Will investigate further when I have more free time.
User avatar

treellama
Pittsburgh

Post Apr 16th '19, 01:47

That would certainly explain why Ryoko’s map won’t load. It’s the only map in Chronicles that uses four collections. I don’t think any of the others even use more than two.

This could very easily be a Windows-specific bug that somehow slipped through the cracks, too.

Thanks for all your hard work in fixing these problems, BTW.

ETA: Ryoko’s Chronicles map seems to load fine with everything on using the LAA version, now that I’ve tested it. I offer this without any sort of hypothetical explanation, as I have none. LOL
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
User avatar

The Man
Sarasota, FL

Post Apr 16th '19, 01:58

can bump maps be a different size than the textures themselves?
User avatar

Pfhorrest
California

Post Apr 16th '19, 01:59

I think so? I can’t remember if I actually tested that.

BTW, the LAA version doesn’t seem to want to export videos. It loads, then crashes after a few frames. Will report back in a moment about whether reducing the maximum texture size fixes it, and/or how the regular 1.3b3 handles video exports.

ETA: Have gone down as far as “Higher” in LAA version and am getting same problem each time. Will now try regular 1.3b3.

…1.3b3 has the same problem. IDK if this is an Eternal-specific bug or if it’s 1.3b3’s problem. I’ll try exporting a Chronicles video next.

…Same deal with Chronicles. Haven’t tried downsampling textures in Chronicles; will instead see if 1.3b2 exports video.

…1.3b2 seems to work fine. Must be a problem specific to 1.3b3.

…first weird thing I’ve noticed with the 1.3b2 exports is that the water in “Deep Into the Grotto” has that weird striping, which was not the case when I played it. ¯\(°_o)/¯
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
User avatar

The Man
Sarasota, FL

Post Apr 16th '19, 12:15

I think bump textures can be a different size than the diffuse textures. The easiest way to know for sure would be to try it. I do know glow and diffuse need to be the same size though.

It looks like substitute textures for an entire collection are loaded into RAM if any texture from that collection is used on the level. They're not loaded into VRAM unless used. Usually that's not an important distinction, but in the case of a scenario that uses a LOT of resources, we're up against the addressing limit for 32-bit apps.

With modern storage systems, mip maps, etc., there's no reason these all need to be loaded at once. That's an idea for improvement in 1.4 (along with the new renderer). We could also get 64-bit Windows executables ready.
User avatar

treellama
Pittsburgh

Post Apr 16th '19, 16:21

i thought i remembered having bump maps fail to work because they were a different size than diffuse, though maybe i'm just thinking of glow maps. will be a long while before i have time to check myself.

thanks TL for looking into the AO side of all of this.
User avatar

Pfhorrest
California

Post Apr 16th '19, 20:48

treellama wrote:I am thinking maybe it's loading entire collections after all. Will investigate further when I have more free time.

treellama wrote:It looks like substitute textures for an entire collection are loaded into RAM if any texture from that collection is used on the level. They're not loaded into VRAM unless used. Usually that's not an important distinction, but in the case of a scenario that uses a LOT of resources, we're up against the addressing limit for 32-bit apps.


I knew it!

Remember, Pfhorrest, those two weeks we lost while you forced me to undo all the texture collection optimisation work I did, just so it would be better organised on the back end where it's completely irrelevant to actual players?

That said, it's strange that Where Giants have Fallen is causing this. It *shouldn't* have any non-water textures loaded. It may have at one point in time used a Sewage texture, but that was removed. Perhaps Vasara didn't remove the association somehow?
User avatar

ravenshining
Hawai'i

Post Apr 16th '19, 21:50

It’s easy to check what is being loaded, either with a Lua script or breaking in the debugger
User avatar

treellama
Pittsburgh

Post Apr 17th '19, 01:25

Where Giants Have Fallen is loading both the water and lava wall sets.
User avatar

treellama
Pittsburgh

Post Apr 17th '19, 01:50

For what it's worth. Windows 10 64bit. HD Graphics 520

Just some observations with a question at the end.

H=Highest, U=Unlimited
Using 13b3 and HHHNH everything works up to Unwired which crashes.
Try to scratch start Unwired and it crashes too; usual bad_alloc message.

Using the AlephOne-LAA with HHHHH works sometimes, but with UUUUU it crashes right off with this message: Unhandled exception: std::bad_alloc (../../git/Source_Files/shell.cpp:351)
Scratch starting Flight of Icarus with HHHHH crashes with the same message.
Flight of Icarus will not start with Walls higher than Higher with either AO version.

The following happens in both 13b3 and ~LAA:
The lava at the start of S'phit'ia was OK. S'phit'ia also loads with HHHHH.


Now, for the question re the following screen prints:
What setting do I have wrong to cause these effects?
Scripts folder has only what came with the download.
AO scripts folder has only the usual cheats plus the kill counter & Survival.

SeptococcalPfhoryngitis_0022.png
SeptococcalPfhoryngitis_0020.png
SeptococcalPfhoryngitis_0014.png
SeptococcalPfhoryngitis_0009.png
I just play 'em; I don't know how they work.
User avatar

HelviusRufus

Post Apr 17th '19, 01:57

treellama wrote:Where Giants Have Fallen is loading both the water and lava wall sets.


Ahhh, right! Because it has a secret 3x recharger, and Water maps don't do those. We could have prevented that problem with MML, if we were treating it as a problem at the time it was added.

HelviusRufus wrote:Now, for the question re the following screen prints:
What setting do I have wrong to cause these effects?


Whoa, I've never seen anything like that!
User avatar

ravenshining
Hawai'i

Post Apr 17th '19, 04:27

It’s a good thing you remembered that, because I completely forgot about it. I think that might mean that all the levels that aren’t loading in LAA for me using UUUUU are multiple texture set levels, then. (I haven’t tried “Flight of Icarus” yet.) I guess in 1.3 we should go back to those abandoned media reshuffle plans.

No other insights at the moment; I’ll revise this post if anything occurs to me.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
User avatar

The Man
Sarasota, FL

Post Apr 17th '19, 11:43

The Man wrote:I guess in 1.3 we should go back to those abandoned media reshuffle plans.

I would just lower the default texture resolution (or just use the 512x512 + optional extreme resolution plugin approach) and wait for Aleph One Windows to be able to handle the extra stuff. The media reshuffle stuff is ugly.
User avatar

treellama
Pittsburgh

Post Apr 17th '19, 17:06

I mean, yeah, it’s a pain in the ass to implement, but if it enables some systems to run the game when otherwise they’d experience crashes, it might still be worth it. When I have more free time (hopefully in May) I think I’ll look into whether the affected levels will run without problems on my Windows box with the media reshuffle implemented.

Of course, hopefully by the time we release Eternal 1.3, Aleph One 1.3 will also have been released officially, so maybe it won’t be a problem. It would be a nice little irony if both official releases were on the same day.

I also agree that the default release should probably just ship with 512x512 textures, with 1024x1024/2048x2048 optional.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
User avatar

The Man
Sarasota, FL

Post Apr 17th '19, 17:16

I think TLs suggestion of setting the resolution lower in default prefs is best, that way there's no additional download necessary if you want higher res, no additional work done with shuffling media textures around on the back side, which I agree with TL is ugly, and if AO is going to be updated to not need it anymore eventually, unnecessary work, when a simple edit to the default prefs will do it.

TL, eternal currently has no default preferences file ship with it. do I just put an Eternal-preferences.something in the main folder along with everything else? Can that default preferences only have a few things defined in it, and leave everything else to just default to AO's defaults? (e.g. I have weird control setup and wouldn't want the default prefs file, if made from a copy of my prefs file, to have all those weird settings in it that all other users used to AO's defaults would then have to change). can I just make a text file with the one line for the resolution setting, and name that appropriately?

sorry for the dumb questions i'm so fucking burnt out i can barely erven keep up with this thread
User avatar

Pfhorrest
California

Post Apr 17th '19, 19:11

It is named the same thing as the preferences file in the MML, except it is stored in the scenario directory. This turned out to be a bad design, because it confuses users into thinking they're modifying their preferences by editing that file, when they're not :(

It is XML and only needs to contain the preferences you want to change from the default. To set everything to High:

Code: Select all
<mara_prefs>
    <graphics>
        <texture index="0" max_size="2"/>
        <texture index="1" max_size="2"/>
        <texture index="2" max_size="2"/>
        <texture index="3" max_size="2"/>
    </graphics>
</mara_prefs>
User avatar

treellama
Pittsburgh

Post Apr 17th '19, 19:14

thanks!
User avatar

Pfhorrest
California

Post Apr 18th '19, 02:50

So, entirely by accident, I discovered something unexpected: 1.3b2 loads some of these levels with everything on when LAA crashes. “Heart of Fusion” and “Flight of Icarus” both appear to load in b2. For record, “Heart of Fusion” uses two texture sets (human and S’pht) and “Flight of Icarus” uses three (human, S’pht, and Forerunner). At the same time, the game crashed when I got to “The Land in the Sky”, which I thought was only using the Forerunner set (it may be the same deal as “Where Giants Have Fallen” where it’s also using the S’pht collection, though).

I offer this again without a hypothesis as to the cause, as I have none. If it would be helpful to go level by level and see what crashes LAA and what crashes b2, let me know. I do know that when I tried to render a film of “Deep Into the Grotto”, the water had the same kind of striping seen in HelviusRufus’ screenshots above, so I haven’t uploaded that video yet LOL. (The same seems to happen in “She Is the Dark One”. This seems to be a b2-exclusive problem as LAA doesn’t have the striping for either level. However it only happens in some levels, which is strange, and reducing the texture replacement quality doesn’t seem to affect it.)

…ugh the fists-only vid I just did of “Flight of Icarus” is refusing to play for whatever reason :| That was the one where the game crashed, but I’ve had some crashes before where the film still worked fine afterwards. Maybe it’s a 1.3 problem.
“People should not be afraid of their governments. Governments should be afraid of their people.” —V, V for Vendetta (Alan Moore)

“The trouble is that we have a bad habit, encouraged by pedants and sophisticates, of considering happiness as something rather stupid. Only pain is intellectual, only evil interesting. This is the treason of the artist: a refusal to admit the banality of evil and the terrible boredom of pain. If you can’t lick ’em, join ’em. If it hurts, repeat it. But to praise despair is to condemn delight, to embrace violence is to lose hold of everything else. We have almost lost hold; we can no longer describe happy man, nor make any celebration of joy.” —Ursula K. Le Guin, “The Ones Who Walk Away from Omelas”

“If others had not been foolish, we should be so.” —William Blake, The Marriage of Heaven and Hell

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
User avatar

The Man
Sarasota, FL

Post Apr 18th '19, 05:50

Ah, Flight of Icarus with it's three texture collections. We actually tested that one rather extensively in co-op (Spooky, Raptor, and I) after I wrote a script to dynamically change the underwater fog in co-op games. Of course, I'm on Linux, Spooky I think is on Mac, but I think Raptor had windows? I think he said he did not run B2 because it has problems with windows.
User avatar

ravenshining
Hawai'i

Post Apr 18th '19, 13:33

Sorry to but in, but Eternal 1.2 Tour of Duty is coming along nicely. I've decided to post each plank as its own entry, with the failure one including the preceding non-plank maps.

Part 0 is just a glorified manual story of my own making with the prologue map mixed in as this game actually has a prologue, unlike PID and I will write the two "stages" of each chapter first and post them around the same time. (three to start to include the prologue) I warn that they can get pretty long as Chapter 1 Stage 1 is 31 pages and counting as I cover the failure plank. The success one will be a separate entry.

The maps are listed as Acts, and they are set up to fit the stage in question e.g. C1S1A1 is Deja Vu All Over Again, C1S2A1 is Sekhmet Rising all the way through, instead of a cliffs notes and failure plank terminal as it is in part 1 etc.

I'm using Lia's rain map as the addition of rain particle effects in 2.5D engines is awesome and I'd like to showcase her work. I gave the rainy maps a quick pistol load test and I didn't get any noticeable slowdown, which is great as my machine is 2013 hardware.

I couldn't get the perl scripts for getting maps to work as there was no feedback nor indication they were running when I set them to in the perl command line, nor do I know where the XML/images are stored after saving. The readme was vague about how to run them too. Something about "stdin" & "stdout" (Standard input/output?). it's all greek to me. They did sound like folder names the scripts wrote to, but digging in the perl files yielded no folders of those names.

Due to this, I had to make do with taking snips of the map in Weland so I could still provide maps, though they show all lines so it may be hard to make out some rooms compared to in-game.

Initially they were of the default one as trying to load the rain one made Weland crash, at least on Windows, but it doesn't do that now.

Chapter 1 Stage 1 is nearly complete as I'm just on Unwired right now, but I will post all three opening parts once Chapter 1 Stage 2 is done and all images are uploaded for embedding. I'll probably bring up Tour of Duty on the Rampancy Destiny 2 stream later tonight as well.
User avatar

Lion O Cyborg
UK (which is IN EUROPE!)

Post Apr 18th '19, 18:51

ravenshining wrote:Ah, Flight of Icarus with it's three texture collections. We actually tested that one rather extensively in co-op (Spooky, Raptor, and I) after I wrote a script to dynamically change the underwater fog in co-op games. Of course, I'm on Linux, Spooky I think is on Mac, but I think Raptor had windows? I think he said he did not run B2 because it has problems with windows.


I am running windows 10, and Beta 2 of the latest version of Aleph one will not connect to the lobby in windows 10. No idea why. But yeah, we tested that map pretty well. Not too many issues with it.
"The only thing we learn from history is that we learn nothing from history"-Georg Hegel
||Legends of Marathon Net Maps|| ||Eternal Legends of Marathon Net Maps||
User avatar

raptor200221

PreviousNext

Return to Projects



Who is online

Users browsing this forum: No registered users

cron