Page 11 of 65

Posted: Thu Apr 28, 2005 6:35 am
by Diedel
Before I spend countless hours on digging through D1X code, or trying to make D2X use all D1X data, I will port D2X to Linux. Imo the new D2X features are far more exciting than playing some old-style D1X single/multiplayer.

If the userbase of D2X was big enough, I'd build in some enhancements that would render it incompatible with standard D2 (how about 16 players in online games - the networking data structures are so crappy it would be a hell of a task to allow for 16 players and yet stay comptabible with D2 network code)?

Posted: Fri Apr 29, 2005 10:38 am
by Ferno
The guy who is working on D1x currently would be Donut

Posted: Sat Apr 30, 2005 12:42 am
by Duper
D2x 1.3.35

was playing Keg tonight and notcied that the missle view window would loose textures. It would be white with shading.

Also, when I respawned, it's like being shot out of a gun! o_0 I would slide a good 20 to 40 units before stopping, unless something was in my way.

Anyone else having this trouble?

Posted: Sat Apr 30, 2005 2:43 pm
by Lehm
Duper wrote:was playing Keg tonight and notcied that the missle view window would loose textures. It would be white with shading
What kind of graphics card do you have?

Posted: Sat Apr 30, 2005 4:47 pm
by BUBBALOU
1.3.36 i have a screen shot of the issue but this shows up in the rearview window, no issues until after 1.3.34 did not check missle view but it might be related to all windows. this problem changes with movement. can be from just limited distance and sometimes will fill the whole window

rearview window here

my specs

Posted: Sat Apr 30, 2005 5:25 pm
by Duper
Lehm wrote:
Duper wrote:was playing Keg tonight and notcied that the missle view window would loose textures. It would be white with shading
What kind of graphics card do you have?
My system:

mobo: Shuttle AK32A (VIA KT266A, VT8366A/VT8233)
CPU: Athlon 1800+
VID: XFX Nvidia 6600GT (drvrs:7.1.8.9){current}
Mem: 512meg Mushkin DDR 2100 cas 2.5
Sound: SB Live! 5.1 (sb0100)
OS: XP PRO
HD: Maxtor 7200 60 Gig (Quantum drive)
IE 6
Dx 9.0c

Transparent Explosions

Posted: Sat Apr 30, 2005 8:59 pm
by 3803
I was wondering if you could implement transparent explosions like in the 3dfx version.

For some reason it really has this great feel to it imho.

btw, another bug...when midi is at minimum volume, then back at a not zero volume, playback is restarted instead of resumed.
This probably causes the menu music to continue when I go back in the game.(when midi volume was changed ingame, that is)

Oh I noticed moving dynamic lights such as lasers look good now but are a bit jerky (as usual, nothing new) Any way to smoothen/interpolate the movement of thse lights? (by using more accurate fractional parts or writing interpolation code)
Transparent explosions I would like to see...the interpolation thing is something i care less about, allthough it would be nice.

I noticed the soundeffects sounded a bit distorted in the latest version...could be my piece of crap soundcard, though...I haven't really looked into that.

Thank you for d2x-w32!

