Goji Editor Game and App Editor is Born

Hey everyone, its been a long while since I posted anything to my blog that I would class as benefiting many developers. Well, that is about to change.

I posted some details about a game / app editor that I had started back in May 2013. Well, I decided that I was going the wrong way with that so I scrapped it and started again. Well, when I say started again I mean I created something else and decided to expand on it. I created a simple tool for AppEasy that allows the user to convert TexturePacker and SVG data (as exported from the likes of Inkscape) to the XML format that AppEasy could understand. The tool proved pretty useful for my own projects so I decided to expand on it and turn it into a full on game editor. Of course, once it became a game editor I wanted to expand on that further and turn it into a game editor that could also be used to create complete games and apps (essentially a complete integrated development system). Out of that was born the Goji Editor.

The Goji Editor can be used as a generic game / app layout editor and / or a complete development system. Here’s a quick shot of the editor in its current state:

Goji Game and App Editor screen shot
Goji Game and App Editor

And a quick list of its current feature set:

  • Export to many different game and app engine / programming language formats
  • Export in multi-resolution friendly format, allowing exported data to be used on any sized display
  • Assisted layout editing, including tools to enable easy layout and layout management
  • Full drag and drop support
  • Support for import of SVG, Texture Packer and other formats
  • Support for physics including. fixtures, joints and the ability to test physics
  • Definition of gaming logic and play using events and actions lists
  • Support for Lua / JavaScript and other language editing, includes syntax highlighting, code folding and search / replace
  • Interactive play mode that launches the game using the built in engine or other supported engines
  • Create complete working / compilable projects

And other features that are currently in the pipeline include:

  • Support for animation using time lines editor
  • Particle system editor
  • Geometry creation and editing
  • Export support for all major game engines
  • Intellisense / autocomplete for all supported API’s
  • Support for audio, video, in-app purchase, ads and many more additional services

I’m currently using the Goji Editor in the production of an Angry Birds style game that I’m working on. The project for this game will be released at the same time as the editor providing a working commercial game as an example.

Closed alpha testing will begin soon. If you want to take part then get in touch here

Interested in export support for your format? Get in touch here

AppEasy 1.5.0 is now out

AppEasy the cross platform mobile game and app development system for iPhone, iPad, Android and Windows that is aimed at all levels of experience releases latest update

AppEasy version 1.5.0 is now available for download from here.

Please upgrade to the latest version. Note that before updating, close down your current version of AppEasy, rename c:\AppEasy to c:\AppEasy2, install and run AppEasy 1.5.0 then copy any changes / certificates from c:\AppEasy2 to c:\AppEasy. Note that if you install the update before renaming c:\AppEasy then simply exit the AppEasy project manager, rename the folder and run AppEasy again.

The main new features include:

  • Support for Facebook
  • Communication between web view content and the native app
  • New Lua HTTP API
  • Support for AdModa banner / rich media ads and Leadbolt app walls

New Tools:

  • AppEasy manager now supports new Facebook App ID field
  • Android Test deploy will now replace previous installed APK and automatically launch it
  • BUG FIX: iOS wizard was copying development certificate over distribution certificate

Core Engine Changes:

  • Added new Facebook Lua API that provides access to Open Graph API
  • If UI actor (does not work with basic image or text actor) is assigned Box2dmaterial but no shape then a default rect shape will be created and assigned
  • Extended UV tiling to beyond 8×8
  • Geometries now support percentage based sizing
  • Actors now support the Tiled attribute which tells the actor to use texture tiling when rendering itself
  • Actors now support the new Tiling attribute which specifies texture tiling factors on a per actor basis, if x or y tiling factors are > 1.0 then actor Tiled attribute will automatically be set to true
  • Tiled attribute has been removed from brushes
  • Added actor.findTagged(tag, scene) function that returns a table of actors that are tagged with a specific tag
  • All properties that are set from Lua via functions such as actor.set() / scene.set() now accept a userdata object or the name of the object, instead of an object name. For example when setting an actors timeline property you can pass either the name of the timeline or a lua object that represents the timeline
  • Added readable TextSize property to text based actors that returns the width and height of the area that the text covers
  • Added scene as 2nd parameter to resource.removeTagged() to allow tagged resources to be removed from specific scenes
  • Added new actor.destroyTagged(tag-name, container-scene) which destroys groups of tagged actors
  • WebView actor now supports OnJavascript event that is called when Javascript calls back to XML using s3e.exec(), see Test25
  • WebView actor property Javascript when read from Lua returns Javascript data that was sent via s3e.exec(), allowing data passed back from Javascript within a web view to be read
  • Updated Test25 to show how to send Javascript to web view from XOML to modify page content as well as send data back to XOML from a web view
  • Added http Lua API that deals with finding remote requests as well as setting and getting their properties
  • Added status() function to market Lua API which returns the status of the last request
  • Added available() function to market Lua API which returns the availability of the market
  • Added new sys.getOSVersion() function which returns current OS version as a string
  • All files that are downloaded over http (e.g. images, fonts and audio) now work if the original request URL results in a redirect
  • Updated Test63 to support Admoda banner and rich media ads, also added support for Leadbolt app walls
  • Actor.set(), add() and get() can now be used to access user properties of the actor by tagging a true onto the end of the call, this will access user properties instead of xoml properties
  • Added sys.setBackgroundColour(red, green, blue)
  • BUG FIX: Fixed issue where geometries would not render in a scene with batched turned on
  • BUG FIX: Fixed issues with SVG exporting from AppEasy Tool
  • BUG FIX: Fixed issues with tiled images in batch rendered layers
  • BUG FIX: Fixed issue with multiple onbegintouch events not firing correctly for actors
  • BUG FIX: Fixed OnResponse event callback in RemoteReq
  • BUG FIX: Fixed, Lives property of ActorParticles renamed Repeat
  • BUG FIX: Fixed, Lua errors now output to Error channel and not Info channel
  • BUG FIX: Fixed extents scaling by camera scale
  • BUG FIX: Fixed touch panning with scaled camera