jHexen Archived News Version 1.0b3
Last updated on 02-12-2002

Go to Recent News

dtest 21.6.2000 by skyJake
All those who'd like to try out the new client/server networking, dtest. It is very important that you read dtest.txt (also included in the zip).

C/S Status Report #1 11.6.2000 by skyJake
The first test of the new client/server code was encouraging. I tried a little bit of 2-player action on Heretic's E1M1 and everything seemed pretty smooth. The server was a P166 running without graphics and sound. The internet connection was between a 56k modem and 64kb ISDN (ping was around 180 ms). It remains to be seen how it will perform when more players join the game (the limit will be 16 players, btw).

There are still many things that must be worked on, though (e.g. chatting and level changes are still missing). At least players can join and leave the game as they please and the state of the map on client side is properly updated at all times.

My Plans 7.6.2000 by skyJake
The next version of the Doomsday engine and JHexen will be the magical 1.0. I'm planning on getting a number of larger changes done before July 3rd. Let me introduce you to...

  • Proper blending of dynamic lights.
    In the 0.99.6 engine dynamic lights are rendered by first drawing a surface and then adding a number of light textures on top of it. This doesn't look very good when the actual surface is dark. In version 1.0 the lights are drawn first, so that the result looks something like this:

    The screenshot is from JHeretic, as you undoubtedly noticed.

  • Replacing sprites with MD2s.
    Although sprites are nice in many situations, a 3D game ultimately needs 3D models for the objects. In version 1.0 you'll be able to replace any frame of any sprite with an MD2 model. The model renderer is already almost complete, I really only need to check that the models are scaled correctly. Here's a little sample: (look who's dropped in for a visit!)

  • Real client/server networking.
    Yup. I've been working on this for a couple of days now, and it's slowly shaping up. In the first version I'm aiming for basic functionality and stability, so things like speed and playability won't be very important. I'm planning on including a special peer-to-peer mode for 2-player games (probably not in the first version, though). I really hope I can pull this off in time (three and a half weeks to go).
In any case, I'm going to release all the sources before I must go.

Don't be surprised if my email answers seem a bit sluggish from now on, I'm really concentrating on getting this done.

Go Get It 5.6.2000 by skyJake
JDoom is available at NEWDOOM.com.

Version 0.99.6 3.6.2000 by skyJake
This version is mainly an engine update. Changes to it include:

  • mouse wheel support (cvar i_mWheelSensi controls sensitivity)
  • CalcSectorReverbs() and texture type handling moved into the engine
  • spralign 3: align sprites to view plane, but not fully
  • console border finally drawn as it should be, with both renderers
  • numpad keys have their own key codes (apart from /,*,-,+ and enter)
  • scroll lock and num lock can be used in bindings (scrlock and numlock)
  • cvar i_mouseInvY: for some reason this wasn't a cvar earlier
  • cvar consoleDump: all console text is dumped to Doomsday.out (default: yes)

The Going Ons 30.5.2000 by skyJake
JDoom. I'm just about ready to release the first version. What'll it be like, you ask? Actually, it's to Doom what JHeretic is to Heretic: more of an enhancement than an extension. If you've been hoping for some kind of a JZDoom(GL)<insert random letters> hybrid, I'm going to have to let you down. If you feel that you need to modify Doom and tweak all the possible variables, JDoom won't be for you (unless you want to do it the right way and compile yourself a new game DLL). I've tried to retain the original feel of the game by not changing important aspects of gameplay.

JHexen. Wait a minute, this is the JHexen site, right? Some news from that front, then... Unfortunately, other things (such as JDoom and Terry Pratchett's wonderful Discworld novels) have left me with quite a limited supply of time for working on JHexen. At the moment the 'impressive' list of changes contains a fix for lookspring (so that it won't happen when the mlook key is pressed) and smaller ice shard dynamic lights, which I already told about.

Less Flashy? If you've had problems with Macromedia Flash or just don't want to have it here on the site, here's the good old HTML version: http://www.raven-games.com/jhexen/index_noflash.html.

An End Is Nearing... That's right, folks. On July 3rd I'll have to wave you all goodbye for the rest of the year, hopefully not longer. The time has come for me to join the army, you see. But that's still a month away, lots of time to get some serious coding done, eh?

The Work Continues 19.5.2000 by skyJake
The next version of Doomsday will have a couple of new mobj flags that scale the dynamic light casted by an object. In practice this means the lights from the Mage's ice shard weapon won't be so exaggerated.

The rest of my time I've spent with JDoom. I'm currently rewriting the menus and adding smaller things like fullscreen HUD information (health, ammo, etc.). Ultimately, the menus will be much like JHexen's.

Version 0.99.5 17.5.2000 by skyJake
The Download page has been updated with the new version.

I recently noticed that jtNet2.dll had the Hidden attribute on for some reason. This may explain why some of you have had problems with it. The file is in the zip, though.

0.99.5 Just Around the Corner 16.5.2000 by skyJake
Quiet, eh? Whoa, almost a month since the last update! Time to pick up pace again. As for what's been going on: I had a number of exams that took quite a bit of time, plus I admit I've been playing Gran Turismo 2 on the PSX (heh :-)), but lately I have been working with the ports again. Version 0.99.5 is done, and available as soon as the folks at FileLeech get the zip ready for download. The main improvements are a multiplayer menu for easier netgame config and startup (no need to use net any more), and fixes to some bugs that could've crashed network games. You can also say good-bye to batch files, because now you've got DLaunch! I recommend you create a Windows shortcut to DLaunch.exe and change its icon to the one included in the JHexen DLL.

