proton_features
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
proton_features [2012/01/13 13:05] – seth | proton_features [2018/07/28 07:54] (current) – seth | ||
---|---|---|---|
Line 1: | Line 1: | ||
{{: | {{: | ||
=== Features === | === Features === | ||
- | * Create | + | * Create games and apps that run on nine platforms in C++: OSX, Win, iOS, Android, WebOS, RIM Playbook/BBX, Linux, Flash, HTML5 (note: Flash, BBX and WebOS are no longer actively supported for obvious reasons) |
- | * Entire | + | * For non console apps, entire |
- | * System specifics are abstracted, hiding the gotchas and caveats of each platform | + | * **In App Purchase** integrated for iOS, Android, and webOS through a single interface (IAPManager) |
- | * Scene graph component based system that handles game and GUI objects together (they are the same thing) | + | * Third party systems integrated: [[http:// |
+ | * System specifics are abstracted, hiding the gotchas and caveats of each platform, while still harnessing | ||
* Sigslot based (with boost:: | * Sigslot based (with boost:: | ||
- | * Supports screen stretching | + | * Supports |
* Internal component based GUI system with menus, buttons, scrolling, text input (supporting hardware and soft keyboards) | * Internal component based GUI system with menus, buttons, scrolling, text input (supporting hardware and soft keyboards) | ||
- | * Particle system (LinearParticle) | + | * 2D and 3D Particle system (LinearParticle |
- | * Font system supporting in-line coloring, kerning, scaling, wrapping. Imports BMFont generated fonts. | + | * Font system supporting in-line coloring, kerning, scaling, wrapping. Imports BMFont generated fonts. |
- | * Simple to use Sound Manager | + | * Simple to use AudioManager |
- | * Portrait and landscape modes support with rotation/ | + | * Automatic internal handling to seamlessly |
- | * Automatic internal handling to seamlessly | + | * Socket and HTTP classes, in-game file downloading, Enet based UDP support, IPV6 compatibility |
- | * Socket and HTTP classes, in-game file downloading | + | * Powerful 2D image handling with scaling, tinting, rotation, animation, image conversion |
- | * Powerful 2D image handling with scaling, tinting, rotation, animation | + | |
* FileManager that transparently handles decompressing files when needed, supports mounting zips as filesystems, | * FileManager that transparently handles decompressing files when needed, supports mounting zips as filesystems, | ||
- | * Touch screen, accelerometer, and vibration support | + | * Get abstracted input from touch, mouse, DInput, iCade, Xperia gamepad, 60Beat Gamepad, accelerometer. |
- | * RTPack.exe command line tool intelligently handles image conversions to .rttex format, a wrapper that handles multiple formats including jpg and powerVR compression types | + | * RTPack command line tool intelligently handles image conversions to .rttex format, a wrapper that handles multiple formats including jpg and (optional) |
- | * Requires minimum outside dependencies for portability | + | * Requires minimum outside dependencies for portability, most are included (such as libjpg, libpng, a small subset of boost, etc) |
- | * Large group of cross platform utility functions suitable for stealing if you want (Such as RemoveDirectoryRecursively, | + | * Large group of cross platform utility functions suitable for stealing if you want (Such as RemoveDirectoryRecursively, |
- | * Supports premultiplied alpha, can optionally convert on load | + | |
* Separate " | * Separate " | ||
- | * Built-in database system (VariantDB) can serialize key/data pairs to/ | + | * Built-in database system (VariantDB) can serialize key/data pairs to/ |
* All C++ source is "right there" making debugging easier - don't know how to use a component? Look at its source | * All C++ source is "right there" making debugging easier - don't know how to use a component? Look at its source | ||
- | * 3D features provided by the optional pre-integrated [[http:// | ||
* Liberal [[http:// | * Liberal [[http:// | ||
- | * Used in the games [[http:// | + | * Used in the games [[http:// |
- | * Even if you don't plan on selling a desktop version of your game, having a native desktop binary makes it a breeze to record high speed movies of your app for promotion purposes | + | * Even if you don't plan on selling a desktop version of your game, having a native desktop binary makes it a breeze to debug and record high speed movies of your app for promotion purposes |
+ | * HTML5 output via emscripten supports useful things like transparent handling of file downloading and persistent file storage, smartly works around browser security "only do it on an OnClick" | ||
+ | * Raspberry PI support | ||
+ | * Good for image manipulation: | ||
+ | * Includes Visual C++ 2017 solution files for Win, Xcode files for iOS & OS X, .mk based command line make setup for Android, CMake files for linux based systems, .bat file compile setups for HTML5/ | ||
=== The Insane Proton Sigslot based Entity/ | === The Insane Proton Sigslot based Entity/ | ||
Line 33: | Line 36: | ||
* No hard-coded Render or Update functions, a very different way to think about and use entities | * No hard-coded Render or Update functions, a very different way to think about and use entities | ||
* Loose coupling, can call functions, get/set variables without knowing anything about the entity/ | * Loose coupling, can call functions, get/set variables without knowing anything about the entity/ | ||
- | * Dynamic | + | * Dynamic creation |
* Components can share data and work together - for example, adding the RenderTrailComponent will add a ' | * Components can share data and work together - for example, adding the RenderTrailComponent will add a ' | ||
* Can request callbacks when data is changed or functions are called | * Can request callbacks when data is changed or functions are called | ||
* You can just ignore the entire entity system if you want, or just use it for your app menus/GUI | * You can just ignore the entire entity system if you want, or just use it for your app menus/GUI | ||
+ |
proton_features.1326459920.txt.gz · Last modified: 2012/01/13 13:05 by seth