From fd0cb31206a526aefe8be0cbf391e7f446c86afe Mon Sep 17 00:00:00 2001 From: Stefan Stefanov Date: Mon, 12 Feb 2024 21:28:34 +0200 Subject: [PATCH] Added README.md --- README.md | 26 ++++++++++++++++++++++++++ repo/in_game_screenshot.png | Bin 0 -> 32858 bytes repo/start_game_screenshot.png | Bin 0 -> 30767 bytes 3 files changed, 26 insertions(+) create mode 100644 README.md create mode 100644 repo/in_game_screenshot.png create mode 100644 repo/start_game_screenshot.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..c9c40de --- /dev/null +++ b/README.md @@ -0,0 +1,26 @@ +# Space Invaders + +## About +This is a simple clone I wrote in a weekend using `odin-lang` and the available `raylib` bindings. + +# Software used +* `Aseprite` for pixel art +* `neovim` and the `ols` LSP +* `make` + +# Building & running +This should be buildable through the makefile on any platform (Windows, OSX & Linux) as long as you have the Odin compiler on hand. +If the makefile is causing you trouble the project can be directly ran with (which creates a binary file as well): + +```bash +odin run . +``` +or compiled to a binary with a custom output directory & speed optimizations (although they are not needed at all): +```bash +odin build . -out:space_invaders.exe -o:speed +``` + +# Gallery +![Space Invaders Start Game Screen](/repo/start_game_screenshot.png) + +![In Game Screen](/repo/in_game_screenshot.png) \ No newline at end of file diff --git a/repo/in_game_screenshot.png b/repo/in_game_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..5444f6d879d94a91d7ebcc75e1fa9c7183537c90 GIT binary patch literal 32858 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 literal 0 HcmV?d00001