imustafin / pbdoom

Doom for PocketBook eInk devices
https://pbdoom.imustafin.tatar
GNU General Public License v2.0
17 stars 0 forks source link

How do I use this on my touch HD 3? #1

Closed B1adedriver closed 1 year ago

B1adedriver commented 1 year ago

Hello, I've never compiled something from github, so I was wonder if you could give me a step by step to get this running on my Pocketbook Touch HD 3, thanks!

imustafin commented 1 year ago

Hi! It has been some time since I worked on this project, but I will be happy to fix a thing or two. I will update the readme with the detailed instructions later today.

Building

If you can use docker, then I recommend https://github.com/Skeeve/SDK_6.3.0.

Basically, you just do what their readme says and run commands from our readme.

You will get an executable pbdoom.app.

Here is a version compiled by me: pbdoom.zip.

Installation

Put the executable (pbdoom.app) into the applications folder on your PB. Also create a text file in applications and name it something like pbdoom-start.app (.app extension is important) with these contents:

#!/bin/sh

export DOOMWADDIR=/mnt/ext1
$DOOMWADDIR/applications/pbdoom.app > $DOOMWADDIR/pbdoom.out 2> $DOOMWADDIR/pbdoom.err

Put your wad file where the DOOMWADDIR points to. In my case DOOMWADDIR=/mnt/ext1, so the application is in the applications dir, doom2.wad is near the applications dir and log files (pbdoom.out and pbdoom.err) are created near the wad file.

Running

Run the pbdoom-start application from the menu. The game should appear. If it doesn't, you can send me the logs.

B1adedriver commented 1 year ago

Thank you for the helpful instructions. I put your compiled pbdoom.app in the applications folder and made the pbdoom-start.app file with the content you sent, and put my DOOM2.WAD in the PB's main directory, but when I launch pbdoom-start.app I'm taken to the home screen and nothing happens. No log files are created. I'll attach an image of the applications folder and pbdoom-start.app Screenshot 2023-01-09 183953

I'm probably making a mistake, so any help would be much appreciation, thanks.

imustafin commented 1 year ago

The log files (pbdoom.out and pbdoom.err) should appear one level higher (D: in your screenshot).

Also please check that doom2.wad's name is lower case. It is important.

If it still doesn't work, I can suggest installing pbterm https://userpage.physik.fu-berlin.de/~jtt/PB/ and trying to run the application from the terminal. We might see more output this way. What you would need to do in this case:

  1. Install pbterm
  2. Open it and run the following commands
  3. cd /mnt/ext1/application to go to the applications directory
  4. ls print contents of the current directory, just to be sure
  5. ./pbdoom-start.app run the game
  6. Post the output (can be a screenshot of your PB)
B1adedriver commented 1 year ago

Doom2.wad was capitalized so I made it lowercase, but I'm still running into the same problem. I checked D:, but no log files. I installed pbterm, but when I load into it it says: "/bin/ash: can't access tty; job control turned off" and when I run the first command to go to the application directory: "bin/ash: cd: can't cd to /mnt/ext1/application" Any idea what I should do? Thanks

imustafin commented 1 year ago

Ah sorry. It seems I've made a mistake. It is applications in the end, not application. The full command would be

cd /mnt/ext1/applications
B1adedriver commented 1 year ago

I got this error scr0001

imustafin commented 1 year ago

That's very strange. I don't have my device with me right now.

Some things to try:

  1. Pass wad file name directly to the game executable ./pbdoom.app -file ../doom2.wad
  2. Try to run the game directly. Run DOOMWADDIR=/mnt/ext1 pbdoom.app or DOOMWADDIR=/mnt/ext1 ./pbdoom.app
  3. Rename the file so that it doesn't have the dash -. Maybe pbdoomstart.app will work, then try with the new name
  4. Add the executable flag to the file chmod +x ./pbdoom-start.app and run ./pbdoom-start.app again. Not sure if it will work, can't check right now.

Big thanks for staying with me to sort out this issue! Let's not give up!

B1adedriver commented 1 year ago

Renaming didn't work, running the game directly sorta worked, but I get an error (no log files are created in the main directory): scr0002

imustafin commented 1 year ago

Indeed, it is the same on my device. I guess -file is not the right parameter.

However, I checked the other options

DOOMWADDIR=.. pbdoom.app

or

DOOMWADDIR=/mnt/ext1 pbdoom.app

And they 100% should work.

I noticed you use Windows. Maybe there was something wrong with the start script encoding/newlines/etc.. I will send you mine so you can try it too. Unzip pbdoom-start.app.zip to get the pbdoom-start.app