Posted: Sat Apr 30, 2005 10:25 pm
by MD-2389
I also noticed a bug introduced by 1.3.35 (haven't checked 1.3.36 yet) with the laser cannon. Sometimes d2x-w32 will fail to render the laser blasts up close, but will render the bolts a couple cubes away. However, anything in the patch, whether up close or far away, will still get hit and take damage like normal.


AMD XP 2800+
Leadtek K7ncr18-D Pro (nforce2 mobo, ultra 400 chipset using onboard SoundStorm codec for audio via spidif)
PNY Geforce 4 Ti4600 128MB DDR
512MB PC2700 DDR

All drivers are current.

Posted: Sun May 01, 2005 12:09 am
by Duper
MD-2389 wrote:I also noticed a bug introduced by 1.3.35 (haven't checked 1.3.36 yet) with the laser cannon. Sometimes d2x-w32 will fail to render the laser blasts up close, but will render the bolts a couple cubes away. However, anything in the patch, whether up close or far away, will still get hit and take damage like normal.


AMD XP 2800+
Leadtek K7ncr18-D Pro (nforce2 mobo, ultra 400 chipset using onboard SoundStorm codec for audio via spidif)
PNY Geforce 4 Ti4600 128MB DDR
512MB PC2700 DDR

All drivers are current.
x2

Posted: Sun May 01, 2005 1:29 am
by Diedel
Lehm has rewritten the rendering code as a step towards using lightmaps. I will turn the new rendering code off until this issue is resolved.

I will also look into the explosion rendering and maybe succeed in having them rendered transparently.

I will also look into the key pick up issue in coop games mentioned in another thread here (although I do not currently believe there is a bug in that).

I haven't changed sound code, but on some occasions (lava) I have pretty much static in my sound, too. I absolutely cannot tell why and how to fix that though, unfortunately.

The midi bug is a 'feature', as turning midi sound to zero actually turns midi playback off, and turning sound back on will therefore start with (some) song's beginning.

Re: Transparent Explosions

Posted: Sun May 01, 2005 3:29 am
by Duper
3803 wrote:I noticed the soundeffects sounded a bit distorted in the latest version...
Disable the 22K sound in the .ini file like so > ;-sound22k

That got rid of the sound thing with me. :)

Posted: Sun May 01, 2005 4:26 am
by 3803
Thanks for the reply, both.

About the midi...when midi volume is changed ingame, and you return the the level, it is no longer the leveltune playing. That one should resumed then.

Posted: Sun May 01, 2005 10:44 am
by Diedel
All fixed.

Posted: Sun May 01, 2005 10:59 am
by 3803
Yep, I had allready noticed.
Midi is ok now. Works like a charm...even robot movies work!

Robot movie position only ok at 640*480 but really, I can live with that for now; I'll just play at 640*480 with anti-aliasing on.

Again, one step closer to the original D2 gameplay, thanks a lot :)

Just a question...In the dos version of D2 you had this "real" cockpit, while in D2X, I can only get the rectangular HUD bar. Does D2X-W32 support the original cockpit?

Posted: Sun May 01, 2005 11:55 am
by Diedel
See the D2X-W32 update notification thread.

Posted: Sun May 01, 2005 1:21 pm
by 3803
You mentioned to fix the robotmovies. That's just great. I didn't dare to ask, since I though it might be hard to fix it.

The transparent effects look great in their simplicity, I love it. Thanks!

Posted: Sun May 01, 2005 2:22 pm
by TigerRaptor
I'm having a bit of trouble with d2x-w32. Why is the game play so choppy in singleplayer?

Edit: Now I'm getting this error message Invalid Polygon.

Posted: Sun May 01, 2005 2:38 pm
by Diedel
3803,
  • asking questions is free here. ;) What do you mean with 'simplicity' here? Do you think the explosion visuals should be improved?
Raptor,
  • Ooh, that's plenty of information you gave here to help you. You are running D2X-W32 on a computer? :P

Posted: Sun May 01, 2005 3:09 pm
by 3803
No, not at all, it's fine the way it is.

i meant despite that the transparency effect is simple, it makes things look more fancy and affects the gameplay in a positive way for me.

What I was trying to say that fancy pixelshaders aren't always needed for a better feel. :)

Posted: Sun May 01, 2005 4:08 pm
by Duper
hrm 22K sound still fubar.

oh, and why is the game still skipping the intro movie without the -nomovie tag?

Posted: Sun May 01, 2005 4:21 pm
by Diedel
Duper wrote:hrm 22K sound still fubar.

oh, and why is the game still skipping the intro movie without the -nomovie tag?
Duper,

some basics of polite human interaction right for you. How about this:
Dear Diedel,

22K sound still doesn't sound good on my machine. Could you take a look into that?

