Difference between revisions of "Gideros Studio"

From GiderosMobile
 
(25 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages />
+
The Ultimate Guide to Gideros Studio
<translate><!--T:1--> Gideros mobile development framework, known as Gideros Studio, is a tool used to create, test and deploy graphically rich games and applications for mobile phones, specifically iPhone, iPad and Android. It provides an intuitive and simple interface for Flash developers with advanced technologies like 2D programming, game physics, accelerometer and such on a variety of platforms including Windows, Mac OS X and Linux.</translate>
 
  
<translate><!--T:2--> Using Gideros Studio is straightforward - No knowledge of C, C++, Objective C, Java, .Net or any other structured, complex programming languages is required. Gideros Studio is extremely easy to use for Flash developers. It benefits from Lua, a very simple scripting language. Moreover the functions used for handling graphics and sound resemble the Flash counterparts, so Flash developers will feel at home when they start developing with Gideros Studio.</translate>
+
__TOC__
  
<translate><!--T:3--> Gideros Studio provides a set of functions and libraries for faster development. Using a few lines, you can create stunning animations for ebooks, games or generic applications. The following is a list of Gideros Studio SDK features:</translate>
+
== Welcome to Gideros Studio ==
  
 +
'''IMPORTANT''': '''Gideros 2022.1+ switched to QT6 and 64bit meaning it will only run on:'''
 +
'''*Windows 10+ 64bit'''
 +
'''*OS X Lion 10.7'''
 +
'''*Ubuntu 20.04 (or equivalent distribution)'''
 +
 +
Gideros Studio lets you create rich games and applications for desktop, mobile, HTML5, and various other consoles. It has an intuitive and simple user interface with advanced classes like physics, accelerometer and so on.
 +
 +
Using Gideros Studio is straightforward - no knowledge of C, C++, Objective C, Java, .Net or any other structured, complex programming language is required. In Gideros Studio, you code using the Lua language, a simple and powerful scripting language.
 +
 +
Gideros Studio provides a set of functions and libraries to help develop your apps faster. Using a few lines of code, you can create stunning animations for eBooks, games or generic applications. The following is a list of Gideros Studio SDK features:
 
<div style="column-count:2;-moz-column-count:2;-webkit-column-count:2">
 
<div style="column-count:2;-moz-column-count:2;-webkit-column-count:2">
*<translate><!--T:6--> Android and iOS platform support</translate>
+
* desktop (Windows, Mac, Linux)
*<translate><!--T:7--> Fully native, OpenGL powered implementation</translate>
+
* HTML, Android, iOS, and various consoles support
*<translate><!--T:8--> iOS & Android plugins - native code support</translate>
+
* Fully native, OpenGL powered implementation
*<translate><!--T:9--> 2D scene graph</translate>
+
* iOS & Android plugins - native code support
*<translate><!--T:10--> Game & application analytics with Flurry analytics</translate>
+
* 2D scene graph
*<translate><!--T:11--> Touch and accelerometer sensor</translate>
+
* Game & application analytics with Flurry analytics
*<translate><!--T:12--> Automatic and precalculated texture packs</translate>
+
* Touch and accelerometer sensor
*<translate><!--T:13--> Audio playback</translate>
+
* Automatic and pre-calculated texture packs
*<translate><!--T:14--> Scene transitions</translate>
+
* Audio playback
*<translate><!--T:15--> Physics engine (LiquidFun/Box2D)</translate>
+
* Scene transitions
*<translate><!--T:16--> Movieclip library</translate>
+
* Physics engine (Liquidfun)
*<translate><!--T:17--> Tweening library</translate>
+
* Movieclip library
*<translate><!--T:18--> Font creator</translate>
+
* Tweening library
*<translate><!--T:19--> Font renderer</translate>
+
* Font creator
*<translate><!--T:20--> 30+ different easing (tweening) functions</translate>
+
* Font renderer
*<translate><!--T:21--> Landscape and portrait modes</translate>
+
* 30+ different easing (tweening) functions
*<translate><!--T:22--> Global timer pause/resume</translate>
+
* Landscape and portrait modes
*<translate><!--T:23--> Sprites & sprite sheets</translate>
+
* Global timer pause/resume
*<translate><!--T:24--> 32 bit textures</translate>
+
* Sprites & sprite sheets
*<translate><!--T:25--> Texture atlas</translate>
+
* 32-bit textures
*<translate><!--T:26--> Fast orthogonal tilemaps</translate>
+
* Texture Atlas
 +
* Fast orthogonal tilemaps
 
</div>
 
</div>
  
<translate><!--T:4--> With Gideros Studio, the resulting executable will look like any other iPhone, iPad or Android application. The performance of applications developed using Gideros SDK is comparable to, or better from those applications developed using other similar frameworks.</translate>
+
Gideros Studio builds executables directly on your host machine, without sending your application to a remote server. This saves a lot of time and energy, and you can be sure that your intellectual property will not be compromised.
 +
 
 +
=== Platform support ===
 +
Gideros Studio runs on a variety of operating systems, including Microsoft Windows, Mac OSX and Linux. We recommend 1 GHz or more CPU, 1 GB RAM and at least 1 GB free disk space.
 +
 
 +
Gideros Studio executables run on ARMv6 and ARMv7 platforms. Minimum requirements for iOS and Android are:
 +
* iOS: iPod touch 2nd generation or better, iPhone 2 or better, iPad 1 or better
 +
* Android: at least Android 4.4. Note that previous Android versions (4.0 or below) won’t work.
 +
 
 +
There are some specific Android devices having issues to run Gideros applications, mainly those having different keys that interact with the end user. These hardware keys may not be supported. If in doubt, contact Gideros Mobile support or Gideros Mobile forums.
 +
 
 +
=== General Architecture ===
 +
Gideros Studio has a layered architecture. The mid layer consists of OpenGL and C++ functions. The scripting language is powered by Lua. Lua virtual machine (LuaVM) converts the functions and callbacks to C++ functions and OpenGL, and each graphical command is drawn directly on the screen using the device OpenGL hardware accelerator. This results in very high-performance applications and games.
 +
 
 +
[[File:Gideros_framework_drawing.png]]
 +
 
 +
From top to bottom, the following parts constitute the whole Gideros framework:
 +
#Gideros Studio IDE: The complete, cross-platform IDE
 +
#Bridge: Connector between C++ API and IDE
 +
#C++ API: API converting Lua calls to machine specific calls
 +
#Libraries: External libraries used in a project
 +
#Platform: The whole SDK
 +
#Hardware: Either iOS (iPhone, iPad, iPod), Android, Windows, Mac, Linux
 +
 
 +
== Downloading Gideros Studio ==
 +
You can download Gideros Studio from Gideros Studio download page (https://www.gideros.rocks/download). Downloading and installing Gideros Studio is free.
 +
 
 +
'''Note''': Gideros Studio for Windows enables you to build applications for iOS and Android. You can see your application running on Gideros Player, or better, see it on a real device by installing the player on iPhone, iPad or Android.
 +
 
 +
System requirements for all platforms are as follows:
 +
* 1 GHz processor
 +
* 1 GB RAM
 +
* 1 GB disk space
 +
* OpenGL based graphics card
 +
 
 +
=== Installing Gideros Studio ===
 +
Download Gideros Studio for your operating system and install it as you would install any other application.
 +
 
 +
== Starting Gideros Studio ==
 +
After installation, Gideros Studio is installed under your applications folder. Gideros Studio comes with 3 more separate applications: Gideros Font Creator, Gideros Player, and Gideros Texture Packer.
 +
 
 +
=== Gideros Studio IDE ===
 +
Gideros Studio comes with an integrated IDE for fast application development. It has developer-oriented features like code completion, syntax color highlighting, a debugger, and project management. During the build, Gideros Studio translates your code from Lua to the targeted platform native code.
 +
 
 +
The IDE includes a few tools to make development faster and more efficient: the '''Gideros Player''', a '''Font Creator''' and a '''Texture Packer'''.
 +
 
 +
Gideros Studio IDE is written in Qt, using Qt Creator IDE and SDK.
 +
 
 +
=== Gideros Studio SDK ===
 +
Gideros Studio includes a comprehensive, easy to use and understand SDK, with more than 470 API functions. This gives programmers a strong, complete framework to build their applications. The following gives a brief overview of the functions list in Gideros SDK.
 +
 
 +
'''"Function Category"''' "Definition"</br>
 +
'''Event Dispatcher''' A central mechanism to dispatch events.</br>
 +
'''Event''' The objects of Event class contain information about an event that has occurred.</br>
 +
'''Sprite''' The Sprite class is the base class for all objects that can be placed on the scene tree. It is the basic scene tree building block.</br>
 +
'''Stage''' The Stage class represents the top of the scene tree hierarchy.</br>
 +
'''TextureBase''' TextureBase is the base class for Texture and TexturePack classes. It provides a common functionality to texture related classes.</br>
 +
'''Texture''' The Texture class lets you work with textures in an application. It lets you create a new Texture object to load from an image file and display in scene tree.</br>
 +
'''TextureRegion''' The TextureRegion class specifies a texture and a rectangular region in it. It is used to define independent texture regions within a texture atlas which is a large image containing many smaller sub-images.</br>
 +
'''TexturePack''' The TexturePack class specifies a texture pack (or texture atlas).</br>
 +
'''Bitmap''' The Bitmap class is used to display texture related objects in the scene tree.</br>
 +
'''Font''' The ‘Font’ class is used for fonts created by Gideros Font Creator.</br>
 +
'''TextField''' The TextField class is used to create display objects for text display.</br>
 +
'''Shape''' The Shape class is used to create and display vector graphics.</br>
 +
'''Tilemap''' The TileMap class is used to work with tile maps easily and efficiently.</br>
 +
'''Movieclip''' The MovieClip class is used to create static time lined animations.</br>
 +
'''Application''' The Application class contains the common functions that are available to the current application.</br>
 +
'''OS''' Provides an interface to the OS functions, e.g. timer.</br>
 +
'''Sound''' The Sound class lets you load and play WAV or MP3 sound files.</br>
 +
'''SoundChannel''' The SoundChannel class is used to control and monitor a playing sound.</br>
 +
'''UrlLoader''' The UrlLoader class is used to download data from an URL.</br>
 +
'''Timer''' The Timer class is used to execute a code at specified intervals.</br>
 +
'''Matrix''' The Matrix class specifies 2D or 3D transformation from one coordinate space to another.</br>
 +
'''b2 (Box2D with Liquidfun)''' Includes b2.World, b2.Body, b2.Fixture, b2.Shape, b2.PolygonShape, b2.CircleShape, b2.EdgeShape, b2.Joint, b2.RevoluteJoint, b2.PrismaticJoint, b2.DistanceJoint, b2.PulleyJoint, b2.MouseJoint, b2.GearJoint, b2.WheelJoint, b2.WeldJoint, b2.FrictionJoint, b2.DebugDraw.</br>
 +
'''Geolocation''' The Geolocation class inherits from the following class: EventDispatcher.</br>
 +
'''Gyroscope''' The Gyroscope class is used to access gyroscope data.</br>
 +
 
 +
The SDK is always improved by developers. Some of the less used functions are given as plugins, in order not to clutter the core Gideros SDK.
 +
 
 +
 
 +
'''PREV.''': [[Lua to Luau conversion guide]]<br/>
 +
'''NEXT''': [[Getting Started]]
  
<translate><!--T:5--> Gideros Studio can be used to build executables on the host (e.g your own desktop machine), without sending your application to another server for building. This saves a lot of time and energy, and you can be sure that your intellectual property will not be compromised in any case.</translate>
 
  
[[Special:MyLanguage/Platform support|<translate><!--T:27--> Platform Support</translate>]]<br/>
+
{{GIDEROS IMPORTANT LINKS}}
[[Special:MyLanguage/Gideros Editor|<translate>Gideros Editor</translate>]]<br/>
 
[[Special:MyLanguage/Gideros Player|<translate><!--T:30--> Gideros Player</translate>]]<br/>
 
[[Special:MyLanguage/Gideros Font Creator|<translate>Gideros Font Creator</translate>]]<br/>
 
[[Special:MyLanguage/Gideros Texture Packer|<translate>Gideros Texture Packer</translate>]]<br/>
 
[[Special:MyLanguage/General Architecture|<translate><!--T:31--> General Architecture</translate>]]<br/>
 
[[Special:MyLanguage/Downloading Gideros Studio|<translate><!--T:32--> Downloading Gideros Studio</translate>]]<br/>
 
[[Special:MyLanguage/Installing Gideros Studio|<translate><!--T:33--> Installing Gideros Studio</translate>]]<br/>
 
[[Special:MyLanguage/Starting Gideros Studio|<translate><!--T:34--> Starting Gideros Studio</translate>]]<br/>
 
[[Special:MyLanguage/Your Very First Program|<translate><!--T:35--> Your Very First Program</translate>]]<br/>
 

Latest revision as of 10:23, 28 August 2024

The Ultimate Guide to Gideros Studio

Welcome to Gideros Studio

IMPORTANT: Gideros 2022.1+ switched to QT6 and 64bit meaning it will only run on:
*Windows 10+ 64bit
*OS X Lion 10.7
*Ubuntu 20.04 (or equivalent distribution)

Gideros Studio lets you create rich games and applications for desktop, mobile, HTML5, and various other consoles. It has an intuitive and simple user interface with advanced classes like physics, accelerometer and so on.

Using Gideros Studio is straightforward - no knowledge of C, C++, Objective C, Java, .Net or any other structured, complex programming language is required. In Gideros Studio, you code using the Lua language, a simple and powerful scripting language.

Gideros Studio provides a set of functions and libraries to help develop your apps faster. Using a few lines of code, you can create stunning animations for eBooks, games or generic applications. The following is a list of Gideros Studio SDK features:

  • desktop (Windows, Mac, Linux)
  • HTML, Android, iOS, and various consoles support
  • Fully native, OpenGL powered implementation
  • iOS & Android plugins - native code support
  • 2D scene graph
  • Game & application analytics with Flurry analytics
  • Touch and accelerometer sensor
  • Automatic and pre-calculated texture packs
  • Audio playback
  • Scene transitions
  • Physics engine (Liquidfun)
  • Movieclip library
  • Tweening library
  • Font creator
  • Font renderer
  • 30+ different easing (tweening) functions
  • Landscape and portrait modes
  • Global timer pause/resume
  • Sprites & sprite sheets
  • 32-bit textures
  • Texture Atlas
  • Fast orthogonal tilemaps

Gideros Studio builds executables directly on your host machine, without sending your application to a remote server. This saves a lot of time and energy, and you can be sure that your intellectual property will not be compromised.

Platform support

Gideros Studio runs on a variety of operating systems, including Microsoft Windows, Mac OSX and Linux. We recommend 1 GHz or more CPU, 1 GB RAM and at least 1 GB free disk space.

Gideros Studio executables run on ARMv6 and ARMv7 platforms. Minimum requirements for iOS and Android are:

  • iOS: iPod touch 2nd generation or better, iPhone 2 or better, iPad 1 or better
  • Android: at least Android 4.4. Note that previous Android versions (4.0 or below) won’t work.

There are some specific Android devices having issues to run Gideros applications, mainly those having different keys that interact with the end user. These hardware keys may not be supported. If in doubt, contact Gideros Mobile support or Gideros Mobile forums.

General Architecture

Gideros Studio has a layered architecture. The mid layer consists of OpenGL and C++ functions. The scripting language is powered by Lua. Lua virtual machine (LuaVM) converts the functions and callbacks to C++ functions and OpenGL, and each graphical command is drawn directly on the screen using the device OpenGL hardware accelerator. This results in very high-performance applications and games.

Gideros framework drawing.png

From top to bottom, the following parts constitute the whole Gideros framework:

  1. Gideros Studio IDE: The complete, cross-platform IDE
  2. Bridge: Connector between C++ API and IDE
  3. C++ API: API converting Lua calls to machine specific calls
  4. Libraries: External libraries used in a project
  5. Platform: The whole SDK
  6. Hardware: Either iOS (iPhone, iPad, iPod), Android, Windows, Mac, Linux

Downloading Gideros Studio

You can download Gideros Studio from Gideros Studio download page (https://www.gideros.rocks/download). Downloading and installing Gideros Studio is free.

Note: Gideros Studio for Windows enables you to build applications for iOS and Android. You can see your application running on Gideros Player, or better, see it on a real device by installing the player on iPhone, iPad or Android.

System requirements for all platforms are as follows:

  • 1 GHz processor
  • 1 GB RAM
  • 1 GB disk space
  • OpenGL based graphics card

Installing Gideros Studio

Download Gideros Studio for your operating system and install it as you would install any other application.

Starting Gideros Studio

After installation, Gideros Studio is installed under your applications folder. Gideros Studio comes with 3 more separate applications: Gideros Font Creator, Gideros Player, and Gideros Texture Packer.

Gideros Studio IDE

Gideros Studio comes with an integrated IDE for fast application development. It has developer-oriented features like code completion, syntax color highlighting, a debugger, and project management. During the build, Gideros Studio translates your code from Lua to the targeted platform native code.

The IDE includes a few tools to make development faster and more efficient: the Gideros Player, a Font Creator and a Texture Packer.

Gideros Studio IDE is written in Qt, using Qt Creator IDE and SDK.

Gideros Studio SDK

Gideros Studio includes a comprehensive, easy to use and understand SDK, with more than 470 API functions. This gives programmers a strong, complete framework to build their applications. The following gives a brief overview of the functions list in Gideros SDK.

"Function Category" "Definition"
Event Dispatcher A central mechanism to dispatch events.
Event The objects of Event class contain information about an event that has occurred.
Sprite The Sprite class is the base class for all objects that can be placed on the scene tree. It is the basic scene tree building block.
Stage The Stage class represents the top of the scene tree hierarchy.
TextureBase TextureBase is the base class for Texture and TexturePack classes. It provides a common functionality to texture related classes.
Texture The Texture class lets you work with textures in an application. It lets you create a new Texture object to load from an image file and display in scene tree.
TextureRegion The TextureRegion class specifies a texture and a rectangular region in it. It is used to define independent texture regions within a texture atlas which is a large image containing many smaller sub-images.
TexturePack The TexturePack class specifies a texture pack (or texture atlas).
Bitmap The Bitmap class is used to display texture related objects in the scene tree.
Font The ‘Font’ class is used for fonts created by Gideros Font Creator.
TextField The TextField class is used to create display objects for text display.
Shape The Shape class is used to create and display vector graphics.
Tilemap The TileMap class is used to work with tile maps easily and efficiently.
Movieclip The MovieClip class is used to create static time lined animations.
Application The Application class contains the common functions that are available to the current application.
OS Provides an interface to the OS functions, e.g. timer.
Sound The Sound class lets you load and play WAV or MP3 sound files.
SoundChannel The SoundChannel class is used to control and monitor a playing sound.
UrlLoader The UrlLoader class is used to download data from an URL.
Timer The Timer class is used to execute a code at specified intervals.
Matrix The Matrix class specifies 2D or 3D transformation from one coordinate space to another.
b2 (Box2D with Liquidfun) Includes b2.World, b2.Body, b2.Fixture, b2.Shape, b2.PolygonShape, b2.CircleShape, b2.EdgeShape, b2.Joint, b2.RevoluteJoint, b2.PrismaticJoint, b2.DistanceJoint, b2.PulleyJoint, b2.MouseJoint, b2.GearJoint, b2.WheelJoint, b2.WeldJoint, b2.FrictionJoint, b2.DebugDraw.
Geolocation The Geolocation class inherits from the following class: EventDispatcher.
Gyroscope The Gyroscope class is used to access gyroscope data.

The SDK is always improved by developers. Some of the less used functions are given as plugins, in order not to clutter the core Gideros SDK.


PREV.: Lua to Luau conversion guide
NEXT: Getting Started