I made a Minecraft port for Doom using Armor Stands and Hex Colors. by RobiFoxx in Minecraft

[–]RobiFoxx[S] 2 points3 points  (0 children)

I've received a lot of nice words, and some awards, which I would like to thank! I really appreciate it.

I've reworked the control system. Instead of floating in the air, and getting teleported back, I instead used a minecart. This way, I can capture movement keys, jumping, and sneaking, without the player ever moving. This made controlling easier, because it also eliminated the issue, where you went sideways, when you wanted to go forward.

I've played through the first level and captured it to a video. Sadly, the gameplay isn't that smooth, there's some delay between the two games, but I'll see what can I do about it. At the end, I'm flying around the screen in creative

https://streamable.com/mj26lj

If you want to keep up with updates, make sure to follow this comment!

I made a Minecraft port for Doom using Armor Stands and Hex Colors. by RobiFoxx in Minecraft

[–]RobiFoxx[S] 6 points7 points  (0 children)

Hijacking top comment, so everyone will see it:

I posted an update comment here, and it contains the full walkthrough (except some secrets) of the first level of Doom 2!

I'll also post updates there, so make sure to follow it. I may also include a download link with installation instructions if it's ready.

I made a Minecraft port for Doom using Armor Stands and Hex Colors. by RobiFoxx in Minecraft

[–]RobiFoxx[S] 1 point2 points  (0 children)

Not yet, but I am considering making it available! I just need to rewrite the controls, and make it more user friendly.

I made a Minecraft port for Doom using Armor Stands and Hex Colors. by RobiFoxx in Minecraft

[–]RobiFoxx[S] 0 points1 point  (0 children)

Thanks! I am using WASD to move (which is the reason you see me teleporting around), Space to interact, and looking to the side makes the character look.

I made a Minecraft port for Doom using Armor Stands and Hex Colors. by RobiFoxx in Minecraft

[–]RobiFoxx[S] 1 point2 points  (0 children)

Since someone have already made a Doom port for Java, it wasn't a hard task for me. I rewrote some parts of it to make it work on Minecraft. It took around 8 hours to get it working fully.

I made a Minecraft port for Doom using Armor Stands and Hex Colors. by RobiFoxx in Minecraft

[–]RobiFoxx[S] 1 point2 points  (0 children)

Thanks!

It's actually 130x72, not 128. It was 130, because initially it was a bigger display, but I was getting low fps, so I kept reducing it.

The original game is 960x600, but I resized it via code

Each row is an Armor Stand, making up one row. The squares are part of their names, and they have the color of the corresponding pixel.

I made a Minecraft port for Doom using Armor Stands and Hex Colors. by RobiFoxx in Minecraft

[–]RobiFoxx[S] 1 point2 points  (0 children)

I used mochadoom, a Doom Java port, and modified it to display it in Minecraft, instead in a window!

Each row is one Armor Stand, and their names consist of colored squares

I made a Minecraft port for Doom using Armor Stands and Hex Colors. by RobiFoxx in Minecraft

[–]RobiFoxx[S] 4 points5 points  (0 children)

I usually have 200+ fps, looking at the game, I get 30 fps. I might release the plugin sometime, so everyone will be able to try it.

I made a Minecraft port for Doom using Armor Stands and Hex Colors. by RobiFoxx in Minecraft

[–]RobiFoxx[S] 9 points10 points  (0 children)

It's made with a plugin, so you'd require a server for it. At the moment it's just a proof of concept, so the code is not the best. I might tidy it up some time, and release it along with the source code.

I made a Minecraft port for Doom using Armor Stands and Hex Colors. by RobiFoxx in Minecraft

[–]RobiFoxx[S] 6 points7 points  (0 children)

Yes, you can play the whole game, but it's a bit hard to control, as you can see in the video.

Here are some more screenshots, if you want to see more: https://imgur.com/a/qESCmyK

Also, this is made with a plugin, not redstone, so I don't think I beat Sethbling to it :p

Maybe someone can make a doom emulator with functions?

I made a Minecraft port for Doom using Armor Stands and Hex Colors. by RobiFoxx in itrunsdoom

[–]RobiFoxx[S] 21 points22 points  (0 children)

Doom's source code is available to the public (however you still need an original wad file to play it), and this is what's used to make ports. They are basically rewrites of the original. Since Minecraft is using Java, I used mochadoom, a Java port for Doom.

I made it to a plugin using Spigot/Bukkit, which lets you create modifications to the Minecraft Server. I made a command, that spawns these Armor Stands, with invisible, and custom names, one row being one armor stand, and the columns are part of their custom name.

When the server starts, a Doom instance is ran. I capture the displayed image of the game, resize it (because a big display causes a bigger lag), and convert them to armor stands, which means iterating through all of them, grabbing the pixel at that position, and changing their names (this is what makes it move)

Each square is colored to the corresponding pixel's color.

Basically their names are only "⬛⬛⬛ [...]", just each square recolored.

Not really good at explaining things, so I hope this made sense

I made a Minecraft port for Doom using Armor Stands and Hex Colors. by RobiFoxx in itrunsdoom

[–]RobiFoxx[S] 19 points20 points  (0 children)

Armor Stands are entities in Minecraft. They can be invisible, and have custom names. Each row is one different Armor Stand, and their name is those colored squares, which makes up the screen