Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

id Software's classic FPS Doom for Axis network cameras.

License

Notifications You must be signed in to change notification settings

ErikMN/acap_doom

Repository files navigation

doom-logo

ACAP DOOM

⚠️ IMPORTANT ⚠️
This application is not affiliated with id Software LLC or Axis Communications AB.
Please read and respect the LICENSE to ensure compliance.
UNOFFICIAL APP
Requires "Allow unsigned apps" to be enabled on the device.
⚠️ IMPORTANT ⚠️
This application is not actively maintained.
It may not work on all devices or firmware versions.
Requires AXIS OS firmware version 11.5 or later.

What is this?

A port of the classic DOOM engine originally developed by id Software LLC, adapted for Axis network cameras.

Runs on devices based on ARTPEC-7, ARTPEC-8, or newer ARTPEC SoCs.
Refer to your device manual to determine your platform.

This application is intended to be built on a Linux or macOS system.

Build Docker images

Docker and Make must be installed before proceeding.

make dockersetup

This may take some time, as all required dependencies are built during this step.

Build the ACAP

⚠️ NOTE that you will need a WAD file to play and install the ACAP.
Please read the WAD File section below.

For ARTPEC-7 devices:

make armv7hf

For ARTPEC-8 devices:

make aarch64

This may take some time, as both the application binary and the web UI are built.

Install the ACAP

⚠️ You will need to enable unsigned ACAPs on the Apps page: Allow unsigned apps

Run setuptarget.sh to create credentials.json (requires jq to be installed)
Set the device IP and credentials in credentials.json and:

source setuptarget.sh && make install

Otherwise, go to the device web interface at:

http://<YOUR_DEVICE_IP>/camera/index.html#/apps

and select Add app
Upload the correct .eap file to the device to install it.

Run the ACAP

Open the app website and press the START button.

WAD file

WAD (which, according to the Doom Bible, is an acronym for "Where's All the Data?")
is the file format used by Doom and all Doom-engine-based games for storing data.

The WAD file used in ACAP Doom is the shareware version of Doom (doom1.wad, version 1.9, SHA-1 5b2e249b9c5133ec987b3ea77596381dc0d6bc1d).

doom1.wad will automatically be downloaded when running make dockersetup
When building the ACAP, it will be copied to the project directory.

⚠️ IMPORTANT ⚠️
The user is responsible for ensuring they have the legal right to use any WAD file deployed with this application.
WAD SHOULD BE PLACED IN THE SAME DIRECTORY AS THIS README FILE

The WAD file to be included in the ACAP is specified in package.conf under OTHERFILES. \

More about doom1.wad here: https://doomwiki.org/wiki/DOOM1.WAD

Expert users: Add your own WAD file

Place your WAD file in the following directory on the device:

/usr/local/packages/acap_doom

Note: Not all WAD files have been tested.

Expert users: Development

Check available build commands and helpers:

make help

To just build the application binary for current arch:

# Will build with debug symbols:
FINAL=n make build

# Deploy debug binary to target:
FINAL=n make deploy

Build and deploy the web code (requires Node.js and Yarn to be installed):

make web

# Deploy the ACAP web to target:
make deployweb

Trace logs on current sourced target device (requires Python with paramiko and scp):

make log

FAQ

Q: What is "ACAP"?

A: AXIS Camera Application Platform: An open application platform for software-based solutions built around Axis devices. More info here.

Q: Why can't I control the game?

A: Controls only work within the ACAP Doom webpage.

Q: Why are the controls slow or unresponsive?

A: There are a few steps you can take to improve the responsiveness of your game input:

  1. Try turning off other running ACAPs.
  2. Reload the video stream or the application UI.
  3. Lower the stream resolution.
  4. Ensure you are on the same network as your device for optimal performance.

Q: Why does it not work on my device?

A: Only tested on a limited set of ARTPEC-7 and ARTPEC-8 devices.

Q: Which browsers are supported?

A: Tested on latest stable versions of Chrome and Firefox. Other browsers are unverified.

Q: Why does it not install?

A: You will need to enable unsigned ACAPs on the Apps page: Allow unsigned apps Also ensure that the application matches the device architecture.

Q: Why am I not hearing any sounds?

A: You need to plug speakers or headphones to the audio output jack of your device.

Q: Why is there no music?

A: Music support has not been implemented yet.

Q: Does it only work on devices with an ARTPEC chip?

A: Yes, it currently only works on devices based on ARTPEC-7 or newer ARTPEC SoCs.

Q: What is the purpose of this?

A: This project is primarily a technical experiment demonstrating what is possible with the ACAP SDK.

Screenshots

screenshot1

screenshot2

Credits

⚠️ IMPORTANT ⚠️
All assets, libraries, and tools are the properties of their respective owners.
DOOM is a registered trademark of id Software LLC.

About

id Software's classic FPS Doom for Axis network cameras.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published