The intro movie gets skipped for me although there is no -nomovie tag set. Maybe you want to fix that, too.

Greetz

Duper
How does that sound? :P
_________________________________________

3803,

ok then. :) Btw, the 'real' cockpit is not available in D2X-W32. Maybe I will put it back in one day, maybe not.

Posted: Sun May 01, 2005 4:26 pm
by Sirius
:D

After latest testing it appears my level is actually working in flag now. So, I'm making the two-months'-delayed adjustments to get it released.

Bit late, but ah well. It's still the same level. ;)

Posted: Sun May 01, 2005 4:27 pm
by Diedel
That's very good to hear. :)

Posted: Sun May 01, 2005 8:37 pm
by TigerRaptor
Diedel wrote:You are running D2X-W32 on a computer? :P
Nope. A toaster!

Any way Iâ??ve gotten that Invalid Polygon message a lot when trying to play the D2 Vertigo series as well with Counter Strike. But it wasnâ??t nearly has bad with Counter Strike except when it came to the final boss or Alien boss 2, and a few other levels.

Now as for that choppy frame rate with singleplayer. If I run D2X-W32 640x by 480x the game will run smooth. If I go 800x by 600x or higher the frame rate will get really choppy, and at some points freeze then start up again. Iâ??ve gotten both of these problems with Windows 98se and Windows XP on the same machine.

The out dated peace of junk is a 1 gig Tbirg running on a SIS motherboard, 512 megs of SD ram, 20 gig Maxtor and Western Digital 60gig HD, ATI Radeon 9200, with Windows 98se and XP.

Posted: Sun May 01, 2005 9:56 pm
by Duper
Diedel wrote:
Duper wrote:hrm 22K sound still fubar.

oh, and why is the game still skipping the intro movie without the -nomovie tag?
Duper,

some basics of polite human interaction right for you. How about this:
Dear Diedel,

22K sound still doesn't sound good on my machine. Could you take a look into that?

The intro movie gets skipped for me although there is no -nomovie tag set. Maybe you want to fix that, too.

Greetz

Duper
How does that sound? :P
_________________________________________

3803,

ok then. :) Btw, the 'real' cockpit is not available in D2X-W32. Maybe I will put it back in one day, maybe not.
Because I'm not writing a business letter. I'm on a forum where we all know each other and I was taking a casual stance. *shrug* Nothing was ment by it.

Posted: Sun May 01, 2005 10:19 pm
by BUBBALOU
raptor just crank up the FPS.
option is a Slider Bar in D2x options section, 100FPS or above 800x600

Posted: Mon May 02, 2005 1:36 am
by Diedel
Bubbalou,
  • that might have been the crucial hint, very good! Actually, I once had the same problem until I noticed that for some reason fps had been set to 1 - lol.
Duper,
  • anyway, no reason to sound impolite. ;) Btw, if I omit the -nomovies switch, I get the intro movie played when launching D2X-W32. Check both your d2x.ini and command line switches.
3803,
  • I have actually managed to enable the full cockpit in 640x480. It's not completely done yet, a few elements are missing, but cockpit and rear view as well as fuel and AB gauges work already. :) Lehm, the D2X-W32 3D expert, has done a nice job in polishing up the transparent explosions, btw.

Posted: Mon May 02, 2005 1:46 am
by Duper
Thanks. I'll tinker abit. As usual, my system doesn't want to play by the rules. :roll:

Posted: Mon May 02, 2005 2:27 am
by Diedel
I forgot to mention that I'm afraid that I cannot do much about sound. It is done over the SDL (3rd party open source device API), and I have no clue why it sounds bad on some systems.

Posted: Mon May 02, 2005 2:54 am
by pATCheS
Okay... I've gotten rid of the crappy onboard audio that I had before (SOOO much better now), and D2XW32 no longer has any audio problems for me. But...

