Sprites are disappearing/flickering during play

Have a question, suggestion, or comment about Aleph One's features and functionality (Lua, MML, the engine itself, etc)? Post such topics here.
snakefinger
Spazeroid
Posts: 6
Joined: Apr 28th '19, 14:53

Operating system and version:
Windows 7

Video card and driver version:
Nvidia GeForce GT 750m (dual with SLI but I think Aleph One only uses one); newest driver

Aleph One version and scenarios tried:
Both AlephOne-20150620-Win and AlephOne-20190331-Win with the scenarios Marathon-20150620 and Marathon-20190331, Rubicon X, and Aleph One: Pathways Into Darkness 1.1.1

Renderer(s) used:
The error can be replicated using both Software rendering and OpenGL rendering (Classic and shader in AlephOne-20150620)

I've made a short video demonstrating the problem here:
https://www.youtube.com/watch?v=JRDuN-XOiL4

It may not seem serious but it is pretty much game breaking in harder levels where you open up a door and don't realize a bob is standing right there before his sprite reappears and he shoots you to death in the face.
User avatar
herecomethej2000
Mjolnir Mark IV
Posts: 631
Joined: Jan 22nd '06, 17:26
Contact:

I don't think this is unique to any OS, or hardware. I have seen it happen on every system I have tried on. Windows, Linux, OSX/ATI, Intel, Nvidia.
User avatar
treellama
Vidmaster
Posts: 6105
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

Did the originals do this? Because I’d be surprised if the software renderer has changed much since the early days of Aleph One.
User avatar
The Man
Vidmaster
Posts: 1112
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

I can’t recall this ever happening in the original games, and I played them pretty incessantly back in the ’90s. I assumed it was an OpenGL problem, but if it’s documented as occurring in the software renderer, then I guess that hypothesis is toast.

I, too, have experienced this across hardware, operating systems, and Aleph One versions. No idea when it got introduced into the engine, but I’d very much like to see it fixed for 1.3 if possible.
“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

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
snakefinger
Spazeroid
Posts: 6
Joined: Apr 28th '19, 14:53

So this is happening to everyone? People must have more tolerance for it than I do because it's been glitching like this since the newest AO release in 2015. The last time I did a playthrough of these scenarios was in 2014, so I went and got a copy of AlephOne-20140104-Win and sure enough that version seems to have no problems with this texture glitch. I guess I'll have to play with a depreciated engine for a while, I hope this can be fixed in the upcoming releases.
User avatar
Wrkncacnter
Vidmaster
Posts: 1947
Joined: Jan 29th '06, 03:51
Contact:

I don't think it's a matter of having more tolerance, it's just that there's not much we can do about it. Going to a super old A1 isn't an option for a lot of people.
User avatar
The Man
Vidmaster
Posts: 1112
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

What Wrk said, basically. I’ve just learnt to live with it because it only happens occasionally, and the two scenarios I’ve been developing employ features that probably wouldn’t work the same way in older versions of the engine where the glitch doesn’t occur. I know the implementation of Lua has been changed substantially since earlier versions of Aleph One, to the point where scenarios developed for older versions of the engine such as EMR are essentially unplayable with newer versions (i.e., it loads, but you will not be able to complete many of the levels). I also routinely use a number of other features such as the internal film export to video that are relatively recent additions to the engine; I suppose I could record films with older versions of the game and then render them using a newer version, but I haven’t gotten around to that. (IDK how many of these features were in the January 2014 release – I never really went back to check when the glitch started happening.)

Anyway, since I want the Lua in Eternal and Chronicles to work with current versions of the game, relying on older versions isn’t an option. For the original trilogy, plus scenarios like Tempus Irae and Rubicon that don’t take advantage of the engine’s newer features, you might be OK trying older versions, or just going back to Basilisk II/SheepShaver in the cases where the games were built for Infinity. If you want current Lua, though, you’re pretty much stuck with things as they are.

Which, I guess, is why this is probably roughly tied with the Windows memory management issues as the feature I’d most like to see fixed in 1.3 final. I keep going back and forth on which is more important, or whether their importance is roughly equal. In any case, I do think this is one of the most annoying bug in the engine; it’s just one I’ve learnt to compensate for. I pay extra attention to NPC placement (allies and enemies alike), knowing any of them could disappear at any time.
Last edited by The Man on Apr 29th '19, 00:21, edited 1 time in total.
“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

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
snakefinger
Spazeroid
Posts: 6
Joined: Apr 28th '19, 14:53

