Dora Start!
1. What is Dora SSR?
Dora SSR is a game engine for rapid development of games on various devices. It has a built-in easy-to-use Web IDE development tool chain that supports direct game development on mobile phones, open source handhelds and other devices.
2. Installation
- Android
- Windows
- macOS
- Linux
-
Download and install the APK package on the game's running terminal.
Download APK▼ -
Run the software and access the server address displayed by the software through the browser of the PC (tablet or other development device) in the LAN.
-
Start game development.
-
Ensure that you have the X86 Visual C++ Redistributable for Visual Studio 2022 (the MSVC runtime package vc_redist.x86) installed to run this application. You can download it from the Microsoft website.
-
Download and run the software.
Download Software▼ -
Access the server address displayed by the software through a browser.
-
Start game development.
-
Download and run the software.
Download Software▼Or you can install with Homebrew using:
brew install --cask ippclub/tap/dora-ssr
You may see a prompt saying "Dora cannot be opened" when you first run the software. Please go to "System Preferences" > "Security & Privacy" and click "Open Anyway".
-
Access the server address displayed by the software through a browser.
-
Start game development.
- Installation.
- Ubuntu
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
- Ubuntu
- Run the software and access the server address displayed by the software through a browser.
- Start game development.
3. Write the Game
- Step One: Create a new project
- In the browser, right click on the menu "Workspace" of the resource tree on the left side of the Dora Dora editor.
- Click the
New
menu item, select "New Folder", and name itHello
.
- Step Two: Write the game code
- Create a new game entry code file in the project folder, select the Lua language (or Teal, TypeScript, YueScript), and name it
init
. - Write the code:
- Create a new game entry code file in the project folder, select the Lua language (or Teal, TypeScript, YueScript), and name it
- Lua
- Teal
- TypeScript
- TSX
- YueScript
-- import modules
local Sprite <const> = require("Sprite")
local Node <const> = require("Node")
local Move <const> = require("Move")
local Ease <const> = require("Ease")
-- create the root node of the game scene tree
local root = Node()
-- create a sprite
local sprite = Sprite("Image/logo.png")
-- mount the sprite to the root node
sprite:addTo(root)
-- register for click events to move the sprite
root:onTapBegan(function(touch)
sprite:perform(
Move(
1, -- duration in seconds
sprite.position, -- start position
touch.location, -- end position
Ease.OutBack -- easing function
)
)
end)
-- import modules
local Sprite <const> = require("Sprite")
local Node <const> = require("Node")
local Move <const> = require("Move")
local Ease <const> = require("Ease")
local type Touch = require("Touch")
-- create the root node of the game scene tree
local root = Node()
-- create a sprite
local sprite = Sprite("Image/logo.png")
if not sprite is nil then
-- mount the sprite to the root node
root:addChild(sprite)
-- register for click events to move the sprite
root:onTapBegan(function(touch: Touch.Type)
sprite:perform(
Move(
1, -- duration in seconds
sprite.position, -- start position
touch.location, -- end position
Ease.OutBack -- easing function
)
)
end)
end
// import modules
import {Ease, Move, Node, Slot, Sprite} from 'Dora';
// create the root node of the game scene tree
const root = Node();
// create a sprite
const sprite = Sprite("Image/logo.png");
if (sprite) {
// mount the sprite to the root node
root.addChild(sprite);
// register for click events to move the sprite
root.onTapBegan(touch => {
sprite.perform(
Move(
1, // duration in seconds
sprite.position, // start position
touch.location, // end position
Ease.OutBack // easing function
)
);
});
}
// @preview-file on
import {React, toNode, toAction, useRef} from 'DoraX';
import {Ease, Sprite, Touch} from 'Dora';
const sprite = useRef<Sprite.Type>();
// define the touch event handler
const onTapBegan = (touch: Touch.Type) => {
const {current} = sprite;
if (current) {
const {x, y} = touch.location;
current.perform(toAction(
<move time={1}
startX={current.x} startY={current.y}
stopX={x} stopY={y}
easing={Ease.OutBack}
/>
));
}
};
// create the root node of the game scene tree
// and a sprite as a child node
toNode(
<node onTapBegan={onTapBegan}>
<sprite ref={sprite} file='Image/logo.png'/>
</node>
);
-- import modules
_ENV = Dora
-- create a sprite
sprite = Sprite "Image/logo.png"
-- create the root node of the game scene tree
with Node!
-- mount the sprite to the root node
\addChild sprite
-- register for click events to move the sprite
\onTapBegan (touch) ->
sprite\perform Move(
1 -- duration in seconds
sprite.position -- start position
touch.location -- end position
Ease.OutBack -- easing function
)
- Step Three: Run the game
Click the 🎮
icon in the lower right corner of the editor, then click the Run
menu item. Alternatively, press the Ctrl + r
key combination.
4. Publish the Game
- Open the right-click menu of the newly created project folder in the game resource tree on the left side of the editor.
- Click the
Download
option and wait for the browser to prompt for downloading the packaged project file.