JDoom. I've begun porting Doom over to the Doomsday engine. At the moment I'm approximately 70% done so it may still take a while. I'll post JDoom news here as progress is made, so keep your eyes open!

JHeretic. The JHeretic page is now open, be sure to take a look. :-)

Slow Progress 17.4.2000 by skyJake
New Stuff. Even though I haven't had much time to work on the project during the last few days, I've managed to get 3D sounds working quite well for JHeretic. Also, jumping will be possible (like in Hexen) and there is a countdown for the Tome of Power. It displays the number of seconds left and by default plays a warning sound on the last three. Currently I'm setting up a Multiplayer menu for easier network game config and startup.

Whassup? 8.4.2000 by skyJake
Doomsday Launcher. Lately I've been working on a launcher for Doomsday:

It's actually quite a generic launcher: all the options are defined in a simple text file, so it could be used to launch any program. The small list you can see in the screenshot (the one on the left with the .cfg files) can be used to quickly fire up a text editor for the clicked file. The Open and Save buttons above the list are used to open and save option files, so you can for example choose the game you want to launch or save your settings into a separate file. The launcher will be included with the next release of both JHexen and JHeretic.

JHeretic Sounds. Right now I'm copying the high level sound playing code of JHexen over to JHeretic. This means the next version will sport 3D sounds and reverb effects. It's still quite messy, though, and sounds very peculiar at places, so it'll take at least a couple of days to get it right.

Feedback Wanted! If you've noticed that JHeretic sometimes starts to slow down mysteriously and then finally the whole computer completely locks up, please send me an email about it (with info about your system). I'd like to know how common this problem is. I personally encounter it only after the game has previously crashed, but Windows can be devious...

New Versions 4.4.2000 by skyJake
Version 0.99.4. ...is available on the download page.

Temporary JHeretic Page. ...is right here.

Upcoming Features 2.4.2000 by skyJake

  • cvar maulatortime: Dark Servant lifetime, in seconds (cheat, only effective in single-player games)
  • chandeliers, torches and the like emit light from the right place
  • showmana 2: mana shown above health in the lower left corner
  • binding to events that begin the same way ("d" and "down") works
  • psprites positioned correctly with a scaled down status bar
  • "bind (event)" clears all +(event), -(event) and *(event)
  • 2-sided middle textures are rendered correctly
  • flares from sprites aligned to the viewplane won't flicker at certain angles
  • D3D: gamma correction using DirectDraw's gamma control (fast!)
  • option -nogamma: disable DirectDraw gamma, modify texture colors manually
  • cvar r_flareminsize: the minimum size for flares that can have secondary flares (200 is pretty good)
  • light source vertical offsets
  • ccmd listbindings can take a search parameter: "listbindings a" will list all bindings to events that begin with A
  • faster dynamic lights (better algorithm + clipping)
  • cvar dlclip: dynlights are clipped (subsector polygons *not* used when rendering floors/ceilings)
  • spralign 2: attempts to hide sprite flatness (like spralign 0, but stops slanting sprites if angle > r_maxSpriteAngle)
  • cvar r_maxSpriteAngle
I'm going to release 0.99.4 very soon, i.e. sometime today or tomorrow.

JHeretic Problems 22.3.2000 by skyJake
A couple of problems with JHeretic have surfaced. First of all, the Doomsday.wad in the zip was incorrect. Because of this, all graphics were colored strangely when using palettized textures. The zip now contains the right WAD, so redownload it if you want to use -paltex. Secondly, the game likely crashes after entering the first teleport in E3M8. I'm working on that one.

Download JHeretic here.

Version 0.99.3 20.3.2000 by skyJake
...is available on the download page. This version features mostly bug fixes, for things like the automap background texture and some crashes with console commands like listbindings.

New features:

  • cvars r_flarefar and r_flarenear: fade out flares that are too close (good values are for example far:100 near:50, or far:200 near:100)
  • cvar r_ambient: minimum light level
  • cvar dclickuse: double clicked Forward or Strafe equals Use
  • Doomsday updated to work with JHeretic
  • crash with listbindings and other long, one-word commands (!)
  • automap background texture
  • DrawRealPatch() complained about too small buffers (now clips the data)
JHeretic Is Here! It still hasn't got its own page, and the Doomsday Engine website I'm preparing isn't yet done, so... download it here: JHtic090.zip See jheretic.txt (in the zip) for some important information.

