{{ :proton_header_black.png? }} === What is it? ==== Proton SDK is Seth's GL/GLES messy multi-platform C++ game SDK. Can output to Windows, Linux (including the Raspberry Pi), HTML5, OS X, iOS, Android. Free and open source. [[proton:screenshots|{{:proton_screenshots.jpg}}]] A component based toolbox of useful things built up over the last twenty years. Instead of a giant .lib you link only the .cpp files used when possible to simplify multiplatform support, efficient debugging, as well as keep code size down. It's kind of an SDL-like on steroids (while also being able to target SDL2 for setup/input/audio itself when needed) but generally gets the best results with its own native implementations of things. For example, it can target the following audio subsystems: SDL2_mixer, Audiere, FMOD, FMODStudio, Native iOS, Native Android, Denshion, Native Flash It's designed with a "Write stuff in Windows with Visual Studio 2022, then compile/export to other platforms as needed" mentality, although you could certainly use alternate IDEs and platforms to develop on. (Xcode projects are available but only CMake setups for most other platforms) **Deprecated technologies/platforms no longer actively supported**: Flash, BBX, WebOS, Irrlicht, Bullet Supported platforms: ^ {{:ipad.png}} ^ {{:android.png}} ^ {{:playbook.png}} ^ {{:touchpad.png}} ^ {{:windows.png}} ^ {{:apple_ipad_logo.png}} ^ {{:linux_logo.png}} ^ {{:flash.png}} ^ {{:html5.png}} ^ | iOS | Android | Playbook | webOS | Windows | OS X | Linux | Flash | HTML5 | Integrated technologies: ^ {{:iap.png}} ^ {{:tapjoy.png?50}} ^ {{:chartboost.png?80}} ^ {{:flurry.png?80}} ^ {{:hooked.png?50}} ^ {{:icade.png?50}} ^ {{:60beat_pad.png?80}} ^ {{:dinput.png?70}} ^ {{:xperia.png?50}} ^ {{:irrlicht.png?80}} ^ {{:fmod.png?70}} ^ | In App Purchase | Tapjoy | Chartboost | Flurry | Hooked | iCade | 60beat pad | DX Input | Xperia pad | Irrlicht | FMOD | === Get it === * Github: https://github.com/SethRobinson/proton * [[https://github.com/SethRobinson/proton/discussions|Need help? Post your question on Github!]] === Information === * A nicer link to this page: www.protonsdk.com * [[proton:about|About, credits, how to contribute]] * [[proton_features|Feature list]] * [[proton:license|License: BSD style with attribution required]] * [[proton_issues|Current state of Proton, gotchas and issues]] * [[proton:screenshots|Screenshots from the included sample apps]] * [[proton:showcase|Showcase (released games built with p+)]] === Getting started and setting up and running the Proton SDK samples === * [[proton_info|What Proton SDK is and isn't and why]] * [[proton:win_setup|Setup and compiling RTBareBones with MSVC++ (read first, even if you don't use MSVC or Windows!)]] * [[proton:win_setup2|Setup and compiling RTSimpleApp with MSVC++ (Read second, even if you don't use MSVC or Windows!)]] * [[proton:ios_setup|Compiling examples for iOS with Xcode]] * [[proton:android_projects|How the Android projects are organized in general]] * [[proton:android_setupv3|Compiling examples for Android from Windows (V3)]] ([[proton:android_setup|Old V2 method]]) * [[proton:android_setup_linux|Compiling examples for Android from Linux]] * [[proton:osx_setup|Compiling examples for native Mac OS X with Xcode]] * [[proton:linux_setup|Compiling examples for Linux from Linux]] * [[proton:html5_setup|Compiling examples for HTML5 from Windows]] * [[proton:raspi_setup|Compiling examples on Raspberry Pi]] === Deprecated/removed things, but maybe still useful to someone === * [[proton:win_3dapp|Setup and compiling RT3DApp with MSVC++ (3D with Irrlicht, bsp map, terrain, .b3d and .x file loading)]] * [[proton:bbx_setup|Compiling examples for the Playbook from Windows]] * [[proton:webos_setup|Compiling examples for HP WebOS from Windows]] * [[proton:flash_setup|Compiling examples for Flash from Windows]] * [[proton:looney_ladders|Looney Ladders, a full game example]] === Other example projects and tools included === * [[proton:arduboysim|Proton Arduboy Simulator]] === Understanding the Proton SDK (designed to be read in order) === * [[proton:organization|Proton file organization, BaseApp, App, signals and slots]] * [[proton:RTFont|RTFont - text rendering, kerning, wrapping, in-line formatting, and making your own fonts]] * [[proton:variants|Variant, VariantList and the VariantDBs who love them]] * [[proton:FileManager|FileManager - Reading/writing files and mounting zips as file systems]] * [[proton::surfaces|Surface and SurfaceAnim - 2D blitting or 3d texturing, up to you]] * ResourceManager - so you don't load the same bmp 50 times * MessageManager - an alternative to scripting * [[proton_entity|Components and entities Part 1: Mind, prepare to be blown]] * [[proton_entity_part2|Components and entities Part 2: Understanding the most powerful component in the world]] === Misc Stuff/Tutorials === * [[proton:AudioManager|AudioManager]] ( [[proton:audiomanager_audiere|Audiere]], [[proton:audiomanager_denshion|Denshion]], [[proton:audiomanager_android|Android]], [[proton:audiomanager_fmod|FMOD]], [[proton:audiomanager_SDL|SDL]], [[proton:audiomanager_bb10|BB10]], [[proton:audiomanager_os|OS]], [[proton:audiomanager_flash|Flash]] ) * [[proton:admanager|How to enable AdManager]] ( [[proton:admanager_chartboost|Chartboost]], [[proton:admanager_tapjoy|Tapjoy]], [[proton:admanager_startapp|Startapp]], [[proton:admanager_hooked|Hooked]], [[proton:admanager_flurry|Flurry]] ) * [[proton:gamepadmanager|How to enable GamepadManager]] ( [[proton:gamepadmanager_directx|DirectX]], [[proton:gamepadmanager_icade|iCade]], [[proton:gamepadmanager_xperia|Xperia]], [[proton:gamepadmanager_60beatgamepad|60beat GamePad]] ) * [[proton:iapmanager|How to enable IAPManager]] ( [[proton:iapmanager#ios|iOS]], [[proton:iapmanager#android|Android]], [[proton:iapmanager#android|webOS]] ) * [[proton_vsrename|How to duplicate a sample app to create a new app using vsrename]] * [[proton_gles_emu|How to setup PowerVR GL ES 1.X emulator libs so you can debug in GL ES 1.X mode on Windows]] * [[proton_osx_dist|How to submit to the Mac App Store]] * [[proton_amazon_dist|How to submit to Amazon Market (Android)]] === Latest forum posts === ([[https://www.rtsoft.com/forums/forumdisplay.php?27-Proton-SDKa|visit the forums here]]) === Latest from Seth's blog, Codedojo === {{rss>http://www.codedojo.com/?feed=rss2 5 author date 1h }} ([[http://www.codedojo.com|Visit Codedojo here]])