App Game Kit FAQ
UPDATED! Monday 24th Jan 2011 - see below for new Q&As
How AppGameKit will work
AGK aims to solve the needs of two distinct groups of developer.
The tier 1 casual developer who has lots of ideas and not much time, preferring to sacrifice a little run-time performance for rapid application development and instant device deployment.
The second group of tier 2 developers are recognised as those coders who are not prepared to sacrifice performance, want per-platform control of components and prefer to work in an IDE they are most familiar with. Combine these solutions and you have a development system that can prototype an app in mere hours before drilling down to bare metal to get the fastest possible speed.
Tier 1 explained
You will need a PC to develop your apps on. After installing AppGameKit for tier 1 you will have access to an Eclipse based IDE where you can code your game in DBPro style BASIC. Hit compile and your source code will be processed into byte code and ready to run under an interpreter. There will be a simulator app that lets you run the game on the PC you are developing on. You can also link up with your mobile device via a PC server tool that will sync to an AppGameKit player app on your device. Your app will be transferred via your local Wifi network.
So tier 1 developers can develop on a single PC and run their games on multiple devices via freely available run-time apps that TGC will publish onto the various app stores.
Key Tier 1 Points

Develop on a single PC and see your results on supported devices

You cannot sell your games to app stores. (TGC will offer a publishing route so you can publish via TGC).
Tier 2 explained
You receive everything shown in Tier 1. We also provide C++ API libraries for all currently supported devices. This means you can code in C++ and call the AppGameKit commands directly from your C++ source code, safe in the knowledge that the same commands will do the same across all supported devices.
If you want to publish an iPhone app to the apple app store then you will need a Mac development environment and have signed up to app store developer agreement.
Key Tier 2 Points

All Tier 1 features included

Access to the AppGameKit API

You can sell what you make via app stores

Publishing to app stores is subject to the individual app stores validating and approving your apps.

Server app feature is subject to individual app stores validating and approving the server app.

Server app feature requires a WiFi connection.
Road map
April 2011 Release V1.0
Supported platforms: Windows, iOS, Bada
App Stores Targetted: Intel AppUp, Apple App Store, Samsung Bada
Devices: Netbooks, iPhone/iPod Touch/iPad/Macs, Samsung Wave phones
Platforms following release

Symbian

MeeGo

Android

Windows Mobile 7

Blackberry

