Introduction to novikov.ruslan@gmail.com
 07: first PC  14: first Pascal game  25: developed 2D game engine  26: J2ME developer  28: Android developer
 MediaPlayer  Good only for background music  SoundPool  OK for sound effects, no sound processing provided though  AudioTrack / AudioRecord  Sound processing can be made, works on PCM data  OpenMAX|AL API accessible from NDK  OpenSL  Enable low level audio tweaking, accessible only from NDK  Challenge  You really need to know your way around all these API to provide great sound in your game
 Framework already gives you:  Rich widget toolkit  Simple () event processing  Powerful animation framework  Reuse familiar technology  SurfaceView + Canvas:  Fast drawing  Rich API: ▪ Geometric Primitives ▪ Transformations ▪ Xfer Modes + Shaders
 3D pipeline  Allows 2D graphics too  Fastest possible solution  Usually HW accelerated  The most rich visual effects  Having fully programmable shaders is limited only by your imagination  Cross platform  When writing in C++ the code can be ported  On Android  Every device supports OpenGL|ES 2  Full OpenGL|ES 2 JNI bindings since 2.3  Much more complex API and development that Canvas
 Faster prototyping / development  No need to re-compile  Easier for non-programmers to use  Designers can script AI, conversation flows e.t.c  Separate game logic from the engine  Lua is widely popular in the field  Scripting Layer for Android (SL4A)  Python, Perl, Ruby, Lua  BeanShell, JavaScript,Tcl
 Basic physics is simple  Everyone can do classical mechanics  Collision Detection is hard  Due to rounding errors of decimal numbers  Box2D – standard for 2D physics  Cross-platform (C++)  Rigid-body simulation  Convex polygons, circles, edges  Joints, forces  Friction, restitution  Has JNI bindings
 Input devices  Touch screen + sensor controls perfect for certain new genres, but not for classic arcade experience  Battery  Can be as low as 3hrs of playing  Memory  Xbox One (8 GB of RAM) vs. Nexus 5 (2 GB of RAM)  Much lower throughput  GPU  No dedicated texture memory, usually much slower performance due to lower memory throughput  Limited Storage capacity and APK sizes  Just couple of GB of storage and 50MB APK limit (4GB with expansion files)
 Graphics  Physics Engine  Particle Systems  Sound  Scripting  Animation  Artificial Intelligence  Networking  Platform Abstraction
 Cross-Platform  Windows, Linux, Mac,Android, BlackBerry, iOS, JavaApplet, Javascript/WebGL  OpenGL ES 2.0 powered graphics  High-level 2D APIs  Orthographic camera, sprite batching, texture atlases, bitmap fonts  2D Particle system  2D UI library  High-Level 3D APIs
 Input Handling  Abstractions for mouse and touch-screen, keyboard, accelerometer and compass  Physics  JNI wrapper for Box2D, JNIWrapper for bullet physics  Lots of helper libraries  File & I/O handling  Open source, and totally free!!!
 Corona client and simulator is available for Mac OSX or Windows  Corona SDK Starter is completely free  Corona client requires an Internet connection to build because part of the build process happens on Corona Labs servers  Due to Apple restrictions you can only build an iOS app on a Mac
 OpenGL powered 2D graphics  Wrapped OpenAL audio API  Box2D powered physics  Particle effects  Lua scripting  Lots of plug-ins for monetization, ads e.t.c  Not entirely free!
 Crossplatform 3D and 2D engine  You can choose 3D vs 2D development mode  Rendering  Direct3D on windows  OpenGL on all the rest  Scripting  C#, JavaScript or Boo (?)  Shipped with MonoDevelop  Physics  Proprietary 3D physic engine  Box2D for… 2D games  Powerful animation framework  Mecanim IK animation  … tons of other features go to: http://unity3d.com/
 Imports all the major 3D formats  Automatic sprite splicing  Fast asset search and management
Project Anarchy
 Did not find any good on mobile game development, but there are lots of them… ThankYou

