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.

Sprites are disappearing/flickering during play

Post Apr 28th '19, 15:15

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.
snakefinger


Post Apr 28th '19, 18:27

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

herecomethej2000
Ledyard, CT

Post Apr 28th '19, 21:56

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

treellama
Pittsburgh

Post Apr 28th '19, 22:01

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

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 28th '19, 23:13

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.
snakefinger

Post Apr 28th '19, 23:24

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

Wrkncacnter

Post Apr 29th '19, 00:17

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

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 29th '19, 00:21

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.
snakefinger

Post Apr 29th '19, 00:25

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

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 29th '19, 00:31

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

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 29th '19, 00:40

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
User avatar

Wrkncacnter

Post Apr 29th '19, 00:41

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.
snakefinger

Post Apr 29th '19, 00:57

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

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 29th '19, 01:46

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.
snakefinger

Post Apr 29th '19, 02:19

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

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 29th '19, 11:46

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

Lion O Cyborg
UK (which is IN EUROPE!)

Post Apr 29th '19, 12:07

The last significant change to the vistree was in 2010. So I'm very dubious that this is a new bug.
User avatar

treellama
Pittsburgh

Post Apr 29th '19, 14:19

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

Wrkncacnter

Post Apr 29th '19, 15:03

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

ravenshining
Hawai'i

Post Apr 29th '19, 16:13

I don't know what the other thread is, but, do the sprites disappear in software mode?
User avatar

treellama
Pittsburgh


Post Apr 29th '19, 17:12

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

treellama
Pittsburgh

Post Apr 29th '19, 17:37

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

Wrkncacnter

Post Apr 29th '19, 18:02

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

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

The Man
Sarasota, FL

Next

Return to Aleph One Discussion



Who is online

Users browsing this forum: No registered users