The audio in the intro movie lags significantly, I'd put it in the ballpark of 500ms. And whenever there's a hard cut (basically whenever the palette changes), the palette from the previous frame is used instead of what should be the current one, making it look all weird for one frame. Robot briefings show a box or something and a blue version of one frame in the upper left corner of where the movie gets played on the screen for one frame before playing. Also, the movies look like they're filtered nearest-pixel, which isn't very pretty. I realize that enabling filtering would make it look blurry, but it'd look enough better to warrant it. Maybe add a -moviefilter <x> sort of option?

Sprites aren't depth sorted in D2, so leaving depth buffering on when drawing them creates some ugly artifacts. I recommend disabling depth buffering on sprites altogether, as it looked just fine in the original D1/D2 that way, and it would stop them from clipping on walls (shot any mega missiles lately?). Perhaps also disable depth buffering and blending for polygonal weapons? I realize that not depth clipping these things could introduce artifacts where incorrect clipping necessitated depth buffering, but it would fix more than it would break.

The explosions would look a lot better if each pixel's base alpha value was decided by the intensity of the pixel. I believe this is how D2_3Dfx did it. I hacked something similar to this into D1X at some point and the results looked quite good, but it was difficult to figure out which textures it needed to be done to from within the depalettization routine I stuck it in (it doesn't get the texture's name). I settled on checking for particular texture sizes. I imagine that with your intimate knowledge of the engine, you could come up with something much better :) Stick with the GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA blending mode for sure.

I like the idea of varying explosion transparency based on time, but instead of fading them in and out, have them simply fade out, starting at maybe 1/3rd or 2/3rds of the way into it. The beginning of the explosion is when it is giving off the most energy, so fading it in seems rather inappropriate to me.

What are the odds of frame tweening for explosions? Dunno if it'll look good, but it might be worthwhile. Shouldn't be too hard to implement, just draw the sprite twice. Another good reason to disable depth buffering on sprites :P


Great work Diedel and Lehm ^^ Can't wait for the lightmapping! Hey, can we have realtime radiosity? :P

hmm, lightmaps built into D2 levels... Imagine how much better things would look, like with grates and the like. D3Edit has the (slow) radiosity routines used for D3, might be worth taking a look at down the road. Something to dream about, hehe

Posted: Mon May 02, 2005 4:36 am
by Diedel
I have changed explosion transparency gradient and bitmap clipping as you have proposed, but what about the movie filtering? What OpenGL filter do I need to enable here (I am not an OpenGL expert)? I might try to fix the movie palette problem, but it doesn't have a high priority. It's a bloody work to find and fix this crappy palette stuff in D2X.

Edit: Briefing robot movie palette problem fixed. :D

Posted: Mon May 02, 2005 4:02 pm
by TigerRaptor
BUBBALOU wrote:raptor just crank up the FPS.
option is a Slider Bar in D2x options section, 100FPS or above 800x600
Believe me Iâ??ve tried it all.

Posted: Mon May 02, 2005 4:25 pm
by Lehm
pATCheS wrote:Can't wait for the lightmapping! Hey, can we have realtime radiosity? :P
Lightmapping is a little ways off. I've just started work on it. Realtime radiosity... you're not asking for much are you. I did read an article on realtime radiosity a little while ago. So you never know.

Posted: Mon May 02, 2005 4:34 pm
by Diedel
Raptor,

I was asking for your 'puter cause it would've been helpful to know your hardware. Although D2 is an old game, the OpenGL stuff still demands something from your hardware. I run it on an Athlon 64 3500+ and GF 5200 at work and cannot run it with more than 640x480 w/o it getting sloppy at certain areas.

So it might simply be your hardware. Actually, from the symptoms it looks like some driver is not set up properly, or some other software is interfering with D2X-W32. If you are running folding@home together with D2X-W32, exit f@h - it can cause problems for D2X-W32. Same goes for RivaTuner.

If haven't done so, you should shut down all background tasks you don't need to play, update all drivers (motherboard chipset drivers!), and generally look for a clean, well maintained operating system. Win98 tends to gather a lot of crap over the time to the point it won't work properly any more.

