User Tools

Site Tools


proton_features

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
proton_features [2013/07/26 01:34] sethproton_features [2018/07/28 06:29] seth
Line 1: Line 1:
 {{:proton_header_black.png?|}} {{:proton_header_black.png?|}}
 === Features === === Features ===
-  * Create games and apps that run on eight platforms in C++:  OSX, Win, iOS, Android, WebOS, RIM Playbook, Linux, Flash+  * 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 engine based on GL (OpenGL ES 1.X or GL 1.3)   * Entire engine based on GL (OpenGL ES 1.X or GL 1.3)
   * **In App Purchase** integrated for iOS, Android, and webOS through a single interface (IAPManager)   * **In App Purchase** integrated for iOS, Android, and webOS through a single interface (IAPManager)
   * Third party systems integrated: [[http://www.tapjoy.com|Tapjoy]], [[http://www.hookedmediagroup.com/Mobile/|Hooked]], [[http://www.chartboost.com/|Chartboost]], Startapp, [[http://www.flurry.com/|Flurry]]   * Third party systems integrated: [[http://www.tapjoy.com|Tapjoy]], [[http://www.hookedmediagroup.com/Mobile/|Hooked]], [[http://www.chartboost.com/|Chartboost]], Startapp, [[http://www.flurry.com/|Flurry]]
-  * System specifics are abstracted, hiding the gotchas and caveats of each platform, while still harnessing the full power of the native hardware (for instance, hardware audio decoding)+  * System specifics are abstracted, hiding the gotchas and caveats of each platform, while still harnessing the full power of the native hardware (for instance, hardware audio decoding on iOS)
   * Sigslot based (with boost::signals) messaging system that lets you dynamically schedule calling entity and component functions, set variables   * Sigslot based (with boost::signals) messaging system that lets you dynamically schedule calling entity and component functions, set variables
   * Supports fake screen resolutions with stretching, so you can target only a few sizes and automatically scale up/down to the closest one   * Supports fake screen resolutions with stretching, so you can target only a few sizes and automatically scale up/down to the closest one
   * 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)
   * 2D and 3D Particle system (LinearParticle for 2d, and Irrlicht for 3D)   * 2D and 3D Particle system (LinearParticle for 2d, and Irrlicht for 3D)
-  * Font system supporting in-line coloring, kerning, scaling, wrapping. Imports BMFont generated fonts. (no unicode yet..+  * Font system supporting in-line coloring, kerning, scaling, wrapping. Imports BMFont generated fonts. (no unicode support
-  * Simple to use AudioManager with smart caching, streaming, and per sfx controls. (Supports 6 implementations+  * Simple to use AudioManager with smart caching, streaming, and per sfx controls. (Supports 6 backend audio implementations)
-  * Portrait and landscape modes support with rotation/flip (on some platforms)+
   * Automatic internal handling to seamlessly deal with power-of-2 texture limitations   * 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, image conversion
   * 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, automatically mounts Android .apks
   * Get abstracted input from touch, mouse, DInput, iCade, Xperia gamepad, 60Beat Gamepad, accelerometer.  Supports multi-touch on most platforms including Win7/Win8   * Get abstracted input from touch, mouse, DInput, iCade, Xperia gamepad, 60Beat Gamepad, accelerometer.  Supports multi-touch on most platforms including Win7/Win8
-  * RTPack 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) powerVR compression types.  Also compresses any file and can create .rtfont font files.
   * 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, 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, CreateDirectory Recursively, LaunchURL, etc) +  * Large group of cross platform utility functions suitable for stealing if you want (Such as RemoveDirectoryRecursively, CreateDirectoryRecursively, LaunchURL, etc)
-  * Supports premultiplied alpha, can optionally convert on load+
   * Separate "system" and "game" timers make pausing the game easy   * Separate "system" and "game" timers make pausing the game easy
   * Built-in database system (VariantDB) can serialize key/data pairs to/from disk or raw memory easily   * Built-in database system (VariantDB) can serialize key/data pairs to/from disk or raw memory easily
   * 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://irrlicht.sourceforge.net/|Irrlicht]] component - Proton SDK doesn't use any of its window setup or input code, but only the rendering pieces 
   * Liberal [[http://www.rtsoft.com/proton/license.txt|open source license]]   * Liberal [[http://www.rtsoft.com/proton/license.txt|open source license]]
   * Used in the games [[http://www.rtsoft.com/pages/dscroll_mobile.php|Dungeon Scroll]], [[http://www.codedojo.com/?p=138|Mind Wall]], [[http://www.rtsoft.com/pages/bliparcade.php|Blip Arcade]], [[http://www.rtsoft.com/pages/dink.php|Dink Smallwood HD]], [[http://www.rtsoft.com/pages/tanked.php|Tanked (Free 3d game)]], and [[http://www.growtopiagame.com|Growtopia]].   * Used in the games [[http://www.rtsoft.com/pages/dscroll_mobile.php|Dungeon Scroll]], [[http://www.codedojo.com/?p=138|Mind Wall]], [[http://www.rtsoft.com/pages/bliparcade.php|Blip Arcade]], [[http://www.rtsoft.com/pages/dink.php|Dink Smallwood HD]], [[http://www.rtsoft.com/pages/tanked.php|Tanked (Free 3d game)]], and [[http://www.growtopiagame.com|Growtopia]].
   * 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   * 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 transparent handling of file downloading and persistent file storage
 +  * Raspberry PI support
 +
  
 === The Insane Proton Sigslot based Entity/Component System === === The Insane Proton Sigslot based Entity/Component System ===
Line 38: Line 38:
   * 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