Introduction
Welcome to the AppEasy Core SDK a cross platform game and app engine. AppEasy Core SDK is a cross platform game and application development SDK that enables developers to rapidly create applications for desktop and mobile devices easily using a mixture of XML mark-up language (XOML), Lua and / or C++.
The SDK can be targetted at different platforms by implementing the platform abstraction layer located in the Platforms sub folder. Note that an implementation using the Marmalade SDK platform has been provided out of the box.
Features
General Features
- FREE and open source! (MIT)
- Can directly use data exported from the Goji Editor (http://www.gojieditor.com)
- Can be targeted at any development system / SDK by implementing the platform layer
- Marmalade SDK platform already implemented, giving you access to many platforms out of the box
- Develop using XML, Lua and / or C++
- Easy to learn mark-up driven language called XOML that enables rapid development
- Support for Lua scripting
- Styles and Templates
- Local and web based assets
- Proportional sizing and positioning
- Auto screen sizing and device orientation lock
- Local storage access
- Multi-touch input
- Accelerometer and compass support
- Smooth sub-pixel rendering and batch rendering for speed
- Touch panning and pinch zoom
- Persistent data
- HTTP POST / GET defined declaratively
- Access to video camera streaming
- Define actions that can be carried out when events occur
Game Features
- Polygonal based sprites and sprite depth
- texture atlases and batching
- Support for Scenes (game world / app canvas) and Actors (game / app objects)
- Images, fonts, compressed WAV sound effects and and MP3 music
- Animation
- Box2D Physics (fixtures, shapes, materials, collisions and joints)
- Video Playback
App Features
- Create simple or complex user interfaces
- Full support for simple and complex data bindings
- Data definition and organisation
- Access to local and remote data
- Support for SQLite
User Interface Features
- Text input boxes
- Buttons / Check boxes
- Labels
- Icons
- Sliders
- Panels (StackPanel, WrapPanel, Canvas)
- Grids
- Image / Text View – Support for pinch zoom and pan
- Web View (display web content)
- Tab Bars
- Video Overlays
- Sliders
- XML data bindings
- Multi-touch based user interface (up to 5 simultaneous touches)
Monetisation Features
- Ad integration
- In-app purchases
Advanced Features
- XOML Variables
- Modifiers
- XOML Programs and commands
- Inline scripts
Social Features
Facebook API support
API Documentation
API documentation can be found at http://www.appeasymobile.com/appeasy-api/index.html
Additional documentation and tools
The AppEasy Core SDK comes complete with:
- PDF documentation located in the Docs sub folder
- Extensive doxygen code documentation
- An example app that contains 70 examples demonstrating many parts of the SDK
- An example game
- XML schema for XOML
Support
Whilst free support is not provided, a community support forum is available at http://www.appeasymobile.com/forum/iwgame-engine-appeasy-core
Getting started
If you have a copy of the Marmalade SDk then you can get started using the AppEasy Core SDK immediately. The best place to begin is to navigate to the tests/XOML folder and open Tests.mkb. The Tests app is an app containing 70 examples showing the various differrnt features of the AppEasy Core SDK.
XOML Mark-up
The AppEasy Core SDK is not about the code as far as I am concerned, its more about the mark-up lamguage XOML which has proven to be both powerful and versatile in all projects that I have used it in. XOML enables you to:
- Rapidly mock-up your app, adding basic actions and events then later extend functionality using Lua and / or C++
- Use variable, timers, commands (synchronous and asynchronous), actions, events and programs to carry our basic tasks in the mark-up without having to switch out to code. This is espcially useful when it comes to creating user interfaces as most of the user interface logic can be written in pure mark-up
- Styles enable the developer to skin the look and feel of games and apps, they are also a great time saver
- Templates are probably the most useful part of XOML. Templates enable the developer to build mark-up libraries and remaximise mark-up re-use
- Automatic resource management, where resources can be loaded and disposed of when resource containers go in and out of focus
- Support for a multitude of different user interface controls
- Target window / screen resolution independent positioning and sizing
- Data binding from XML to controls
- Animation definition
- Inline scripting, allowing you to insert snip-its directly into XOML