Dora Start!On this pageDora Start! 1. What is Dora SSR? A Short IntroductionDora 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 AndroidWindowsmacOSLinux 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-ssrsudo apt updatesudo apt install dora-ssr Debian Bookworm sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 9C7705BFsudo add-apt-repository -S "deb https://ppa.launchpadcontent.net/ippclub/dora-ssr/ubuntu jammy main"sudo apt updatesudo apt install dora-ssr 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 it Hello. 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: LuaTealTypeScriptTSXYueScriptHello/init.lua-- import moduleslocal 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 treelocal root = Node()-- create a spritelocal sprite = Sprite("Image/logo.png")-- mount the sprite to the root nodesprite:addTo(root)-- register for click events to move the spriteroot:onTapBegan(function(touch) sprite:perform( Move( 1, -- duration in seconds sprite.position, -- start position touch.location, -- end position Ease.OutBack -- easing function ) )end)Hello/init.tl-- import moduleslocal 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 treelocal root = Node()-- create a spritelocal 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)endHello/init.ts// import modulesimport {Ease, Move, Node, Slot, Sprite} from 'Dora';// create the root node of the game scene treeconst root = Node();// create a spriteconst 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 ) ); });}Hello/init.tsx// @preview-file onimport {React, toNode, toAction, useRef} from 'DoraX';import {Ease, Sprite, Touch} from 'Dora';const sprite = useRef<Sprite.Type>();// define the touch event handlerconst 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 nodetoNode( <node onTapBegan={onTapBegan}> <sprite ref={sprite} file='Image/logo.png'/> </node>);Hello/init.yue-- import modules_ENV = Dora-- create a spritesprite = Sprite "Image/logo.png"-- create the root node of the game scene treewith 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.