Skip to content

Commit 37baf70

Browse files
committed
0.1.0
1 parent 22690e7 commit 37baf70

File tree

443 files changed

+7849
-75281
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

443 files changed

+7849
-75281
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ terrain.png
66
*.data.old
77
*.swp
88
serde-test/*
9-
.ssh/*
9+
.ssh/*

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "engine"]
2+
path = engine
3+
url = [email protected]:softbeargames/kodiak.git

Makefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
include makefiles/game.mk
2+
3+
server_perf_record:
4+
cargo build --manifest-path server/Cargo.toml
5+
sudo perf record --call-graph=dwarf ./server/target/release/server
6+
7+
server_perf_report:
8+
sudo perf report --hierarchy -f -M intel

README.md

Lines changed: 20 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -11,30 +11,33 @@
1111

1212
- [Ship Suggestions](https://github.com/SoftbearStudios/mk48/discussions/132)
1313

14-
## Building
14+
## Build Instructions
1515

16-
### Tools
16+
1. Install `rustup` ([see instructions here](https://rustup.rs/))
17+
2. Install `gmake` and `gcc` if they are not already installed.
18+
3. Install `trunk` (`cargo install --locked trunk --version 0.17.5`)
19+
4. Run `download_makefiles.sh`
20+
5. Install Rust Nightly and the WebAssembly target
1721

18-
0. Install `rustup` ([see instructions here](https://rustup.rs/))
19-
1. Install Rust Nightly (`rustup override set nightly-2022-08-14`)
20-
2. Add WebAssembly target (`rustup target add wasm32-unknown-unknown`)
21-
3. Install `trunk` (`cargo install --locked trunk`, install `gcc` first if it complains about missing `cc`)
22-
4. Optionally, install the `make` command
22+
```console
23+
make rustup
24+
```
2325

24-
You may use any version of Rust that works, but only `nightly-2022-08-14` is known
25-
to be compatible.
26+
6. Build client
2627

27-
### Client
28+
```console
29+
cd client
30+
make release
31+
```
2832

29-
0. Enter `/client`
30-
1. `make` or, equivalently, `trunk build --release`
31-
2. Deploy the server to host the client
33+
7. Build and run server
3234

33-
### Server
35+
```console
36+
cd server
37+
make run_release
38+
```
3439

35-
0. Enter `/server`
36-
1. `make` to build and run a test server
37-
2. Navigate to `localhost:8081` (or whatever port is printed in the console)
40+
8. Navigate to `https://localhost:8443/` and play!
3841

3942
## Developing
4043

@@ -51,29 +54,6 @@ Entities (ships, weapons, aircraft, collectibles, obstacles, decoys, etc.) are d
5154
Each entity type must be accompanied by a texture of the same name in the spritesheet, which comes with the
5255
repository. If entity textures need to be changed, see instructions in the `sprite_sheet_packer` directory.
5356

54-
### Engine
55-
56-
Both client and server rely on our custom game engine (which is present in the `engine` directory).
57-
58-
#### Admin interface (optional)
59-
One notable feature of the engine is an (optional) admin interface. To build it:
60-
61-
0. Install NodeJS 14 or higher ([here](https://nodejs.org/en/download/))
62-
1. Enter `/engine/js`
63-
2. `make`
64-
3. Deploy the server to host the admin interface
65-
4. Go to `localhost:8081/admin/`
66-
5. Paste the contents of `engine/game_server/src/auth.txt`, generated randomly by a build script, into the alert dialog
67-
68-
### Macros
69-
70-
Many macros are utilized by the codebase. Mk48-specific macros can be found in the `macros` directory,
71-
and game engine macros can be found in the `engine/engine_macros` directory. A few notable macros are:
72-
- Mk48 entity loader (generates `EntityData` for all entity types, used by both client and server)
73-
- Game engine audio loader (generates `Audio` enum for client, with a variant per sound)
74-
- Game engine settings (generates Javascript bindings for settings structs)
75-
- Game engine renderer layer (for composable rendering layers)
76-
7757
## Contributing
7858
See [Contributing](https://github.com/SoftbearStudios/mk48/wiki/Contributing) Wiki page.
7959

assets/branding/1280x550.jpg

189 KB
Loading

assets/branding/1280x550.png

307 KB
Loading

assets/branding/1280x720.jpg

227 KB
Loading

assets/branding/1280x720.png

326 KB
Loading

assets/branding/1920x1080.png

202 KB
Loading

assets/branding/200x120.jpg

25.8 KB
Loading

0 commit comments

Comments
 (0)