Supported devices and order of development is subject to change.
Q: What news of the AppGameKit Pricing? UPDATED!
We are still not ready to announce pricing. We will announce it closer to release. After feedback in the forum it seems a subscription model is not popular. We have therefore decided to opt for a standard pay once per version model. So you will be set an amount for Tier 1 or Tier 2 and this will ensure you own that version of AGK. You also receive 12 months of updates to that version. TGC will then look to release significant versions updates to the product which will require upgrade fees.
Q: Do you need beta testers?
Right now (January 2011) we're not recruiting. We expect towards the end of Feb we'll need to kick beta testing off and we’ll probably hand pick users to help us during that phase.
Q: Could you confirm whether this is 2D only or not
A: The AppGameKit technology is being built on our optimized OpenGL engine to render hardware accelerated 2D graphics for the initial release. Our 3D commands will follow later after the core version has been rolled out to the most popular platforms.
Q: Is it going to be a procedural style language, or is there going to be some OOP support?
A: AppGameKit will be release in two tiers. Tier one will come with an easy to pick up scripting language with a lot of similarities to our popular DBPro product. Support for functions and structures will be included. Tier 2 will bring full OOP support for those advanced programmers looking to harness that extra power from writing in C++;
Q: Will you really support all the formats you have listed.
A: Yes that is out intention. We are finding that some platforms are easy to support and others are still developing and changing. Our plan is likely to adapt with the developments of the platform holders. For example Android will now be much easier to support because they are moving closer to our core C++ way of working.
Q: Will it support plug-ins?
A: Initially no.
Q: If developing for the iPhone/Pad do we have to run AppGameKit from a Mac?
A: It’s not necessary for the development of your games. Read the how AppGameKit will work section for details.
Q: Will you support Nintendo DS?
A: Currently we are saying no. We will look again in the future.
Q: Possibility for 3DS support for the new handheld?
A: As said in the previous answer, we will need to review this later.
Q: Will AppGameKit have a proper APK builder for the Android platform (much like Basic4Android does)?
A: See “How AppGameKit works” above to understand what we will be delivering.
Q: Is Physics being used? Box2D?
A: Yes we're using Box 2D.
Q: Will we be able to see any example videos of it actually being used on mobile products?
A You bet! This will be our cool video, showing some code and then running it on multiple devices. It’s the vision we have had from the very start, the same code running on multiple device!
Q: Other than the AppGameKit what we will need to buy/pay for in order to get our apps onto the platforms the AppGameKit will export to?
A: See “How AppGameKit works” above to understand what we will be delivering.
Q: Will it support rendering using platforms such as OpenGL ES for development on OMAP platforms such as the PandaBoard?
A: Currently we have no plans to support PandaBoard
Q: Can you show me a screen shoot for its interface?
A: Very Soon! We’ll be posting in the forums and on our Facebook page, so sign up to receive updates from the team.
Q: What are the supported media formats?
A: To keep the size of AppGameKit binaries small and universal, JPG, PNG, WAV and MP3 will be the primary file formats, with conversion built into the compiler where device-specific formats are required.
Q: I really hope it allows for OpenFeint, AdWhirl and AdMob support (on iOS) like I believe TGC did in their own apps. Also, I wonder if it will allow for iOS distribution without certificates?
A: Any technology that does not exist on all supported platforms will not be part of the main AppGameKit core during this phase 1 release. The primary benefit is that you genuinely only have to write your application once and be able to deploy it without modification to every device. Adding a proprietary component would break this model. That said, if you are a Tier 2 developer using the AppGameKit API, you will likely be compiling in XCODE and so you'll be able to integrate OpenFeint, AdWhirl and AdMob yourself using the native SDKs.
Q: I would also really like an XBOX 360 solution (even through the XNA creators club).
A: The initial release of AppGameKit will not include console devices. We have internal code bases for several console platforms that align very well to AppGameKit, but this is very much a version 2.0 feature. Most console development requires a certain amount of compliance work before you can run your applications on your home device. We are currently looking at ways to cut through this red-tape so you can send your app to the console and play it instantly.
Q: So AppGameKit generates full source code for the games in each language, or just the game itself?
A: AppGameKit splits into two tiers. The first uses an ultra-easy compiler to produce optimised byte-code which our native interpreter engine will run on each platform. This allows developers to create apps instantly on multiple devices without having to set-up their own development environments to produce binary (a complex and potentially expensive task in itself). A second tier then allows the developer to drop down into the C++ source code layer and use AppGameKit as an API for native compiling. The benefit to using AppGameKit as an API is that you get native performance without having to learn the development SDK's of each platform. Code your AppGameKit app once in C++ then use the native development environment of the platform to compile and deploy.
Q: Is this as easy to learn as Dark Basic Pro, and how do you get the apps to the device?
A: AppGameKit is as easy to install and use as DBPro, and in many cases easier given there are fewer commands to learn. Anyone with experience with DBPro will find coding in AppGameKit a natural step into the world of multiple devices! The easiest way to get your AppGameKit application to your chosen device is a simple three part step.
1. Code your script and save your project in the friendly IDE.
2. Select your device and compile to a special file held locally on your development machine.
3. Download and install the free AppGameKit player to your smart phone or tablet, launch the player and sync it to your development machine. The player will detect the game file you have compiled, download the app to your device and play it.
Q: Are you supporting multi touch?
A: Of course! Those devices that support multi-touch will be able to use it in the AGK
Q: Can you explain how the collision system will work?
A: You can set sprites to be taken over by the physics system which will make them respond automatically to gravity, collisions, etc.
Q: Are texture atlases supported?
A: Yes, we will provide a tool that can take a set of images and generate a texture atlas from them. You can then load this atlas into the AppGameKit using a single command and extract individual images using one command per image.
Q: Is batching in?
A: Yes, sprites will be drawn together wherever possible and in depth order. This means that the use of texture atlases can greatly improve the performance of your app.
Q: How is sound dealt with?
A: There are two aspects to the sound system, music and sound effects. Music will be loaded into a playlist type structure from which you can play music files one after the other automatically. Only one music file can be playing at any one time. Sound effects are loaded into IDs which can then be played using the PlaySound command. A sound can be played multiple times from a single ID at the same time.
=============================
Monday 24th Jan 2010
Q: What features will have the IDE have?
A: The editor is a stripped down version of the Eclipse IDE, so for an early look at the kind of features and layout the interface might have, download the latest version of Eclipse.
Q: Will tier 1 code be able to generate byte-code on the fly and send it to be executed? Will it be able to edit its own bytecode?
A: The ability to generate and execute byte-code on the fly will not be available initially while we understand the security issues surrounding this feature.
Q: So you won't directly support the Pandaboard, that's cool. But will it use an OpenGL ES renderer?
A: We have chosen OpenGL ES because the graphics API is available on almost all personal and portable platforms, allowing your applications to look visually identical from device to device.
Q: I know you said you're supporting development for the iPad as well as the iPod touch, which is AWESOME, but will the two be separated in the dev environment? As in, if developing an app specifically for the iPad, will you be able to make use of the larger screen without having to "magnify" everything like when running an iPhone app on it?
A: Graphics will be scaled so that the app looks exactly the same on any device, but it will use the native resolution of the device. So you could either use high resolution images and code with the iPad in mind or use low resolution graphics and code with the iPod touch in mind. Either way your app will run on both, but coding with a large device in mind may cause usability issues when run on smaller devices.
Q: Any chance DBPro will get a "tier 2" update in the future?
A: AppGameKit and DBP are two completely separate products. There is a similarity between them in that AppGameKit Tier 1 can be thought of as DBP and AppGameKit Tier 2 can be thought of as DarkGDK. DBP support will continue and run alongside our AppGameKit product, despite the absence of cross-compatibility.
Q: With Tier 1, I can publish through TGC. Is there a cut of what I sell that goes to TGC? So, if I make something 99 cents what is my profit going to be between Apple and TGC?
A: If you publish via TGC then we will take a 30% cut of any revenues received via any app stores the app is published into. So let’s say you earn $100 from Apple App Store. Apple will take a 30% cut of the $100 which leaves $70, then TGC will take 30% of the $70 ($21), you will receive $49.
Q: Since I am paying TGC every year, does this fee pay for updates and additional platforms.
A: We have listened to your feedback. We are now opting for a pay per version model. So when you buy AppGameKit you receive that version with support for all devices that we plan to support. You also receive 12 months of bug fix updates for that version.
Q: Will I be able to distribute my game to others off of a web site? Will there be a way to do this so I can give people a taste of a demo on Facebook, let them try it out before releasing it?
A: The base engine will be for Windows, so you could make a demo and let them download and play that. Or you could make a movie of the windows version and upload it to a video sharing service like You Tube.
Q: Does AppGameKit allow networking so I can play games against other phones and platforms.
A: Not in version 1. This will be added later when all platforms have been dealt with. Multiplayer gaming is important to us and we will want to add this in the longer term.
Q: Will AppGameKit apps work directly on MacOS X and Windows 32?
A: We will have engines for both those platforms.
Q: Is there some file management abilities like being able to save a high score on a phone or other devices? How do saving files work?
A: Local storage will be available for your applications, so high score tables will be possible.
Q: Is it possible in a future version that you might consider adding in features for specific versions. Like if I use XNA and I want to use Kinect, I could add in a library for Kinect support.
A: It’s certainly where we want to head in the future. For now we will focus on mobile phone devices.
Q: What about accelerometer support and keyboard support on phones? Will you have a virtual keyboard support on the iphone?
A: AppGameKit uses an input agnostic system which supplement devices that lack basic input features. If your application requires keyboard entry and the device does not have a keyboard, a virtual keyboard is provided. Similarly, applications that use an accelerometer to indicate left and right will map that input to a keyboard or virtual button where such a feature is absent. Most smart phones have accelerometer support.
Q: Will AppGameKit support Camera and Microphone for phones?
A: In the longer term yes. For now we want to release a core game engine. These ideas are already on our check list of items to support in future versions.
Q: Are the commands for Box2D support the same as in DBPro as in naming convention and functionality?
A: Box2D will be closely integrated into AppGameKit so we can hide some of the setup code and use sprite data directly meaning it won’t look the same as DBPro.
Q: Is there any GUI support so we can make more than just games? I mean it does say both APP and GAME, so I would think you could do both. A GUI is really needed here.
A: There will be no support for a traditional set of GUI gadgets to keep the core of AppGameKit small and highly optimised. There will be a convenient placement editor where you can place images as buttons, and a one line code solution for detecting when that button is pressed, so creating your own GUI gadgets will be very easy.
Q: Does the 2D engine offer alpha support and realtime scaling and rotation?
A: AppGameKit supports per pixel alpha using PNG textures as well as a single sprite alpha value. Rotation is supported, realtime scaling is supported on non-physics sprites only.
Q: Does the 2D engine offer built-in particle effects?
A: The sprite system supports both texture and polygon batching, which makes it an ideal engine for particle effects. There will be no pre-built high level effects such as snow and fire as these are too specific for a core language, but simple examples will be provided on how to easily create particle effects for your games.
Q: Would you have access to any music from ITunes eventually? Like could I allow the user to use his own music files with my game?
A: iTunes music is protected by a digital rights system that cannot be applied to our engine, but the end user will be able to play their iTunes music in the background and disable the in-app sound effects and music.
Q. Why use a bulky/redundant IDE?
Eclipse can be used in a variety of ways. Just because you may have seen a complex set up in one version doesn’t mean this is the case all the time. It's possible to have a stripped down version that is very easy to pick up and use, while having the benefits of being cross platform and containing all the relevant features we require.
------------------------
Keep asking questions and we'll keep updating this post with our answers.
Financial Director
TGC Team