Pooka Project Creator is the tool used to create the initial project structure of a Pooka SDK® application. The tool collects necessary information such as app name, app type and targeting platforms then generate the initial project structure, which is the starting point used by developer to start the application development.
The output of the Pooka Project Creator is a directory with strict folder structure that works only with Pooka SDK®. Any modification on the folder structure and file name will make the application unable to be built by Pooka SDK®.
There are two different editions of Pooka Project Creator, a console based and a GUI based. The GUI based project creator is simply a front end of the console based project creator.
PookaProj can be found as
[SDK Root]/Tools/PookaProj.exe (Windows edition)
[SDK Root]/Tools/PookaProj (macOS Edition)
The following text is the output when launch PookaProj without any command line arguments, which is the basic reference of the tool:
Usages:
Display tool help: PookaProj -h|-help
List supported platforms: PookaProj -l|-listPlatform
List available templates: PookaProj -t|-listTemplate
Create new project: PookaProj -c|-create source -d|-destination destination [-p|-platform platforms] [-v|-verbose]
Update existing project: PookaProj -u|-update source -d|-destination destination [-p|-platform platforms] [-v|-verbose]
Remove existing project: PookaProj -r|-remove -d|-destination destination [-p|-platform platforms] [-v|-verbose]
Run with wizard mode: PookaProj -w|-wizard
source TemplateName|SourceProjectName|SourceProjectPath
Valid template names: OGAppEmpty,
OGAppTemplate,
ConsoleAppTemplate,
LWComponentTemplate,
OGNetworkAppTemplate,
GameApp2D,
GameApp3D,
StaticLibTemplate
destination DestinationProjectName|DestinationProjectPath
Tip Use option -w|-wizard to run the tool with in wizard mode can help familiar with the project creator.
Options:
-p|-platform Platforms to create/update/remove for destination project, separated by ','.
If this option or platforms are not specified, all platforms will be processed.
Valid platform names: Win32,
WinUWP,
MacOS,
iOS,
Android
-v|-verbose Display processing information
Examples:
PookaProj -c OGApp -d MyNewOGApp -v
PookaProj -c ConsoleApp -d D:/MyProjects/MyNewConsoleApp
PookaProj -u MyApp1 -d MyApp2 -p iOS,BlackBerry
PookaProj -u "D:/My Projects/MyApp3" -d MyApp4
PookaProj -r -d "D:/My Projects/MyApp"
In order to create a new Pooka SDK® application project, the PookaProj tool needs a source project as a "Template
Project" to generate the new project. This "Template Project" can be chosen from one of predefined template projects provides by Pooka SDK® (See the following chart), or a path specified by the user pointing to a directory contains an existing Pooka SDK® application designated as the template. The second option is useful when developers want to quickly generate a new project from an existing project they worked on.
| Template Name | Best for |
|---|---|
| for creating a rudimentary application framework with minimum code | |
| for creating a generic graphics application with basic function demonstrated | |
| for creating a console-like application | |
| for creating a highly modeled Pooka SDK® light-weight component | |
| for creating a generic application with networking capability | |
| for creating a 2D game application | |
| for creating a 3D game application | |
| for creating a static library that can be consumed by other Pooka SDK® applications |
The argument "supported platforms" tells the project creator which platforms are the target platforms that the generated application will run on.
| Platform Name | Info |
|---|---|
| Win32 |
|
| WinUWP |
|
| MacOS |
|
| iOS |
|
| Android |
|
PookaProjApp can be found as
[SDK Root]/Tools/PookaProjApp.exe (Windows edition)
[SDK Root]/Tools/PookaProjApp.app (macOS Edition)
The source project can be either one of predefined template projects (see template project chart), or an existing Pooka SDK® project. If developers want to create their new project from template project, choose a appropriate template from the list then simply go to the step 3.
final output directory = base directory + project name.
Note If the operation chosen in step 1 is "update" or "remove", some platforms will be removed from the project if they are selected in the platform list-box.
Regardless which version of Pooka Project Creator is used, the output is a directory with strict folder structure that works with Pooka SDK® and recommended development IDEs.
The following list is a typical directory generated by the project creator, with the project name given as SpaceDefender and all supported platforms selected by user:
Note
Note
1 - Built by Visual Studio, see Development Environment Setup for more details.
2 - Built by XCode, see Development Environment Setup for more details.
Platform About two Android projects
There are two Android projects (SpaceDefender.NativeActivity and SpaceDefender.Packaging) under a folder SpaceDefender.Android.
The .Packaging file is the Android packaging project that generates the final Android package (.Apk) and deploys it to an Android device; The .NativeActivity file is the Android source code project that generate the Android executable binary.
These two projects must sit side-by-side under folder SpaceDefender.Android. The packaging project should depend on the source code project. This dependency has been established by project reference. When build / debug / test an Android application, developers should set the packaging project as the "start-up project" in Visual Studio.
The following chart list the recommended IDEs used to open the project file and build the application
| Project File | Recommended IDE |
|---|---|
| SpaceDefender_VS2015.Win32.vcxproj |
|
| SpaceDefender_VS2015.WinUWP.vcxproj |
|
| SpaceDefender_macOS.xcodeproj |
|
| SpaceDefender_iOS.xcodeproj |
|
| SpaceDefender.NativeActivity |
|
| SpaceDefender.Packaging |
|
Note
3 - Visual Studio 2015 (update 3), 2017 (version 15.5)
4 - XCode 8.x, XCode 9.x