proton_features
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionNext revisionBoth sides next revision | ||
proton_features [2010/10/25 02:35] – created seth | proton_features [2012/12/13 07:11] – seth | ||
---|---|---|---|
Line 1: | Line 1: | ||
{{: | {{: | ||
=== Features === | === Features === | ||
- | * Create | + | * Create games and apps that run on seven platforms in C++: OSX, Win, iOS, Android, WebOS, RIM Playbook, Linux, Flash |
- | * Entire engine based on GL (OpenGL ES 1.1 or standard Open GL modes) | + | * Entire engine based on GL (OpenGL ES 1.X or GL 1.3) |
- | * 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 | + | * Third party systems integrated: [[http:// |
+ | * System specifics are abstracted, hiding the gotchas and caveats of each platform, while still harnessing the full power of the native hardware | ||
* 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 | + | * Portrait and landscape |
- | * Automatic internal handling to get around | + | * Automatic internal handling to seamlessly deal with power-of-2 texture limitations |
* Socket and HTTP classes, in-game file downloading | * Socket and HTTP classes, in-game file downloading | ||
* Powerful 2D image handling with scaling, tinting, rotation, animation | * 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, automatically mounts Android .apks |
- | * 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 | + | * RTPack command line tool intelligently handles image conversions to .rttex format, a wrapper that handles multiple formats including |
- | * 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 | * 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:// | + | * 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 | ||
- | === The Proton Entity System === | + | === The Insane |
- | * 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