Skip to content

Commit 6267214

Browse files
committed
Update demo executable along with manual
This commit updates Quake ELF executable file and adds docs/demo.md which describes the usage and limitations of demo games, the rule name of Doom demo under Makefile is changed to "doom" instead of "demo".
1 parent dc95e65 commit 6267214

File tree

4 files changed

+51
-4
lines changed

4 files changed

+51
-4
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ include mk/external.mk
103103

104104
# Non-trivial demonstration programs
105105
ifeq ("$(ENABLE_SDL)", "1")
106-
demo: $(BIN) $(DOOM_DATA)
106+
doom: $(BIN) $(DOOM_DATA)
107107
(cd $(OUT); ../$(BIN) doom.elf)
108108
ifeq ("$(ENABLE_RV32F)", "1")
109109
quake: $(BIN) $(QUAKE_DATA)

README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,10 @@ make check
2222

2323
Run [Doom](https://en.wikipedia.org/wiki/Doom_(1993_video_game)), the classical video game, via `rv32emu`:
2424
```shell
25-
make demo
25+
make doom
2626
```
2727

28-
The build script will then download data file for Doom automatically. SDL2 based window
29-
should appear when Doom is loaded and executed.
28+
The build script will then download data file for Doom automatically. SDL2 based window should appear when Doom is loaded and executed. The usage and limitations of Doom and Quake demo are listed in [docs/demo.md](docs/demo.md).
3029

3130
## riscv-arch-test
3231

build/quake.elf

100644100755
-8.47 KB
Binary file not shown.

docs/demo.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Demos
2+
3+
## Doom
4+
**source**: [doom_riscv](https://github.com/smunaut/doom_riscv)
5+
6+
**commmad**: `make doom`
7+
8+
[Doom](https://en.wikipedia.org/wiki/Doom_(franchise)), a pioneering first-person shooter game developed by [id Software](https://en.wikipedia.org/wiki/Id_Software) in 1993, is known for its open-source code and vibrant community, it debuted innovations like genuine 3D graphics, networked multiplayer gameplay and the ability for players to create custom expansions.
9+
10+
![Doom Gameplay](https://imgur.com/bLc5LG8.gif)
11+
12+
### Limitations
13+
* The input system is not supported yet
14+
15+
## Quake
16+
**source**: [quake-embedded](https://github.com/sysprog21/quake-embedded/)
17+
18+
**command**: `make quake`
19+
20+
[Quake](https://en.wikipedia.org/wiki/Quake_(series)) was created in 1996 as a successor of the highly succcessful first-person shooter game Doom, it is based on Doom's game engine and 3D graphics compability, and it enhanced the fast-paced gameplay and online multiplayer over the Internet.
21+
22+
[quake-embedded](https://github.com/sysprog21/quake-embedded/) is an embedded RISC-V port of Quake based on [QuakEMBD](https://github.com/FantomJAC/quakembd).
23+
24+
Build Instruction:
25+
```
26+
$ git clone https://github.com/sysprog21/quake-embedded.git && cd quake-embedded
27+
$ mkdir build && cd build
28+
$ cmake -DCMAKE_TOOLCHAIN_FILE=../port/boards/rv32emu/toolchain.cmake \
29+
-DCMAKE_BUILD_TYPE=RELEASE -DBOARD_NAME=rv32emu ..
30+
$ make
31+
```
32+
33+
![Quake Gameplay](https://imgur.com/gXKb7D0.gif)
34+
35+
### Default Key Bindings
36+
* Move Forward/Backward: Up Arrow Key/Down Arrow Key
37+
* Move Left/Right: Comma(,) Key/Period(.) Key
38+
* Turn Left/Right: Left Arrow Key/Right Arrow Key
39+
* Swim Up/Down: D Key/C Key
40+
* Shoot: Left Mouse Button or CTRL Key
41+
* Switch Weapon: Slash(/) Key
42+
* Sprint: Shift Key
43+
44+
You may use the mouse to adjust the pitch and yaw angle
45+
46+
### Limitations
47+
* Mouse wheel input is not supported
48+
* All sound functions are not implemented

0 commit comments

Comments
 (0)