Are you using Catalyst drivers? Which version?

Posted: Mon May 02, 2005 4:45 pm
by Lehm
Probably the reason for the poor performance, although only a guess, is that every face in the game is drawn one by one. This is bad. Unfortunately without a complete engine rewrite it's probably going to stay that way. Luckly there aren't that many polygons to draw anyway.

Posted: Tue May 03, 2005 2:54 am
by Diedel
Lehm,

the engine has a visibility test excluding lots of faces from being rendered. And then there are really not that many polys to be rendered in D2 ... ;)

Posted: Tue May 03, 2005 3:38 am
by Sirius
Hmm... how is it usually done, if not polygon-by-polygon? One pixel at a time?

(I'm not really familiar with 3D graphical routines.)

Posted: Tue May 03, 2005 4:16 am
by Diedel
I guess Lehm meant there was no hidden surface removal in D2.

Posted: Tue May 03, 2005 7:15 am
by pATCheS
I think he means that all of the vertices for each face are sent to the graphics card, as opposed to using something such as a triangle strip, where the previous two verts are used for the next triangle (this saves gobs of memory bandwidth in talking to the hardware through the gfx driver). And yes, it would probably require a rewrite to get D2 to do that in an effective manner. But even so, an FX5200 should be getting quite reasonable performance at 800x600 (as in sitting on the default framecap most of the time). The 9250 I put into my sister's computer played it fine at 1024x768 (well, an older version; this was some time ago). D2 is far from demanding...

Yes, realtime radiosity, that's nothing at all :P I'd still love to see it, though. Accurate, natural-looking lighting is what I like most about a game's graphics. Yes, I realize the computational expense; I hoped you might laugh when you first read that rather sarcastic request :)


To get filtering in movies, change line 1833 in ./arch/ogl/ogl.c, ogl_ubitblt_i() from

tex.wantmip=0;

to..guess.. :P

tex.wantmip=1;

Thing is, though, it looks like that function is also used for font rendering, maybe the cockpit, and some other things. Worst that can happen is you get blurry fonts, so give it a try I suppose :P If it does screw up something, probably the easiest way to fix it would be to add a wantmip parameter to ogl_ubitblt_i(), which is only called by ogl_ubitblt(), show_fullscr() in ./2d/bitblt.c, and the MVE playing routines.

Posted: Tue May 03, 2005 7:40 am
by pATCheS
Just tested the latest version.

The palette problem is gone from the intro movie now too. ^^ But robot briefings still do this weird thing for the first frame displayed, which I managed to catch in a screenshot:

Image

The bar in the upper right is from BB4Win (a very nice shell replacement, btw), so ignore it. Note that there's a "missing" highlight on the bolt just under it though (I guess this is also a palette problem of some sort). Also, briefing text doesn't display in this version. oops? :)

ARGH! Invisible menus are back; while playing and after playing, I can see no UI items. It might be some kind of swapping problem, since you can see an appropriately-sized black box for a moment after closing the quit game menu in-game (hitting escape twice). :(

hmm, the new explosions aren't really what I had in mind; they're way too transparent. I love the fading effect though, it looks very nice. The 3Dfx explosions had a transparency value that was dependent upon the explosion's visual intensity at each pixel, such that a brighter part of it would be more opaque. If I had a compiler working I'd hack it so you could see what I mean. In psuedocode, it would look something like this:

Code: Select all

//Do this for each texel in an explosion texture
for(int x=0, x<w; x++) {
  for(int y=0, y<h; y++) {
    pixels[x][y].alpha = (pixels[x][y].red + pixels[x][y].green + pixels[x][y].blue) / 3;
  }
}
Of course, if you wanted to be real fancy about it, you could use the accepted chromatic intensities (I think green is weighted highest at around .5, red around .3, and blue around .2). Dunno how three float multiplies would compare speed-wise to three integer sums and a divide though. Not that it matters, since it'd only be done once per texture load anyway.