From 66088a15a7f73df2ee48708fe9b7a40b6982a262 Mon Sep 17 00:00:00 2001 From: David Wursteisen Date: Fri, 20 Sep 2024 11:21:54 +0900 Subject: [PATCH] Add links to the speaker deck and youtube video of DroidKaigi 2024 session. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thanks again to DroidKaigi 2024 for the opportunity to talk about the technologies behind 🧸 Tiny! See https://2024.droidkaigi.jp/en to know more. --- README.md | 11 +++++++++-- tiny-doc/src/docs/asciidoc/index.adoc | 5 +++++ .../asciidoc/sample/droidkaigi-tiny-export.gif | Bin 0 -> 11012 bytes 3 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 tiny-doc/src/docs/asciidoc/sample/droidkaigi-tiny-export.gif diff --git a/README.md b/README.md index abf28773..a0aef4a9 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 🧸 Tiny Game Engine -Tiny is a lightweight, multiplatform game engine that allows developers to create games using the scripting language Lua. It is designed for creating small, short games, making it ideal for game jams and quick game development. +🧸 Tiny is a lightweight, multiplatform game engine that allows developers to create games using the scripting language Lua. It is designed for creating small, short games, making it ideal for game jams and quick game development. ![Breakout created with Tiny Game Engine](./images/breakout.gif) @@ -13,11 +13,17 @@ Tiny is a lightweight, multiplatform game engine that allows developers to creat ## Download -- Latest version can be downloaded on [the release page](https://github.com/minigdx/tiny/releases). +- Latest version can be downloaded on [the release page](https://github.com/minigdx/tiny/releases). + ## Documentation The Tiny game engine comes with extensive documentation that covers everything from installing the engine to creating games. The documentation is available on the [GitHub website](https://minigdx.github.io/tiny/). +A presentation about the technologies used behind 🧸 Tiny was also given during the conference [DroidKaigi 2024 @ 東京 Tokyo](https://2024.droidkaigi.jp/en/timetable/683368/). You can check [the slides](https://speakerdeck.com/dwursteisen/crafting-cross-platform-adventures-building-a-game-engine-with-kotlin-multiplatform), or you also [watch the session](https://www.youtube.com/watch?v=4_i_Xp96IMM). + +[![Crafting Cross-Platform Adventures: Building a Game Engine with Kotlin Multiplatform @ DroidKaigi 2024 - 東京 Tokyo](tiny-doc/src/docs/asciidoc/sample/droidkaigi-tiny-export.gif)](https://speakerdeck.com/dwursteisen/crafting-cross-platform-adventures-building-a-game-engine-with-kotlin-multiplatform +) + ## Games Want to build a game like those? Read the documentation above ⬆️ and start to build your own! @@ -25,6 +31,7 @@ Want to build a game like those? Read the documentation above ⬆️ and start t [![Camping](./tiny-doc/src/docs/asciidoc/sample/camping.gif)](https://dwursteisen.itch.io/trijam-camping) [![Type It](./tiny-doc/src/docs/asciidoc/sample/level-up.gif)](https://dwursteisen.itch.io/trijam-220-type-it) [![Memory Pong](./tiny-doc/src/docs/asciidoc/sample/memory.gif)](https://dwursteisen.itch.io/memory-pong-trijam-251) +[![One Light For Three Seconds](./tiny-doc/src/docs/asciidoc/sample/only_three_seconds.gif)](https://dwursteisen.itch.io/one-light-for-three-seconds) [![Connect Me](./tiny-doc/src/docs/asciidoc/sample/connect_me.gif)](https://dwursteisen.itch.io/connect-me) [![Meiro De Maigo 2](./tiny-doc/src/docs/asciidoc/sample/meiro_de_maigo2.gif)](https://dwursteisen.itch.io/meiro-de) [![Freezming](./tiny-doc/src/docs/asciidoc/sample/freezming.gif)](https://dwursteisen.itch.io/freezming) diff --git a/tiny-doc/src/docs/asciidoc/index.adoc b/tiny-doc/src/docs/asciidoc/index.adoc index 9554a1fb..f7038965 100644 --- a/tiny-doc/src/docs/asciidoc/index.adoc +++ b/tiny-doc/src/docs/asciidoc/index.adoc @@ -35,6 +35,11 @@ You can try to create a game right away `🧸 Tiny` using link:sandbox.html?game Contributions from the community are welcome, and can help to improve the overall functionality and usability of the game engine! +A presentation about the technologies used behind 🧸 Tiny was also given during the conference https://2024.droidkaigi.jp/en/timetable/683368/[DroidKaigi 2024 @ 東京 Tokyo]. You can check https://speakerdeck.com/dwursteisen/crafting-cross-platform-adventures-building-a-game-engine-with-kotlin-multiplatform[the slides], or you also https://www.youtube.com/watch?v=4_i_Xp96IMM[watch the session]. + +image:sample/droidkaigi-tiny-export.gif[https://speakerdeck.com/dwursteisen/crafting-cross-platform-adventures-building-a-game-engine-with-kotlin-multiplatform +] + TIP: You can improve this documentation by updating https://github.com/minigdx/tiny/tree/main/tiny-doc/src/docs/asciidoc[the code of this documentation] include::tiny-install.adoc[] diff --git a/tiny-doc/src/docs/asciidoc/sample/droidkaigi-tiny-export.gif b/tiny-doc/src/docs/asciidoc/sample/droidkaigi-tiny-export.gif new file mode 100644 index 0000000000000000000000000000000000000000..dfbd6a6595859abae116201f97b7936965409d7c GIT binary patch literal 11012 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 literal 0 HcmV?d00001