Description
DOOM on Hytale
[!NOTE] Yes, somebody had to do it! I'm sorry ;-) It's just a showcase. Do not expect a serious gaming experience!
The world is created on startup block by block with data read directly from the original shareware DOOM1.WAD file. Every enemy and item is located at it's correct position. Some tweaks are applied at runtime to make it look nice(r) on Hytale.
DISCLAIMER:
It's unbalanced and the hidden door on map 1 has some issues and you cannot pass.
Entering level two is at your own risk. Nothing has been tweaked there and I assume that no map beyond map 1 is really playable. The same applies to all maps of Freedoom.
AI DISCLAIMER:
Most code is generated by Claude Code because I didn't have the time or the will to read into the details of Doom. So, most code by AI, my contribution was mainly demanding crazy stuff from the AI, clicking 'yes' and shouting at it :-)
Please don't start shitstorms about what's missing or not working. I know and I've warned you.
— PapiSpielt
Play classic DOOM levels recreated as Hytale worlds. Enemies, weapons, armor and other items map to Hytale items.
Block textures are sourced from Freedoom, a free and open replacement for the original DOOM assets. They don't really fit on Hytale blocks, I know.
The original shareware WAD file is not included in the mod. It will be downloaded at startup from https://www.jbserver.com/downloads/games/doom/misc/shareware/doom1.wad.zip.
Getting Started
The game starts automatically when you start a new world. If not, read on.
Run this command to generate a new level and teleport into it:
/doom new
Options
| Property | Values | Default | Description |
|---|---|---|---|
--map |
E1M1, E1M2, … |
E1M1 |
Level to load. Pass any valid map name from the WAD. |
--mode |
shareware, freedoom |
shareware |
WAD source. shareware downloads the original DOOM shareware WAD from the web and caches it at /tmp/doom1.wad. freedoom uses the FreeDoom WAD bundled inside the plugin JAR. |
Examples:
/doom new --map E1M3
/doom new --mode freedoom
/doom new --map E1M2 --mode freedoom
A fresh void world is created and filled with the level geometry. This takes a few seconds. Once it's done, you'll spawn at the Player 1 start position. The map name is shown as a title on screen when you enter.
Each time you run /doom new a brand-new world is created, so you can always get a clean copy.
You may need operator permissions (
/op self) to use these commands.
What to Expect
- Walls, floors, and ceilings are all placed as blocks, with some height changes.
- Doors are interactable blocks that slide open when interacted with (F key).
- See through Windows.
- The sky is a cylindrical panorama surrounding the entire level at the horizon showing the original background image as blocks.
- Items and decorations from the original map (barrels, health pickups, ammo crates) are placed at their original positions as Hytale blocks or props.
Third-Party Assets
Freedoom
Block textures and background music used in this plugin are copied from the Freedoom project.
Copyright (c) 2001-2024 Contributors to the Freedoom project. All rights reserved. See FREEDOOM-LICENSE for the full license text.
DoomStruct
This plugin bundles the source code of DoomStruct 2.22.2 by Matt Tropiano, compiled as part of the project build. DoomStruct is used for reading DOOM WAD files and map data.
DoomStruct is distributed under the GNU Lesser General Public License, Version 2.1. See DOOMSTRUCT-LICENSE for the full license text.