Wrkncacnter wrote:I don't think it's a matter of having more tolerance, it's just that there's not much we can do about it. Going to a super old A1 isn't an option for a lot of people.
True, I wasn't suggesting that this was a solution, just that the sprites worked in the past and possibly the old version could be used to fix the new one.
The Man wrote:What Wrk said, basically. I’ve just learnt to live with it because it only happens occasionally, and the two scenarios I’ve been developing employ features that probably wouldn’t work the same way in older versions of the engine where the glitch doesn’t occur.
For me the glitch happens a lot in many scenarios I played, nearly every time I encountered an enemy. I have not had it happen to me at all so far in Eternal though.
Last edited by snakefinger on Apr 29th '19, 00:26, edited 1 time in total.
User avatar
The Man
Vidmaster
Posts: 1112
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

I’m sure it’s a good starting point, but there have been 647 commits to the master since the 2014-01-04 release. Obviously not all of those are relevant, since we know the problem appeared in between the 2014 release and 1.2.1 in late 2015, but I assume there are still hundreds of commits to comb through and figure out which one was the cause, then isolate the offending line(s) of code, then figure out a way to solve the issue that doesn’t potentially break something else. This isn’t to say that this knowledge isn’t helpful, though – there are now a lot fewer commits to sort through than there would be if it were necessary to look back as far as Bungie’s source code.
“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

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
User avatar
The Man
Vidmaster
Posts: 1112
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

Potentially double posting because this editing thing is probably getting confusing:
snakefinger wrote:
The Man wrote:What Wrk said, basically. I’ve just learnt to live with it because it only happens occasionally, and the two scenarios I’ve been developing employ features that probably wouldn’t work the same way in older versions of the engine where the glitch doesn’t occur.
For me the glitch happens a lot in many scenarios I played, nearly every time I encountered an enemy. I have not had it happen to me at all so far in Eternal though.
Huh. That’s interesting. I probably notice it a lot more often in Chronicles than I do in Eternal, now that I think about it. I’d actually have to think about whether I’ve noticed it in Eternal at all. Eternal uses OpenGL to replace a lot of its enemies’ sprites, whereas Chronicles doesn’t do that for any of them, I don’t think. I wonder if that’s relevant.

I wouldn’t say it happens nearly every time I encounter enemies in any game I’ve played, though. It happens occasionally, usually when I’m at point-blank range, but not nearly that bad. I have played quite a bit of M2 and Infinity; you can find some of my films on my YouTube channel in my sig (plus literally hundreds of films by others), all of which (I think) were rendered using 1.2.1 or 1.3b2. You’ll notice occasional disappearances, but not all the time. I would be quite a bit more annoyed about this if I were experiencing it as often as you apparently are.
“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

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
User avatar
Wrkncacnter
Vidmaster
Posts: 1947
Joined: Jan 29th '06, 03:51
Contact:

It has to do with the level geometry, so maybe the way Eternal's maps are made just don't result in this glitch happening very often. It happens constantly in close range for AOPID, so I guess you want to avoid a bunch of 1 WU squares :P
snakefinger
Spazeroid
Posts: 6
Joined: Apr 28th '19, 14:53

The Man wrote: I wouldn’t say it happens nearly every time I encounter enemies in any game I’ve played, though. It happens occasionally, usually when I’m at point-blank range, but not nearly that bad.
I've noticed that too, in fact just a little bit out of melee distance is where it occurs for me. On my system I can actually stand a certain distance away from a stopped enemy and have them disappear until I move closer or further away and I can repeat making them disappear for as long as I want. I tried to record this but my screen capture software failed. In Eternal my play style so far is to hit everything that moves with the pfhor staff, so I definitely would have noticed this glitch if it occurred as often as in Marathon 1 and Rubicon.
User avatar
The Man
Vidmaster
Posts: 1112
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

For me this problem is actually worst when the enemy is literally bordering me, which leads me to wonder whether I’m experiencing a mildly different problem. I tend to use either fists or the staff as much as possible as well.