Version 0.99.2 13.3.2000 by skyJake
Here are the most important changes:

  • sounds can be resampled to 22 or 44 kHz and/or 16 bits using the Sound menu (the original sounds are 8 bit/11 kHz, so don't expect any miracles)
  • crosshair selection in the Gameplay menu
  • sound volume in 2D mode fixed
  • default controls aren't forced in some cases
  • demos work correctly with 3D sounds
  • slightly faster texture loading
All the source code is also available.

Glide Renderer? If you are a 3dfx-enthusiast and feel like writing a renderer for Glide, please contact me. Having a Glide renderer might be a good idea, although I think the one for Direct3D works pretty well for everybody. I'm not going to do this myself because I don't really care about Glide and I just don't have the time.

Resampling 8.3.2000 by skyJake
In order to improve the quality of the sound effects, in the next version they can be resampled from the original 11 kHz to 22 or 44 kHz. It is also possible to convert them to 16 bits for slightly better interpolation accuracy. The end result is a bit clearer sounds, but mind you, the original data is only 8 bit / 11 kHz, so the quality still leaves a lot to hope for.

Version 0.99.2 will also feature bug fixes with the default control bindings and the 2D sound effects volume (which doesn't work when using DirectSound), plus other stuff. I'm also going to release all the source code, both of the engine and the JHexen DLL. I was forced to make some changes to the Doomsday API to get JHeretic working, so things will be a bit different in the code compared with 0.99.0.

Do These Ring a Bell? 5.3.2000 by skyJake

I started working on JHeretic yesterday, and it's already running pretty well. At the moment I have all of the original Heretic working, minus network play. The only new thing is mouse look, apart from all of Doomsday's features. When things are a bit more polished, JHeretic will get its own webpage. I might not have much time to work on anything next week, though, so we'll have to see how things turn out.

Version 0.99.1 4.3.2000 by skyJake
See the version history for the changes. Remember to also download a3d30dll.zip if you want to use A3D. The reverb effects are now most of the time pretty much credible, but it may seem that in large rooms the effect is somewhat exaggerated. Also, A3D and EAX reverbs sound slightly different. You might want to consider setting the reverb volume a bit lower if you're using A3D. I also recommend setting dynamic light blending to "Add" (dlblend 1) and intensity to 0.4 (one left of the center position, if you're using the menus).

If you want to play network games, read Network.txt (in the zip).

More About Sound 2.3.2000 by skyJake
I just finished writing support for DirectSound3D and EAX2.0. This is because I noticed that A3D actually was quite slow with my SB Live! when lots of sounds were being played. I also ended up revising most of the Hexen higher level sound playing code, but now I have to hunt down a couple of bugs caused by that. All of this also means I had no time to work on refining the reverberation calculations yet. On the graphics front, I tweaked the dynamic lights a bit and added a new cvar, dlfactor, to control the intensity of the lights. With the new default settings the lights look a lot better (dlblend 1, dlfactor 0.4).

About 3D Sound 1.3.2000 by skyJake
I now have a version of JHexen that uses the A3D 3.0 sound engine to play 3D sounds with doppler and reverb effects. My code calculates individual reverb settings for each sector of a map based on its size and the types of surfaces present (metal, stone, etc.). I will not yet release it, though, because the calculations sometimes go slightly wrong (for example, there is a surprising amount of reverb in map 18, which is full of wooden crates).

But most importantly, you don't need a soundcard that natively supports A3D (see the Aureal website for more information). I have an SB Live! myself and all the reverb effects and 3D sounds work perfectly (DirectSound3D is used in the background). But if you're worried that using A3D will cause slowdowns or just won't work, the old sound code that uses DirectSound is still there, and can be enabled with a simple command line option.

Features for the Next Version 29.2.2000 by skyJake
Here's a list of things I've already done for 0.99.1:

  • D3D renderer supports palettized textures
  • default bindings for the stuff in the Control config menu
  • cleric weapon 4 shoots luminous ghosts
  • higher mouse sensitivities possible without forcing
  • no more player sprites in the way with spralign 1
  • graphics effects menu for easier config
  • support for glBSP (no more holes in the levels)
  • dynamic lights fixed, now rendered with the correct intensities
  • dynamic lights rendered with Z bias instead of moving them away from the walls along the normals
  • clipping is correct with all FOV angles
  • sprites lit by dynamic lights (sprlight)
In addition to those, I'm now going to take a look at A3D 3.0 and 3D sounds. I'm also going to write some documentation for using the net console command.

Help Page Updated 22.2.2000 by skyJake
I've updated the Help page with some new info, like what the -driver option does and what to do if the D3D renderer gives you an error message during initialization.

JHexen Source 21.2.2000 by skyJake
The source code of the JHexen DLL is now available on the download page. The package contains all the necessary files for you to make a JHexen mod. You could even write a Doomsday game DLL from scratch, keeping the source as a guide. As before, it's an MS Visual C++ 6.0 project.

A Small Patch. Two small bugfixes to Doomsday.exe:

  • Crashing with Caldera
    Caldera has a sky texture that's larger than the normal ones, which caused a crash when starting a new game. That's now fixed, but as with earlier versions of JHexen, the sky on the second level causes the hall of mirrors effect near the horizon.
  • Console font
    Changing the console font from autoexec.cfg now works as it should.
The patch also includes a config file with examples of how to use console aliases. The exec console command can be used to read the file.

Version 0.99.0 20.2.2000 by skyJake
Here it is, after way too long a pause, version 0.99.0 of JHexen! There is a number of major changes compared to 0.98.4, for instance support for Direct3D and enhanced network play. See the change log for more information; I'm not going to list all that here.

When installing, you need to delete your old jhexen.exe. Your old Hexen configuration (hexen.cfg) will not be imported, so if this is the first time you run Doomsday.exe, you won't have any controls bound to any keys, mouse or joystick buttons. The new control configuration menu makes it easy, though, to setup the controls as you wish. Mind you, there is no support for a mouse wheel yet.

Later, I'm going to write a launcher for Doomsday that helps you set the command-line options and so on, but for now you'll have to settle for batch files. There are four of them, for example one for starting the game using the D3D renderer. Be sure to use the one most suited for you (Voodoo owners might find 3dfx.bat to be the best choice).

The D3D renderer still lacks display mode changes and palettized textures, but otherwise it works well. However, you may have problems with the lens flares in a 32-bit display mode (flicker). I have only been able to test the OpenGL renderer with the software OpenGL driver and a Voodoo1 (it works perfectly with them), but knowing how video card manufacturers write their OpenGL drivers, you may run into trouble. If this happens, just use D3D and you should be fine.

All righty then. Go play some Hexen!

What *Is* He Doing?? 9.2.2000 by skyJake
No, just finishing up version 0.99.0 hasn't taken this long. Let me tell you what's been happening. A couple of days after the last update I noticed that no matter what I did my computer used only the Microsoft software OpenGL driver. I tried everything from old Creative to new NVIDIA drivers but my Riva TNT just wouldn't accelerate OpenGL. It still doesn't.

If the horrible slowness doesn't count, software OpenGL is actually quite nice. It's probably the only Windows OpenGL driver that fully implements the API, and in a proper fashion even. But I really couldn't settle for software and 320x240 with 3 FPS, no matter how well everything worked. So, what to do? For starters, I ripped the lowest level rendering code out of the engine and placed it in a separate DLL, thus making the engine 3D API independent. Writing a rendering DLL for OpenGL was a painless operation since I practically had just moved the OpenGL calls into the DLL. In a couple of days I had a fully functional DLL that rendered graphics using OpenGL. While I was at it I fixed the lens flare slowdown problem, by the way.

You've probably guessed what the next step was. Yes, Direct3D. The D3D rendering DLL is really shaping up. It already renders the 2D graphics properly, with textures and everything. There are a few glitches, of course, but on the whole it looks good. So if you are one of the unfortunate who have had problems with their OpenGL drivers, help is on it's way!

What's the Holdup? 25.1.2000 by skyJake
Unfortunately I'm going to be pretty busy with other stuff the next few days, so finishing up version 0.99.0 is going to take longer than I expected. Anyway, here's a screenshot showing what the new lens flares will look like:

You will also be able to freely change the flare positioning, size, intensity and textures using the new console command flareconfig.

Network Test 2 21.1.2000 by skyJake
Build 2 is done and I think it's working quite well. Check the Beta Test page for more info. Now there's only a couple of things left before version 0.99.0 is "officially" complete.

A New Hope 19.1.2000 by skyJake
There's an update on the Beta Test page.

A Kodak Moment 18.1.2000 by skyJake
Take a look at the screenshot and try to guess what I just did. Hint: what color are the Cleric's clothes normally? This is a two player game.

Network Test build 2 should be done pretty soon...

Public Test #1 17.1.2000 by skyJake
It is time for a public test of the new network code. Hold your horses, though. I can guarantee nothing, but if you have a 3+ computer LAN or want to venture into the land of Internet gaming, I point you to the Beta Test page. In there you can also find detailed information about the new code and what it really means, in practice.

Webmaster's Note (Brenton J. Klik): Hello all, I've recieved a lot of great Email about the new menubar, and thank you.  Also, with the help of Ryan Stotts (one who was gracious enough to send in a bug letter), I believe we've fixed that chinese font error that pops up every now and again.  Thanks!  =)

Webmaster's Note 14.1.2000 by skyJake
Many of you have reported problems with not getting the new flash page. It's my fault, I created a flash detector that only works in NS, I've updated that now, if there are any other problems contact me. One last side note, I didn't want to bother many of you who don't have flash installed, and don't care to use it. If you don't have it installed, the page sends you to the old menu. If you want to download flash go to www.macromedia.com. Thank you and have a nice day!

Webmaster's Note 13.1.2000 by skyJake
Hello all, as of today JHexen has switched to a flash4 menubar. I've added a like that allows you all to go back to the old menubar if you don't have a flash player or don't have the newest flash player. If links don't work or there are any other issues, please, Email me at bklik@rochester.rr.com

They Say It's Progress. Cool menu, huh? I, too, have been doing something. I've written support for the paletted texture extension (haven't actually tested it yet, though) and the network code is really starting to look good. It still uses the same old peer-to-peer model but I'm going to change that very soon.

Take that, CD bug! 8.1.2000 by skyJake
Just got the CD volume issue sorted out. It turned out I only gave the mixer one value when I should've given two (duh, one for each channel). After that I've been working on the network code again, and I've found out that ticcmds are exchanged correctly among the connected computers, so the inconsistancies in the play simulation must be caused by something else. Well, at least the foundation is working...

If you've been wondering about the 3D sound stuff, I'm planning on leaving that for version 0.99.1.

Hey, I'm Back! 6.1.2000 by skyJake
Version 0.99.0 is slowly nearing completion. This is what I still need to do:

  • Hexen-specific network stuff / jtNet 2.0
    Practically this is already done, but the network code is still being haunted by a couple of annoying bugs. The most serious is that after a while the computers go out of sync and a consistancy error occurs. Closer inspection revealed that the problems are caused by the random number generator, but the real reason is something more complicated.
  • Mixer panning bug
    I thought it would be nice to be able to change the CD player volume from within the game. The win32 audio mixer API has been a bit of a headache, though. At the moment I can change the volume just fine, but for some obscure reason CD balance is moved to the leftmost setting when the volume is set.
  • Paletted textures
    I reckon that using the GL_EXT_paletted_texture extension would speed the game up considerably with low-memory cards (like the Voodoo1 that has 2MB for textures).
  • New flare graphics
    I still haven't tried out the new flare textures you kind people sent me, would you believe it? :-)
  • Minor stuff
    For instance: Quakefly, hitting higher floors, fast projectiles, mousewheel.
A couple of screenshots for your enjoyment: the first one gives you a glimpse of the Doomsday console and the second shows the rewritten control configuration menu.

The Source to 0.98.4 29.12.1999 by skyJake
Here's a delayed little Christmas present for you coders out there: the source code to version 0.98.4. This time the package contains the full MS Visual C++ 6.0 project files with all the stuff you need. It should compile right out of the box. Have fun!

What's Up? Work on Doomsday / JHexen has been a bit scarce for the last few days since I've been toying around with all my presents. :-) I intend to get back on track in a couple of days, no need to worry.

Bug Hunting 23.12.1999 by skyJake
Finally! After spending hours hunting a couple of really devious bugs I've managed to get the network code working acceptably. Too many features are still missing (like choosing your player class, deathmatch, the level...) but the core is up and running. In the console I can start a server, connect to it with another computer, do some chatting and then start the game, which makes the netgame begin on both computers. After playing for a while I can disconnect the client computer or stop the server. Then I can do it all again.

Also, Merry Christmas everyone! *<:-)

