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 revision
Previous revision
proton_features [2012/12/13 07:14] sethproton_features [2018/07/28 07:54] (current) 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)+  * For non console apps, entire engine is 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. +  * 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, Enet based UDP support, IPV6 compatibility 
-  * 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 +  * 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 useful things like transparent handling of file downloading and persistent file storage, smartly works around browser security "only do it on an OnClick" issues so URL opening and playing audio "just work", even on iOS
 +  * Raspberry PI support
 +  * Good for image manipulation: JPG/PNG support, SoftSurface class can do many pixel-level things like converting between 8/16/24/32 bit including eight bit lost arts such as working with color keying and palettes. SoftSurface can also work in console only programs (see RTPack) making it easy to create multi platform command line utilities
 +  * 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/Emscripten
 +
  
 === The Insane Proton Sigslot based Entity/Component System === === The Insane Proton Sigslot based Entity/Component System ===
Line 38: Line 40:
   * 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