B1adedriver commented 1 year ago

The first command ends telling me "Demo is from a different game version!" I'll send screenshots of the output when I run both commands: (also I renamed my wad to be lowercase when you mentioned it and replaced my start script with yours)

first second

imustafin commented 1 year ago

The first command ends telling me "Demo is from a different game version!"

This is good, this means that the game is running. When it does this, check if another program is opened via Task Manager (https://support.pocketbook-int.com/fw/632_HZO/ww/5.19.832/manual/ww/User_Manual_Touch_HD_3_EN.pdf p. 16). Switch to a task named pbdoom.

When you run programs from pbterm, they start in background and pbterm stays in foreground.

Btw, on your second screenshot you missed the / right after the = in DOOMWADDIR=/mnt/ext1 ...

Does my script work if you run it from the menu? If not, does it work if you run it from pbterm as pbdoom-start.app?

B1adedriver commented 1 year ago

Thank you for the assistance so far, I definitely would've gotten stuck and given up without your help. So I was able to switch to the game in task manager, and I could select the A2/dithering options, but Y/N and tapping on the screen didn't do anything. I replace my start script with yours, but I'm still booted to the home screen with no background tasks. When I run ./pbdoom-start.app I get the same not found error from my second screenshot. It's also late where I'm at so I'm gonna be back in 6-8 hours

imustafin commented 1 year ago

I see. I will try to check how other projects make launcher scripts. On the other hand, in the future we could even make a real gui launcher with WAD selection if anyone is really interested in playing the game.

Do you see other buttons on the screen? Check the screenshots at the end of this comment.

I'm not sure which screen size is your device, I will check later. Maybe I would need to take your screen size into account.

On the bottom from left to right there should be these buttons: arrows, ENTER, CTRL and Space below CTRL. They work the same way as on the computer.

I tried to implement the multitouch support. You should be able to walk (arrows) and shoot (ctrl) at the same time with two fingers.

B1adedriver commented 1 year ago

the game itself renders fine, but the buttons are cropped: scr0005

imustafin commented 1 year ago

I see. Thanks for the screenshot. I will update the game to support various screen sizes. Expect an update this Friday or Saturday.

Again, big thanks for following this journey :)

Can you please tell me more about how you plan to use this game? Do you really want to play it or you just want to test it as a toy example of what PB can do? How did you find this project?

B1adedriver commented 1 year ago

I think I found your project from googling "Ereader running Doom" after I got my pocketbook lol. I like it because it's a novelty, but also because every other game for pocketbook is basic, this is the only 3D game on a non-android ereader I've found. It reminds me of playing a doom port on the TI84, but this time it's the full game.

I don't know how easy it would be to implement, but I think in addition to Wad switching if it used the pocketbook's buttons and was in landscape mode that would make it so cool. Thanks again for helping and being responsive.

imustafin commented 1 year ago

Great, congrats for on your new device!

I guess you already saw the old video of Doom running on PB 360+ (image clickable). I never managed to find the sources/executable, however. YouTube video Doom 2 on PocketBook 360 Plus

My main concern with this game is the eink display longevity i.e. how harmful such games would be for the display. People seem to be playing games on Android based ereaders, so maybe it is not a big deal.

Among other PocketBook games with more action, TankWar comes to mind. I played it around 9 years ago on a non-touch PocketBook 602.

Sources: https://sourceforge.net/p/pocketbook-free/svn/HEAD/tree/tankwar/. I guess the download from http://fedorchenko.net/pb.php should be safe. Anyways, you can try to compile it yourself. I might even try to fix a thing or two if an update is needed for modern devices.

Also there is https://github.com/SteffenBauer/PocketPuzzles which is still alive and being updated. See their readme for downloads.

And there is https://github.com/imustafin/pb-patience which is even more of a tech demo (shows that it is possible to write applications/games in Eiffel for PocketBook). Downloads are on the releases page https://github.com/imustafin/pb-patience/releases

imustafin commented 1 year ago

Hi! I've updated the installation instructions. Check the new instructions at https://github.com/imustafin/pbdoom/blob/main/README.md#installation.

I have not made a release yet. Please use the download from https://github.com/imustafin/pbdoom/suites/10505095587/artifacts/521359385.

File structure has changed a bit. Now it is closer to what KOReader is using.

The buttons should also appear fully on your screen. Please send a screenshot for me to check if everything is ok.

If everything will work, we will make a release and close this issue. If you have any ideas, let's discuss them in a new issue!

B1adedriver commented 1 year ago

It Works! All the buttons are visible, all the rendering options work, and I complete level 1 without a problem!

scr0001