Oh, Joy! 21.12.1999 by skyJake
Debugging sure is a whole lot of fun under Windows. After a few crashes either Explorer (!) or MSDEV crashes too, or Windows just locks up completely, which happens most often. I really should think about developing under Linux or something, but I'm afraid that's not an option at the moment...

FYI, the code I'm debugging is the new network code. I'm in the (long and laborious) process of writing jtNet 2.0, a new version of my networking DLL to be used with Doomsday. Here's my current plan concerning networking:

  • No more -net option.
  • No more game setup dialogs that show up before the game begins.
  • Network games will be configured and started from the console and later using the menus.
  • The networking model will be some kind of a semi-client/server where the clients exchange ticcmds through the server. It would be much more difficult to do a full client/server model: the clients would send ticcmds to the server, which would simulate all world events and then send the changed data to the clients. The hard part is figuring out what to send to each client...
  • Players won't be able to join a game when it's in progress for the same reason as demo recording needs to be started from the beginning of a level: the world must be kept in sync. I think things would get pretty complicated if all the changed world data would be sent to each joining player.
If you have any ideas or comments about all of this, let me know.

Tales of a Voodoo Tester 20.12.1999 by skyJake
I tried running the new Doomsday powered JHexen on my old P166 with a Voodoo Graphics video card (V1, that is). Everything worked perfectly, from flares (albeit they slowed down the rendering too much) to fog. The new version will have a console command that lets you set fog parameters (surprisingly it's called fog!). Below is a screenshot from map 1 where a mist has suddenly risen...

The reason I posted this picture is to show how the V1 can render per-pixel fog, which looks very good. My Riva TNT seems able to only render it per-vertex, which doesn't look all that good with high fog densities.

There were no issues with font rendering anywhere, all the startup messages and console text were drawn properly. The console font will be configurable and it'll default to the font that's used with the startup messages (this is the reason for last week's voodoo test).

Status Report 18.12.1999 by skyJake
Dan Olson suggested a while ago that the game could be split into two parts just like Quake2: the engine and a game DLL. After doing some research (the Quake2 game source) I decided to try this out and so far the results have been good. I squeezed all the generic Doom engine stuff into a new executable and named it The Doomsday Engine. Then, after a serious amount of code editing, I was able to compile the JHexen DLL. It's already working quite nicely.

Because of the split many cool things are now possible. For starters, writing JDoom and JHeretic will be much easier since they can just be DLLs for the Doomsday engine to use. Also, because the game DLLs are 99.9% platform independent, porting them to any other operating system should be a breeze. Unfortunately the engine itself will be a bit more difficult... I'm not planning on doing any ports yet, though. Additionally, it'll be easier to write modified versions of the DLLs (just like Quake2 mods) once I release the source code to them.

I haven't had time to work on 3D sound much since splitting the game has been more important. Nevertheless, I got the EAX2.0 SDK and after a few glances at it I think it would be great to have for example a reverb effect in large spaces like caverns.

Version 0.99 will be quite different from 0.98. In addition to all the engine changes and 3D sound stuff, I'll be doing a Quake style key bindings system where you can bind any console command to be executed when a certain type of input event is received. This means you'll be able to configure all the keys and buttons to do whatever you like. I'm also planning on some network related improvements, but I have to try out some things first.

OpenGL Anyone? If you're interested in OpenGL, click the logo on the left.

Voodoo Test 15.12.1999 by skyJake
Here's a test version that in theory should render the startup text correctly. The zip contains only the executable. Let me know if this helps at all.

0.98.4 Very Slow? 9.12.1999 by skyJake
If the new version is suddenly running at 1 FPS or something similar, you most probably have a buggy OpenGL driver that doesn't like the lens flares. Disabling them by setting the flares cvar to zero should help.

Flare Gfx. Thanks everybody for the lens flare graphics, I now have quite a selection to pick from!

Version 0.98.4 8.12.1999 by skyJake
New features:

  • lens flares (flares, flaresize, flareintensity)
  • support for up to 28 joystick buttons and a 4-dir POV control
  • more joystick controls (flying, strafing, inventory)
  • help: help about ccmds and cvars, e.g. 'help listfiles'
  • immediateuse: use an item immediately when choosing one from the inventory
  • crosshair: choose from 6 crosshairs, freely set size and color
  • additional console variables: lookspeed, spralign
  • hit monsters above/under you
  • maxdl works properly
  • psprites won't get stretched with a scaled-down status bar
By default the flares are set to a rather low intensity (50) so you might like to adjust it a bit. The maximum intensity of 100 looks very nice but is just too intense in many places. If you don't like the secondary flares, use the flares cvar to set the number of flares to draw. Also, if your video card doesn't have a very good fill rate (Voodoo1?) it may be a good idea to set flares to a smaller value or reduce the size of the flares with flaresize. I'm experiencing slight slowdowns (1-4 FPS) with my Riva TNT when there are many large flares to draw.

If you're using dlblend 1 I suggest setting it back to zero or otherwise the combined effect of the flares and dynamic lights is too intense, at least in my opinion. If you aren't too particular about image quality, you might even consider turning off dynamic lights completely when using flares to achieve better frame rate.

The flares could still be improved in many ways. Currently I'm using the same texture for them as for the dynamic lights. For example, it would be cool to have rings and star-shaped flares. If you feel like drawing some, just send them my way. Remember, they don't have to be very high quality (256 x 256 at maximum, 8 bit monochrome).

If you're interested in seeing what it would look like to have all sprites aligned to the view plane at all times, set spralign to one. I don't recommend it, though...

External Camera? I've been toying with the idea of having an external camera when playing back demos. The screenshots below are from demo2. I'm just not sure if this is very useful...

What Lies Ahead... I've already started working on 3D sound. I downloaded the A3D 2.0 SDK and wrote a quick test version, which almost works. I like the API because it supports both A3D and DirectSound3D and vaguely resembles OpenGL :-). Alas, I have a couple of exams in the near future so I don't know how much time I have to work on JHexen...

Lens Flares 5.12.1999 by skyJake
They've needed a lot of tweaking and adjustments but I think I've finally gotten the lens flares to work as I want them to. The screenshot below has been taken in 800 x 600 x 32. The bridge sparkles don't have secondary flares, but if you look closely you can see that the ice shards do. I can tell you that once you've seen the lens flares in action you will never want to turn them off. :-)

What to Expect:

  • lens flares (cvars: flares, flaresize, flareintensity)
  • support for up to 28 joystick buttons and a 4-dir POV control
  • more joystick controls (flying, strafing, inventory)
  • ccmd help: help about ccmds and cvars, e.g. 'help listfiles'
  • cvar immediateuse: use an item immediately when choosing one from the inventory
  • ccmd crosshair (6 crosshairs, size and color)
  • console variables: lookspeed, spralign
  • psprites won't get stretched with a scaled-down status bar
I still have a couple of things to do before I can release 0.98.4, so hold on to your hats for a few more days...

Work In Progress 1.12.1999 by skyJake
It's not very hard to guess what I'm testing in the screenshots below. Something you'll see in the next version...

Don't worry about the brightness, though. I'm still trying out different possibilities.

Version 0.98.3 29.11.1999 by skyJake
New features:

  • revised data loading system (flats and sprites merged with existing data)
  • some sprites are aligned to the view plane (e.g. Afrits, fog clouds)
  • sprblend: sprite blending (additive explosions, default: yes)
  • full 3D aiming (shoot straight up/down, for example)
  • option to disable autoaim (not with demos)
  • unload: unload a data file at runtime (even hexen.wad)
  • listfiles: list currently loaded data files
  • scriptinfo: query script status
  • lump dumping (dump and -dumplump option)
  • -novideo option (handy with -dumplump)
  • additional console commands: clear, suicide
  • luminous bridge sparkles
  • key config: assigning multiple controls to the same key allowed (again), trying to assign a control to the tilde key deletes the current assignment
  • hotkeys for all items (Mystic Urn, torch, Krater of Might, Dark Servant and Boots of Speed added)
  • more mouse and joystick controls
  • joystick look (a bit wobbly with an analog joystick, though)
  • controls for changing to next/previous weapon
  • recorddemo: in-game demo recording
  • stopdemo: stop demo playback/recording
  • configurable demo stop key (was hardcoded to Q)
  • demo stop key can be used to stop demo playback
  • completionmode: controls how console word completion is done
  • cd: 'cd map' will play the current map's track, 'cd map #' will play the specified map's track
  • an icon for Windows
  • a rare crash when a flechette bounces of a wall (happens in original Hexen)
  • no mouse looking when paused or dead
  • CD player isn't next to useless any more
  • cd: resume works, info is more informative now
  • possibly a fix for the occasional 'quiet sounds' bug
  • maximum number of sound channels is 16, not 8 (also with sndchannels)
Download right away: jhexn983.zip

Coming Soon... 28.11.1999 by skyJake
Version 0.98.3 is almost done, I just have to see if I can figure out why sounds are sometimes updated with the wrong volume in S_UpdateSounds(). It's all very arbitrary...

Work In Progress 24.11.1999 by skyJake
Here are two screenshots showing some of the things I'm working on. The first one demonstrates sprite blending and in the other one you can see how flying monsters are rendered correctly regardless of look direction.

Bounce Crash? While playing with the Fighter and throwing around the green, explosive bottles, there was a crash when one of them was bouncing off a wall. I was able to reproduce the crash in the original DOS Hexen. I already fixed the problem, but it would be interesting to know how common this error is (well, obviously quite rare since this is the first time I notice it). If you want to try out for yourself, do this: start the game normally as a Fighter, type 'give a' in the console or use the indiana cheat, turn around and walk to the locked, big door. Try to throw a bottle against the rocky wall on the left. I'm not sure but you might need to position yourself pretty far from the wall.

Site Update. Everyone's favourite webmaster, Brenton J. Klik, has been kind enough to whip up a help page and an archive for news.

Version 0.98.2 21.11.1999 by skyJake
New features:

  • console customization: bgalpha, bglight, bgflat, bgturn
  • console: word completion with Tab
  • no hardcoded maximum demo size
  • cvar maxdl: maximum number of dynamic lights
  • the savegame bug (protection against bad archiveNums)
  • proper lookdir reset when player spawns
  • occasional problems with ccmd 'reset'
  • minor bugs
In addition to those, I've also been rewriting the dynamic lights a bit. The code sure is structured better but I'm not sure if it's any faster. You can use the cvar dlblend to change the blending mode for the lights (only mode 0 is really practical, though).

The Savegame Bug 18.11.1999 by skyJake
If JHexen crashes when you load a saved game, you have become a victim of the Savegame Bug. The problem is that somehow an invalid mobj target archiveNum is written into the savegame file (those of you who are familiar with Hexen game saving code should know what I'm talking about). I already have a fix for this and it'll be included in the next version. Don't delete the 'corrupt' savegames because AFAIK no vital information has been lost.

New Screenshots 17.11.1999 by skyJake
I added some new shots from version 0.98.1 to the screenshots page.

Version 0.98.1 15.11.1999 by skyJake
New features:

  • runtime wad/lump loading (commands: load, reset)
  • larger, colored dynamic lights (looks good...)
  • hexen.cfg: default_wads: list of WADs to load by default
  • console commands: class, clip, give, god, kill, midi, pig, playdemo, reveal, runscript, warp, where
  • configurable key repeat (cvars keywait1/2, keyrepeat_wait1/2 in hexen.cfg)
  • cvar icecorpse: frozen monsters translucent? (default: no)
  • ice chunks are translucent
  • simplesky looks the same as normal sky but is rendered differently
  • sfx played at the correct volume (louder)
  • sound code fixed again (no more crashes)
  • yellow messages echoed
  • finale: last screen fade in with cleric and mage
  • automap: had wrong colors + map cheat mode 2
  • minor things (e.g. numpad enter, console shift, item pickup flash color)
Loading Data in the Console. With the new console commands load and reset it is now possible to load WADs and single lumps of data while the game is running. It should work with all WADs: for example you can load Deathkings without problems.

The Enhanced Dynamic Lights. They are now scaled according to the size of their source and colored correctly. Alas, due to their larger size (in some cases) it's possible that they are a bit slower than before. I'm working on making them faster, but meanwhile if things slow down too much, just turn them off with the dynlights cvar.

Using Default WADs. You can now specify the WADs to load when the game starts by using the default_wads config variable. This is helpful e.g. if you have your hexen.wad in a different directory.

Sky Is Very Slow? If you experience extreme slowdowns when the sky is rendered, try setting the simplesky cvar to 1. This changes the way the sky is rendered, hopefully getting rid of the problem.

Upcoming Features 13.11.1999 by skyJake
Here's a little something you can expect in the next version.

  • sound code fix #2 (louder sfx, no more crashes)
  • runtime wad/lump loading
  • larger, colored dynamic lights (looks good...)
  • option to make frozen monsters translucent
  • translucent ice chunks
  • minor console bugfixes
The version number will be 0.98.1 and it'll probably be released by Monday.

DX/Net + NT == OK? 12.11.1999 by skyJake
Christopher Little informed me that Windows NT with SP5 installed should include DirectPlay 6.1, which means you actually can play network games with it.

Version 0.98 11.11.1999 by skyJake
Here it is! The changes:

  • Windows NT compatible (tested with NT4+SP5)
  • DirectX 3 compatible (apart from network stuff)
  • sound code fixed (hopefully no more Aureal-related crashes)
  • resolution menu
  • default resolution in hexen.cfg
  • -width and -height work again
  • game window sized correctly with -nofullscreen
  • pause key can be configured (but not to the Pause key)
  • scrolling key config menu
  • sprites aren't forced to stay under ceilings
  • darker and a bit thicker fog (matches the sky)
  • mouse cursor hidden after network init (duh)
  • save/load menu slightly nicer to use
  • all messages are echoed to the console (cvar: echomsg)
  • textures reloaded automatically when gamma correction changes
  • simplesky cvar for those who have problems with the sky
  • sprite color translation tables in use
  • console commands: pause, cheat
Noteworthy: The network code is still using DirectX 6 so it shouldn't work in Windows NT. Also, don't get carried away with the resolution menu. Windows can't determine with 100% certainty when a resolution change has been successful, so when you try to change to a higher resolution than your hardware supports you might end up with unpredictable results. There is also something strange going on with the Pause key (the real one, in your keyboard). In DirectInput there is a keycode for it but when the Pause key is pressed, DirectInput returns something like Left Ctrl + NumLock... And finally, thanks to the sprite color translation tables, each player's clothes are of the correct color in multiplayer games.

Multiplayer? I'd like to know if anyone has succeeded in playing a multiplayer game. JHexen works pretty well on my faked LAN (two computers and a serial cable) but how about a real one? If you're having problems, be sure to send me your jhexen.out since it most probably contains some hints as to what went wrong.

Source Code to Version 0.97.2. Those who are interested can now download the source code to version 0.97.2. This is the only source I'm going to release for a while.

Coming Soon... 10.11.1999 by skyJake
I'm almost ready to release the next version, just a few little things to check out.

Windows NT 8.11.1999 by skyJake
The next version, which will be released sometime this week, should be Windows NT compatible. I have information that it works at least on NT4 with SP5 installed, albeit a little slowly (thanks Rob).

Deathkings Works. Several people have informed me that the Deathkings expansion pack works fine. Thanks everybody. In order to play it, you start the game like this:

jhexen -file hexdd.wad
If you don't have the Deathkings WAD in your JHexen folder, just specify the appropriate directory, too (for example: -file hexendk\hexdd.wad).

Blunder #2 7.11.1999 by skyJake
It seems the -width and -height parameters of 0.97.2 aren't working. Don't worry, you should be able to change the resolution using hexen.cfg (screen_width and screen_height).

Oops! If you have been really quick at downloading the new version, you should do it again. I'm sorry for the inconvenience, but a nasty oversight is causing really weird things to happen in the main hall of map01.

Deathkings of the Dark Citadel? Those of you who have this expansion pack, would you be kind enough to answer a few questions? I remember playing it but now I seem to have misplaced it. First of all, has anyone succeeded in using it with JHexen? How is it started? Is there a .BAT file or something?

Version 0.97.2. The changes:

  • dynamic lights no longer flicker badly when seen for the first time
  • dynamic lights rendered with correct intensity
  • -nosound and -nosfx work
  • startup message font renderer modified
  • maxvissprites set to 1024
  • small lighting adjustments
  • mouse button for moving backward
  • inverse mlook option
  • several controls can't be assigned to a single key any more
  • floors and ceilings don't break up in the distance nearly as much as before (e.g. on maps 8 and 12)

Webmaster's note 6.11.1999 by skyJake
JHexen now has a new page. Hope you all like it. It's a little more aestheticaly pleasing then the last one. If you find any dead links, of errors with the page, please write them to...

bklik@rochester.rr.com (Webmaster: Brenton J. Klik)

Remember, all JHexen problems should be sent to...

jhexen@jaakkok.pp.fi (Author: Jaakko Keränen)

Voodoo3. Steven Livingston sends word that he was able to get rid of the Voodoo3 missing textures problem by placing the 3dfx beta 2.1 opengl32.dll in the same directory with JHexen.exe. Thanks Steven. Also other people have been successful in using the V3, so if you are having problems don't lose hope yet.

Voodoo3 5.11.1999 by skyJake
Voodoo3. People with Voodoo3's seem to be having problems (missing textures etc.). If you have a Voodoo3 and experience no difficulties, please let me know. It would be helpful to find out how widespread this thing is. And remember, the Voodoos are only capable of 16 bit rendering. If your desktop color depth is 32 bits, please be sure to change it to 16 bits for JHexen. (Then again, I might be totally wrong since I don't have a Voodoo3.)

Version 0.97.1. Includes features such as an item hotkey config and mouselook activation key/mouse button. Check the version history for more information. I have also made some changes in the multiplayer game start procedure, and as a result you may or may not be successful in starting a network game. If you run into trouble (which should be expected) please send me the jhexen.out (a copy of the startup messages) found in the JHexen directory.

More About Networking. The current network code is a straight port of the original code, which was designed for serial/modem links and an IPX network. I'd be very surprised if you can play JHexen over the Internet without any problems or huge lag. The probable outcome of such a game is that it'll die from a consistency failure.

Mouse Problems. Some people are having problems with their mice. Don't fall into despair, I'm looking into it. Meanwhile, you can try to get all the latest drivers and examine the startup messages to see what is said after I_StartupMouse. If there is nothing about the mouse after that, the mouse isn't even initialized for some odd reason. Make sure use_mouse is set to 1 in Hexen.cfg.

Go to Recent News