#gamedev #ssr #wasm32-wasi #running #dora #2d #engine

dorothy-ssr

The lib for building Dorothy SSR games in Rust running on target wasm32-wasi

4 releases

0.1.4 Dec 14, 2023
0.1.3 Nov 1, 2023
0.1.2 Aug 29, 2023
0.1.0 May 6, 2023

#207 in Game dev

29 downloads per month

MIT license

275KB
6.5K SLoC

Dora SSR

Dora SSR

English | 中文

  Dora SSR is a game engine for rapid development of 2D games on various devices. It has a built-in easy-to-use development tool chain that supports direct game development on mobile phones, open source handhelds and other devices.

Android Linux Windows macOS iOS
Android Linux Windows macOS iOS
Playground

Key Features

  • Manages game scenes based on tree node structure.

  • Basic 2D platform game functions, including game logic and AI development framework.

  • Easy-to-use ECS module for game entity management.

  • Asynchronous processing of file read and write, resource loading and other operations.

  • Upgraded Lua binding with support for inheriting and extending low-level C++ objects.

  • Supports Yuescript language, strong expressive and concise Lua dialect.

  • Supports for the Teal language, a statically typed dialect for Lua.

  • Supports TypeScript, a statically typed superset of JavaScript that adds powerful type checking.

  • Supports TSX, allows embedding XML/HTML-like text within scripts, used with TypeScript.

  • Supports the Rust language, running on the built-in WASM runtime with Rust bindings.

  • 2D skeletal animation and physics engine support.

  • Built-in out-of-the-box Web IDE, providing file management, code inspection, completion, highlighting and definition jump.

  • Supports asynchronous operation of SQLite for real-time query and managing large game configuration data.

  • Supports reading Excel spreadsheet data and synchronizing it to SQLite tables.

  • Supports the Yarn Spinner language, making it easy to write complex game story systems.

  • Built-in machine learning algorithm framework for innovative gameplay.

  • Provides vector graphics rendering API, which can directly render SVG format files without CSS.

  • Built-in ImGui, easy to create debugging tools and UI interface.

  • Supports FLAC, OGG, MP3 and WAV multi-format audio playback.

  • Supports True Type font rendering and basic typesetting.

  • Provides open art resources and game IPs that can be used to create your own games - "Luv Sense Digital".

  LSD


Installation

  • Quick start

    • Android

        1. Download and install the APK package on the running terminal for games.
        1. Run the software, and access the server address displayed by the software through the browser of a PC (tablet or other development device) on the LAN.
        1. Start game development.
    • Windows, macOS

        1. Download and run the software.
          • Get software on macOS with Homebrew using
          brew tap ippclub/dora-ssr
          brew install --cask dora-ssr
          
        1. Run the software and access the server address displayed by the software through a browser.
        1. Start game development.
    • Linux

        1. Installation.
        • Ubuntu Jammy

          sudo add-apt-repository ppa:ippclub/dora-ssr
          sudo apt update
          sudo apt install dora-ssr
          
        • Debian Bookworm

          sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 9C7705BF
          sudo add-apt-repository -S "deb https://ppa.launchpadcontent.net/ippclub/dora-ssr/ubuntu jammy main"
          sudo apt update
          sudo apt install dora-ssr
          
        1. Run the software and access the server address displayed by the software through a browser.
        1. Start game development.
  • Engine project development

    For the installation and configuration of Dora SSR project development, see Official Documents for details.


Quick Start

  1. Step 1: Create a new project

    • In the browser, open the right-click menu of the game resource tree on the left side of the Dora Dora editor.

    • Click on the menu item New and choose to create a new folder.

  2. Step 2: Write game code

    • Create a new game entry code file of Yuescript under the project folder, named init.

    • Write Hello World code:

_ENV = Dora!

with Sprite "Image/logo.png"
   \addTo Director.entry
   \schedule once ->
     for i = 3, 1, -1
       print i
       sleep 1
     print "Hello World!"
     \perform Sequence(
       Scale 0.1, 1, 0.5
       Scale 0.5, 0.5, 1, Ease. OutBack
     )
  1. Step 3: Run the game

    Click the 🎮 icon in the lower right corner of the editor, then click the menu item Run. Or press the key combination Ctrl + r.

  2. Step 4: Publish the game

    • Open the right-click menu of the project folder just created through the game resource tree on the left side of the editor and click the Download option.

    • Wait for the browser to pop up a download prompt for the packaged project file.

For more detailed tutorials, please check official documents.


Example Projects

Loli War


Zombie Escape
Dismentalism
Luv Sense Digital

Documentation


Community


Contribute

Welcome to participate in the development and maintenance of Dora SSR. Please see Contributing Guidelines to learn how to submit Issues and Pull Requests.


License

Dora SSR uses the MIT License.

Dependencies

~52KB