diff --git a/justfile b/justfile
index e64dfb26..95e4a4b6 100644
--- a/justfile
+++ b/justfile
@@ -98,18 +98,19 @@ setup-cargo-wasm:
build-website-backtrace:
(cd website/backtrace && wasm-pack build --target web)
- rm -rf website/agb/src/app/vendor/backtrace
- mkdir -p website/agb/src/app/vendor
- cp website/backtrace/pkg website/agb/src/app/vendor/backtrace -r
+ rm -rf website/agb/src/vendor/backtrace
+ mkdir -p website/agb/src/vendor
+ cp website/backtrace/pkg website/agb/src/vendor/backtrace -r
build-mgba-wasm:
- rm -rf website/agb/src/app/mgba/vendor
- mkdir website/agb/src/app/mgba/vendor
- {{podman_command}} build --file website/mgba-wasm/BuildMgbaWasm --output=website/agb/src/app/mgba/vendor .
+ rm -rf website/agb/src/components/mgba/vendor
+ mkdir website/agb/src/components/mgba/vendor
+ {{podman_command}} build --file website/mgba-wasm/BuildMgbaWasm --output=website/agb/src/components/mgba/vendor .
build-combo-rom-site:
just _build-rom "examples/combo" "AGBGAMES"
- gzip -9 -c examples/target/examples/combo.gba > website/agb/src/app/combo.gba.gz
+ mkdir -p website/agb/src/roms
+ gzip -9 -c examples/target/examples/combo.gba > website/agb/src/roms/combo.gba.gz
setup-app-build: build-mgba-wasm build-combo-rom-site build-website-backtrace
diff --git a/website/agb/src/app/colour/colour.tsx b/website/agb/src/app/colour/colour.tsx
index 77d11789..c9770737 100644
--- a/website/agb/src/app/colour/colour.tsx
+++ b/website/agb/src/app/colour/colour.tsx
@@ -1,6 +1,6 @@
"use client";
-import { ContentBlock } from "../contentBlock";
+import { ContentBlock } from "../../components/contentBlock";
import { useState } from "react";
import { styled } from "styled-components";
@@ -69,44 +69,48 @@ export default function ColourPicker() {
}
return (
-
- You likely got here from the link / QR code that was displayed when a
- game you were playing crashed. This is the default crash page for games
- made using the agb library.
-
- The creator of the game is very likely interested in the code
- below along with a description of what you were doing at the
- time.{" "}
- Send these to the creator of the game you are playing.
-
-
- The owners of this website are not necessarily the creators of the
- game you are playing.
-
-
+ You likely got here from the link / QR code that was displayed when a
+ game you were playing crashed. This is the default crash page for
+ games made using the agb library.
+
+ The creator of the game is very likely interested in the code
+ below along with a description of what you were doing at the
+ time.{" "}
+
+ Send these to the creator of the game you are playing.
+
+
+
+ The owners of this website are not necessarily the creators of the
+ game you are playing.
+
+ agbrs colour converter
- Regular RGB8
- GBA RGB5
- agbrs colour converter
+ Regular RGB8
+ GBA RGB5
+ agbrs crash backtrace viewer
- Backtrace
- {backtrace && agbrs crash backtrace viewer
+ Backtrace
+ {backtrace &&
+ Get through as many levels as possible in this space themed, dice + rolling roguelike. +
++ Build up powerful combos to defeat enemies which keep getting stronger. + Slowly acquire more dice and upgrade them in order to handle the + increasing strength of the enemies you face. +
+ ++ Hyperspace Roll was influenced by great games such as Slay the Spire, + FTL and the board game Escape: The Curse of the Temple. +
+ > + ), + itch: new URL("https://setsquare.itch.io/dungeon-puzzlers-lament"), +}; diff --git a/website/agb/src/app/showcase/data/tapir/dungeon/the-dungeon-puzzlers-lament-0.png b/website/agb/src/app/showcase/data/tapir/dungeon/the-dungeon-puzzlers-lament-0.png new file mode 100644 index 00000000..7129214d Binary files /dev/null and b/website/agb/src/app/showcase/data/tapir/dungeon/the-dungeon-puzzlers-lament-0.png differ diff --git a/website/agb/src/app/showcase/data/tapir/dungeon/the-dungeon-puzzlers-lament-1.png b/website/agb/src/app/showcase/data/tapir/dungeon/the-dungeon-puzzlers-lament-1.png new file mode 100644 index 00000000..d73f1047 Binary files /dev/null and b/website/agb/src/app/showcase/data/tapir/dungeon/the-dungeon-puzzlers-lament-1.png differ diff --git a/website/agb/src/app/showcase/data/tapir/hatwiz/hatwiz.tsx b/website/agb/src/app/showcase/data/tapir/hatwiz/hatwiz.tsx new file mode 100644 index 00000000..efe9ad52 --- /dev/null +++ b/website/agb/src/app/showcase/data/tapir/hatwiz/hatwiz.tsx @@ -0,0 +1,43 @@ +import { ShowcaseGame, shuffle } from "../../../games"; +import h1 from "./the-hat-chooses-the-wizard-0.png"; +import h2 from "./the-hat-chooses-the-wizard-1.png"; +import h3 from "./the-hat-chooses-the-wizard-2.png"; +import h4 from "./the-hat-chooses-the-wizard-3.png"; + +const HatWizScreenshots = [h1, h2, h3, h4]; + +export const HatWiz: ShowcaseGame = { + name: "The Hat Chooses the Wizard", + developers: shuffle(["Corwin Kuiper", "Gwilym Inzani"]), + screenshots: HatWizScreenshots, + description: ( + <> ++ ‘The Hat Chooses the Wizard’ is a 2D platformer. This game + was developed as an entry for the GMTK game jam 2021, with the theme + “joined together”. The entire game, except for the music, + was produced in just 48 hours. +
++ In this game, you play as a wizard searching for his missing staff. + However, the path to the staff is filled with dangerous obstacles and + monsters. Luckily, you have a powerful magic hat that can be thrown and + recalled, allowing you to fly towards it and reach otherwise + inaccessible platforms. +
++ With this unique mechanic, you can explore the game's levels and + defeat enemies. The game's simple but challenging gameplay will put + your platforming skills to the test as you try to reach the end. +
++ The music is by Otto Halmén released under creative commons attribution + 3.0 and can be found here:{" "} + + opengameart.org/content/sylvan-waltz-standard-looped-version + +
+ > + ), + itch: new URL("https://lostimmortal.itch.io/the-hat-chooses-the-wizard"), +}; diff --git a/website/agb/src/app/showcase/data/tapir/hatwiz/the-hat-chooses-the-wizard-0.png b/website/agb/src/app/showcase/data/tapir/hatwiz/the-hat-chooses-the-wizard-0.png new file mode 100644 index 00000000..1dbe0a0f Binary files /dev/null and b/website/agb/src/app/showcase/data/tapir/hatwiz/the-hat-chooses-the-wizard-0.png differ diff --git a/website/agb/src/app/showcase/data/tapir/hatwiz/the-hat-chooses-the-wizard-1.png b/website/agb/src/app/showcase/data/tapir/hatwiz/the-hat-chooses-the-wizard-1.png new file mode 100644 index 00000000..3c101a4d Binary files /dev/null and b/website/agb/src/app/showcase/data/tapir/hatwiz/the-hat-chooses-the-wizard-1.png differ diff --git a/website/agb/src/app/showcase/data/tapir/hatwiz/the-hat-chooses-the-wizard-2.png b/website/agb/src/app/showcase/data/tapir/hatwiz/the-hat-chooses-the-wizard-2.png new file mode 100644 index 00000000..34e07902 Binary files /dev/null and b/website/agb/src/app/showcase/data/tapir/hatwiz/the-hat-chooses-the-wizard-2.png differ diff --git a/website/agb/src/app/showcase/data/tapir/hatwiz/the-hat-chooses-the-wizard-3.png b/website/agb/src/app/showcase/data/tapir/hatwiz/the-hat-chooses-the-wizard-3.png new file mode 100644 index 00000000..17130c0a Binary files /dev/null and b/website/agb/src/app/showcase/data/tapir/hatwiz/the-hat-chooses-the-wizard-3.png differ diff --git a/website/agb/src/app/showcase/data/tapir/hyperspace/hyperspace-roll-0.png b/website/agb/src/app/showcase/data/tapir/hyperspace/hyperspace-roll-0.png new file mode 100644 index 00000000..d03f89eb Binary files /dev/null and b/website/agb/src/app/showcase/data/tapir/hyperspace/hyperspace-roll-0.png differ diff --git a/website/agb/src/app/showcase/data/tapir/hyperspace/hyperspace-roll-1.png b/website/agb/src/app/showcase/data/tapir/hyperspace/hyperspace-roll-1.png new file mode 100644 index 00000000..47f792df Binary files /dev/null and b/website/agb/src/app/showcase/data/tapir/hyperspace/hyperspace-roll-1.png differ diff --git a/website/agb/src/app/showcase/data/tapir/hyperspace/hyperspace.tsx b/website/agb/src/app/showcase/data/tapir/hyperspace/hyperspace.tsx new file mode 100644 index 00000000..945dc2dd --- /dev/null +++ b/website/agb/src/app/showcase/data/tapir/hyperspace/hyperspace.tsx @@ -0,0 +1,30 @@ +import { ShowcaseGame, shuffle } from "@/app/showcase/games"; +import h1 from "./hyperspace-roll-0.png"; +import h2 from "./hyperspace-roll-1.png"; + +const Screenshots = [h1, h2]; + +export const Hyperspace: ShowcaseGame = { + name: "Hyperspace Roll", + developers: shuffle(["Corwin Kuiper", "Gwilym Inzani", "Sam Williams"]), + screenshots: Screenshots, + description: ( + <> ++ Get through as many levels as possible in this space themed, dice + rolling roguelike. +
++ Build up powerful combos to defeat enemies which keep getting stronger. + Slowly acquire more dice and upgrade them in order to handle the + increasing strength of the enemies you face. +
+ ++ Hyperspace Roll was influenced by great games such as Slay the Spire, + FTL and the board game Escape: The Curse of the Temple. +
+ > + ), + itch: new URL("https://lostimmortal.itch.io/hyperspace-roll"), +}; diff --git a/website/agb/src/app/showcase/data/tapir/purple/purple.tsx b/website/agb/src/app/showcase/data/tapir/purple/purple.tsx new file mode 100644 index 00000000..34fa37ec --- /dev/null +++ b/website/agb/src/app/showcase/data/tapir/purple/purple.tsx @@ -0,0 +1,26 @@ +import { ShowcaseGame, shuffle } from "@/app/showcase/games"; +import p1 from "./the-purple-night-0.png"; +import p2 from "./the-purple-night-1.png"; + +const Screenshots = [p1, p2]; + +export const Purple: ShowcaseGame = { + name: "The Purple Night", + developers: shuffle(["Corwin Kuiper", "Gwilym Inzani", "Sam Williams"]), + screenshots: Screenshots, + description: ( + <> +Save a lost soul and take them safely back to the afterlife!
++ The purple night is a platformer game where your health bar is your + sword. The more damage you take, the shorter your sword gets, making you + more nimble and your attacks faster, but also increasing your risk. +
++ Do you choose to stay at high health but low mobility, or low health and + higher mobility? +
+ > + ), + itch: new URL("https://lostimmortal.itch.io/the-purple-night"), +}; diff --git a/website/agb/src/app/showcase/data/tapir/purple/the-purple-night-0.png b/website/agb/src/app/showcase/data/tapir/purple/the-purple-night-0.png new file mode 100644 index 00000000..3b39ff12 Binary files /dev/null and b/website/agb/src/app/showcase/data/tapir/purple/the-purple-night-0.png differ diff --git a/website/agb/src/app/showcase/data/tapir/purple/the-purple-night-1.png b/website/agb/src/app/showcase/data/tapir/purple/the-purple-night-1.png new file mode 100644 index 00000000..ad53bb8a Binary files /dev/null and b/website/agb/src/app/showcase/data/tapir/purple/the-purple-night-1.png differ diff --git a/website/agb/src/app/showcase/games.tsx b/website/agb/src/app/showcase/games.tsx new file mode 100644 index 00000000..952b1106 --- /dev/null +++ b/website/agb/src/app/showcase/games.tsx @@ -0,0 +1,34 @@ +import { StaticImageData } from "next/image"; +import { ReactNode } from "react"; +import { HatWiz } from "./data/tapir/hatwiz/hatwiz"; +import { Purple } from "./data/tapir/purple/purple"; +import { Hyperspace } from "./data/tapir/hyperspace/hyperspace"; +import { Dungeon } from "./data/tapir/dungeon/dungeon"; + +export interface ShowcaseGame { + name: string; + developers: string[]; + rom?: URL; + screenshots: StaticImageData[]; + description: ReactNode; + itch?: URL; + otherLink?: URL; +} + +export function shuffle