Doom on Playdate

I have not! Work got crazy and this week I'm out of town... but I have my laptop so maybe?

I do agree about getting it on github. Once it's playable and up to 1.11.0 it makes sense to make it more public and ready for pull requests.

3 Likes

This would be awesome. I appreciate you taking an interest in getting this game on the playdate :heart: @jfaulken

Big Doom guy. It comes naturally. :slight_smile:

3 Likes

@jfaulken Any news on this?

1 Like

A little, nothing useful yet. I moved the project over to my Mac where my dev setup is more mature. I've also spent some time with the C dev loop doing some other small test projects.

Gonna fire it up now and see what I can get working.

5 Likes

Ok, got it to compile for the simulator! Title screen, attract mode and main menu work but it crashes when you start the game.

Gonna keep poking at it. If anyone wants to play around with it in the simulator here's the zipped pdx file:

Doom.pdx.zip (2.2 MB)

4 Likes

GOOD NEWS EVERYONE. Got the build running on device!

When you start the game make sure not to touch any controls until the attract mode has started on its own. If you do it'll crash the Playdate and require a reboot.

DoomDevice.pdx.zip (2.2 MB)

Enjoy!

Gonna clean up the build files a little and then put it on github.

14 Likes

Nice! I just tried it works really well now, no more crashes.

Congrats :+1:

3 Likes

Hey, Nic and Matt: how about PLAYDOOM as a name? :slight_smile:

4 Likes

Is this on github now?

This is amazing! quick question - can I and how do I change weapons?

Some time ago I saw online a new Doom Port that had the goal to be a bit easier to port.
https://github.com/Daivuk/PureDOOM

While the project doesn't seem to be very active I still like that most of the platform code is very separated from the Doom code. So I wrote a version for the playdate and this time I've put it on GitHub.

The big advantage is that everything playdate related is in the main file so it is really easy to adapt the control, add options, improve 1-bit conversion, etc.

PureDoom-Bayern44-noisy-anim
Running in the simulator. Dithering: Bayern 4x4 with noise

The current version runs in the simulator. It also boots on Playdate but it is not yet playable. The performance quickly drops until it crashes. I suspect there is a difference between clang and gcc because the playdate version has some weird behaviour and texture corruption.

Current Status
:white_check_mark: :desktop_computer: Playable in the simulator
:x: :playdate_black: Not playable but boots
:white_check_mark: :joystick: Basic control (move, shoot, interaction)
:x::sound: No music or sound effect


But one of the reason to dig back Doom is that I wanted to experiment a bit further with dithering.

In the first build I used ordered dithering with a big blue noise. I generally like how it can capture some finer details in an image and especially how gradients looks. However the image tend to be a bit blurry and also very ... noisy. That made the game not very enjoyable to play IMO.

PureDoom-BlueNoise

I usually dislike Bayer filter since I find the visible structure distracting. However It make the game much more contrasty especially with a 2x2. We lose some details but elements tend to be a bit more visible with it.

What I wanted to do is adding some noise to Bayer to break down the structure and make the overall look a bit more grungy/natural.
At first I had issue with distribution of threshold values but I use a very straightforward method that overall give some nice result in my opinion.

Bayer 4x4
PureDoom-Bayern44 No noise
PureDoom-Bayern44-noisy With noise

Bayer 2x2
PureDoom-Bayern22 No noise
PureDoom-Bayern22-noisy With noise

In the build, you can option the option menu to change the Bayer filter and the level of noise. I am still not sure what has the best result yet. Bayer 4x4 with Noise 2 looks better, but Bayer 2x2 with Noise 2 is more readable overall until we are in very dark part of the levels.

9 Likes

Looks awesome! What about blue noise with some contrast boosting by some means? (In the lighting and/or in the textures themselves?)

What are the odds of an updated build for 2.0.1?

2 Likes

I just compiled it for 2.0.x, it boots but it crashes rapidly and framerate is below 1FPS... but I can post the pdx if someone is interested...

3 Likes

Yes, please do it. Something better than nothing :slight_smile:

1 Like

yes please post it. it could be so cool

1 Like

Please release Doom on modern firmware. Why live if I can't play Doom on my Playdate?

3 Likes

Hello everyone! Can someone please share the latest compiled build (as well as the code, if possible?) ? The links above are no longer working. I would like to do some tests on the simulator and the actual device (on SDK 2.4.2). Thank you all in advance!

EDIT: These are the only 2 links on github (that I know of) and I wonder if any of these below can be compiled by someone to run on the latest SDK.

Hello! I've compiled code from GitHub - spazzylemons/playdoom: Doom port to Playdate based on Chocolate Doom repository with SDK 2.4.2
I've modified only the Makefile.
Here's the version for device. It works smoothly on my Playdate with 2.4.2 firmware.
Makefile.zip (624 Bytes)
PlayDoom.pdx.zip (3.1 MB)
Don't forget to place doom2.wad in the game's data folder (PLAYDATE/Data/me.spazzylemons.PlayDoom) or the game will not run.

5 Likes