proton_features
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
proton_features [2010/10/29 15:56] – 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, |
- | * Entire | + | * For non console apps, entire |
- | * System specifics are totally | + | * **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 mode support with rotation/ | + | * Automatic internal handling to seamlessly deal with power-of-2 texture limitations |
- | * Automatic internal handling to get around | + | * 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, automatically mounts Android .apks |
- | * FileManager that transparently handles decompressing files when needed, supports mounting zips as filesystems | + | * Get abstracted input from touch, mouse, DInput, iCade, Xperia gamepad, 60Beat Gamepad, accelerometer. |
- | * Touch screen, accelerometer, and vibration support | + | * RTPack command line tool intelligently handles image conversions to .rttex format, a wrapper that handles multiple formats including |
- | * RTPack.exe command line tool intelligently handles image conversions to .rttex format, a wrapper that handles multiple formats | + | * Requires minimum outside dependencies for portability, most are included (such as libjpg, libpng, a small subset of boost, etc) |
- | * Requires minimum outside dependencies for portability | + | * 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 can serialize to/ | + | * Built-in database system |
- | * 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 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/ | ||
- | * No messy C++ hierarchy - Only a single entity type that lets you add components | + | * No messy C++ hierarchy - Only a single entity type that lets you add components |
* 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.txt · Last modified: 2018/07/28 07:54 by seth