Your best bet at documenting your issue, if needed, may actually be to save a .filA of a case where an enemy disappears for you, then export it using alt-Replay Saved Film, then upload that to YouTube or somewhere. (Alternately you just can do alt-Replay Last Film, I believe.) That way you also don’t have to worry about capturing sound (though it’s not really relevant for this issue, I suppose).

The only caveat with this rendering method is you may want to go into your preferences file (locations vary depending upon OS) and replace:

Code: Select all

movie_export_video_quality="50"
with something higher. Since I usually delete my videos after uploading them, I usually just use:

Code: Select all

movie_export_video_quality="100"
But that does result in massive files. Also, be sure your text editor doesn’t inadvertently change the straight quotes to curly quotes, or A1 may decide to overwrite your preferences file with the defaults. (Some text editors, including Apple’s, may do this even if you don’t replace the quotes.) It may be worth backing up your preferences before doing this just to be sure.

(You may also want to edit movie_export_audio_quality while you’re at it; since that has very little effect on file size, I definitely recommend changing that to 100.)
“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

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
snakefinger
Spazeroid
Posts: 6
Joined: Apr 28th '19, 14:53

Oh that's right, I forgot Marathon automatically made replays, the last one seems to be broken because of all the switching I did between AO versions playing the same scenario though.
User avatar
The Man
Vidmaster
Posts: 1112
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

If you’re restoring from a saved game, it won’t record a film. Command-option-new game (or control-shift-new game depending upon your OS) will record films, as will a vanilla new game.

Also, upon further testing, Wrk’s “1 WU-wide corridor” hypothesis may be accurate. Sprite disappearances seem much less common in open spaces.
“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

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

Last.fm · Marathon Chronicles · Marathon Eternal 1.2 · Where Monsters Are in Dreams · YouTube Vidmaster’s Challenge
User avatar
Lion O Cyborg
Cyborg
Posts: 168
Joined: Jun 22nd '18, 19:00
Location: UK (which is IN EUROPE!)

I thought I was the only one that noticed this. It never happened before so it may be something to do with either the newer versions of Aleph One, windows updates or both.
User avatar
treellama
Vidmaster
Posts: 6105
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

The last significant change to the vistree was in 2010. So I'm very dubious that this is a new bug.
User avatar
Wrkncacnter
Vidmaster
Posts: 1947
Joined: Jan 29th '06, 03:51
Contact:

I provided a film of it in the other thread. I guess someone should check to see how far back A1 can play it and see if it happens in all versions. I don't remember if film compatibility for a1 broke any time recently.

For what it's worth, I certainly don't remember this ever happening back in the day.
User avatar
ravenshining
Vidmaster
Posts: 889
Joined: Jun 17th '17, 22:50
Location: Hawai'i

Not that I've ever tried, but from what I've seen of the film code... if you try to, say, take a film recorded in 1.3 and play it back in 1.1, shouldn't you get an error saying the film version is newer than your aleph one version?

Pertinent to the topic, I think the *only* time I've ever at least noticed this issue on my Linux box is with AOPID, and there it was brief and infrequent enough I wasn't sure if I did see it, but now that ya'll bring it up, maybe I did.
User avatar
treellama
Vidmaster
Posts: 6105
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

I don't know what the other thread is, but, do the sprites disappear in software mode?
User avatar
treellama
Vidmaster
Posts: 6105
Joined: Jun 2nd '06, 02:05
Location: Pittsburgh
Contact:

Films made with 1.3 will play back with 1.2, but no earlier. Sounds like you've got an afternoon of playing AMS with earlier versions of Aleph One in store. Fun.
User avatar
Wrkncacnter
Vidmaster
Posts: 1947
Joined: Jan 29th '06, 03:51
Contact:

Lol my part in this is done. I'm not planning on doing anything else about this. I already assume no one is willing to touch the renderer code, so it is what it is.
User avatar
The Man
Vidmaster
Posts: 1112
Joined: Aug 6th '08, 05:23
Location: Sarasota, FL
Contact:

Can someone go through the films on my YouTube channel and find a Marathon 2 film recorded in the '90s or early '00s with disappearing sprites? Then later I'll go through with various versions and see if the issue persists in earlier A1 versions (or upload the film file so someone else can). This would at least cover us back to whatever version of A1 introduced M2 film playback, which I think was before 2014, wasn't it?
“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

“The law cannot protect anyone unless it binds everyone; and it cannot bind anyone unless it protects everyone.” —Frank Wilhoit

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