Introduction to android (and mobile) game development

  • 1.
  • 2.
     07: firstPC  14: first Pascal game  25: developed 2D game engine  26: J2ME developer  28: Android developer
  • 4.
     MediaPlayer  Goodonly for background music  SoundPool  OK for sound effects, no sound processing provided though  AudioTrack / AudioRecord  Sound processing can be made, works on PCM data  OpenMAX|AL API accessible from NDK  OpenSL  Enable low level audio tweaking, accessible only from NDK  Challenge  You really need to know your way around all these API to provide great sound in your game
  • 5.
     Framework alreadygives you:  Rich widget toolkit  Simple () event processing  Powerful animation framework  Reuse familiar technology  SurfaceView + Canvas:  Fast drawing  Rich API: ▪ Geometric Primitives ▪ Transformations ▪ Xfer Modes + Shaders
  • 6.
     3D pipeline Allows 2D graphics too  Fastest possible solution  Usually HW accelerated  The most rich visual effects  Having fully programmable shaders is limited only by your imagination  Cross platform  When writing in C++ the code can be ported  On Android  Every device supports OpenGL|ES 2  Full OpenGL|ES 2 JNI bindings since 2.3  Much more complex API and development that Canvas
  • 7.
     Faster prototyping/ development  No need to re-compile  Easier for non-programmers to use  Designers can script AI, conversation flows e.t.c  Separate game logic from the engine  Lua is widely popular in the field  Scripting Layer for Android (SL4A)  Python, Perl, Ruby, Lua  BeanShell, JavaScript,Tcl
  • 8.
     Basic physicsis simple  Everyone can do classical mechanics  Collision Detection is hard  Due to rounding errors of decimal numbers  Box2D – standard for 2D physics  Cross-platform (C++)  Rigid-body simulation  Convex polygons, circles, edges  Joints, forces  Friction, restitution  Has JNI bindings
  • 9.
     Input devices Touch screen + sensor controls perfect for certain new genres, but not for classic arcade experience  Battery  Can be as low as 3hrs of playing  Memory  Xbox One (8 GB of RAM) vs. Nexus 5 (2 GB of RAM)  Much lower throughput  GPU  No dedicated texture memory, usually much slower performance due to lower memory throughput  Limited Storage capacity and APK sizes  Just couple of GB of storage and 50MB APK limit (4GB with expansion files)
  • 11.
     Graphics  PhysicsEngine  Particle Systems  Sound  Scripting  Animation  Artificial Intelligence  Networking  Platform Abstraction
  • 12.
     Cross-Platform  Windows,Linux, Mac,Android, BlackBerry, iOS, JavaApplet, Javascript/WebGL  OpenGL ES 2.0 powered graphics  High-level 2D APIs  Orthographic camera, sprite batching, texture atlases, bitmap fonts  2D Particle system  2D UI library  High-Level 3D APIs
  • 13.
     Input Handling Abstractions for mouse and touch-screen, keyboard, accelerometer and compass  Physics  JNI wrapper for Box2D, JNIWrapper for bullet physics  Lots of helper libraries  File & I/O handling  Open source, and totally free!!!
  • 14.
     Corona clientand simulator is available for Mac OSX or Windows  Corona SDK Starter is completely free  Corona client requires an Internet connection to build because part of the build process happens on Corona Labs servers  Due to Apple restrictions you can only build an iOS app on a Mac
  • 17.
     OpenGL powered2D graphics  Wrapped OpenAL audio API  Box2D powered physics  Particle effects  Lua scripting  Lots of plug-ins for monetization, ads e.t.c  Not entirely free!
  • 18.
     Crossplatform 3Dand 2D engine  You can choose 3D vs 2D development mode  Rendering  Direct3D on windows  OpenGL on all the rest  Scripting  C#, JavaScript or Boo (?)  Shipped with MonoDevelop  Physics  Proprietary 3D physic engine  Box2D for… 2D games  Powerful animation framework  Mecanim IK animation  … tons of other features go to: http://unity3d.com/
  • 20.
     Imports allthe major 3D formats  Automatic sprite splicing  Fast asset search and management
  • 21.
  • 23.
     Did notfind any good on mobile game development, but there are lots of them… ThankYou