Jump to content
sleirsgoevy

DooM I (1993) running on Blu-Play

Recommended Posts

Peer discovery is now available via UDP broadcast. The (made-up) command line for that is -net ?<nplayers>. Unfortunately this means that the protocol is no longer compatible with LinuxDOOM.

P.S. The code was mostly rewritten from the IPXSETUP code and uses a similar protocol.

Edited by sleirsgoevy

Share this post


Link to post
Share on other sites

It can now boot in under 15 seconds!
The WAD file is now placed directly in the directory tree, not inside the JAR. It now also gets cached within a DVBBufferedImage which further speeds up loading.
 

 

Share this post


Link to post
Share on other sites

Very impressive!

I'm puzzled how it can result in such a speed difference, by placing the WAD outside the jar.

I would have expected it to be faster if it was inside the jar.

Share this post


Link to post
Share on other sites

The difference actually comes from caching the whole file in memory, not from it being outside the JAR. The engine does seek a lot, and InputStreams obtained from getResourceAsStream() are unfortunately non-seekable.

Share this post


Link to post
Share on other sites

As for the current status: the multiplayer mode is already fully functional, so I think it can already be played by normal gamers. I decided to implement a tiny gamemode selector, so there is no need to modify cmdline.txt to switch between modes.
(A side note on "normal gamers": I suppose that gamers used to "official" console shooters (if any non-dev is going to play this port) will hate the controls, and the port itself as a consequence. They're not devs, so may not understand that this is a platform limitation.)

Share this post


Link to post
Share on other sites
Posted (edited)

I finally got myself onto it again, so I publish a new version.
Changes from the previous version:
* Background music is finally implemented via (sort of) MIDI player (The quality sucks though, and it eats almost 1MB of Java heap).

* X key now sends both KEY_ENTER and KEY_RSHIFT, to allow running (sadly we're out of keys...)

* Fixed the 1000x0 issue
Download link: https://drive.google.com/file/d/1MIA8RyBcpM_6PQraKvfbWHlas9x_7cAl/view?usp=sharing
(Side note on the key shortage: it may be possible, with some effort, to intercept the "Flick Left/Flick Right" events (+-15s on PS4, don't know if these can be easily triggered on other devices) and e.g. remap them to "prev/next weapon" to gain 2 more buttons.)
EDIT: the port can now handle OOM in MUSFile constructor.

Edited by sleirsgoevy

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...