Becoming Indie
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Becoming Indie

  • 4,020 views
Uploaded on

360iDev presentation given by Noel Llopis. http://gamesfromwithin.com/?p=360...

360iDev presentation given by Noel Llopis. http://gamesfromwithin.com/?p=360

Session description: This session will cover the experiences of a professional game developer, used to 200+ person teams, multi-million dollar budgets, and 3+ year schedules, who left all that behind to become a one-person indie company developing exclusively for the iPhone. It will explain how things are different and how some things are very much the same, and will show specific examples of graphics technology, development environment, and asset pipeline. I will be using my current iPhone project, Flower Garden, as an example. The audience will learn what the transition is like and what to expect going indie making games for the iPhone.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,020
On Slideshare
4,013
From Embeds
7
Number of Embeds
2

Actions

Shares
Downloads
55
Comments
0
Likes
3

Embeds 7

http://www.slideshare.net 5
http://blog.zhengchen.com 2

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Show of hands:
    - How many are making games on the iPhone now?
    - How many have done games on other platforms before?
    This is about Games -> iPhone for iPhone developers. I’ll be giving the opposite talk at GDC
  • Different background than many people. Over 10 years in the games industry
    Small companies, large companies
    Lots of games and platforms. This is my second startup.

  • Different background than many people. Over 10 years in the games industry
    Small companies, large companies
    Lots of games and platforms. This is my second startup.

  • Different background than many people. Over 10 years in the games industry
    Small companies, large companies
    Lots of games and platforms. This is my second startup.

  • Different background than many people. Over 10 years in the games industry
    Small companies, large companies
    Lots of games and platforms. This is my second startup.

  • Different background than many people. Over 10 years in the games industry
    Small companies, large companies
    Lots of games and platforms. This is my second startup.

  • Different background than many people. Over 10 years in the games industry
    Small companies, large companies
    Lots of games and platforms. This is my second startup.

  • Different background than many people. Over 10 years in the games industry
    Small companies, large companies
    Lots of games and platforms. This is my second startup.

  • Different background than many people. Over 10 years in the games industry
    Small companies, large companies
    Lots of games and platforms. This is my second startup.

  • Different background than many people. Over 10 years in the games industry
    Small companies, large companies
    Lots of games and platforms. This is my second startup.

  • Different background than many people. Over 10 years in the games industry
    Small companies, large companies
    Lots of games and platforms. This is my second startup.

  • Team sizes over time
    When I started, a team was 5-8 people. Towards the end 200+ people.


  • Two years ago I quit and started my own, two-person company to make downloadable console games.
  • Two years ago I quit and started my own, two-person company to make downloadable console games.
  • What am I doing now?
  • Game developers want to know hardware specs right away
    Hardware specs seem great, but where are they?
    Apple not very open
  • iPhone games so far are about content, not tech. Nice change!
  • iPhone games so far are about content, not tech. Nice change!
  • iPhone games so far are about content, not tech. Nice change!
  • iPhone games so far are about content, not tech. Nice change!



  • This is one of the keys of the success of games in the iPhone. Imagine if all you could do was to write web apps with Javascript!
  • This is one of the keys of the success of games in the iPhone. Imagine if all you could do was to write web apps with Javascript!

  • UnitTest++ was designed with consoles and limited hardware in mind. Perfect fit for iPhone!
  • UnitTest++ was designed with consoles and limited hardware in mind. Perfect fit for iPhone!
  • UnitTest++ was designed with consoles and limited hardware in mind. Perfect fit for iPhone!
  • UnitTest++ was designed with consoles and limited hardware in mind. Perfect fit for iPhone!







  • I have to admit I never got around to setting it up for my current project.
    Too busy and not enough hardware. I regret not doing it though.
    First thing in my next project.
  • I have to admit I never got around to setting it up for my current project.
    Too busy and not enough hardware. I regret not doing it though.
    First thing in my next project.
  • I have to admit I never got around to setting it up for my current project.
    Too busy and not enough hardware. I regret not doing it though.
    First thing in my next project.






  • I’m doing heavy fp math, so I went from 15 to 39fps!
  • I’m doing heavy fp math, so I went from 15 to 39fps!
  • I’m doing heavy fp math, so I went from 15 to 39fps!
  • I’m doing heavy fp math, so I went from 15 to 39fps!
  • I’m doing heavy fp math, so I went from 15 to 39fps!
  • I’m doing heavy fp math, so I went from 15 to 39fps!
  • I’m doing heavy fp math, so I went from 15 to 39fps!








  • That’s Dapple by the way. Great game! :-)
  • That’s Dapple by the way. Great game! :-)
  • That’s Dapple by the way. Great game! :-)
  • Takes a lot getting used to fixed-function pipeline again!
  • Takes a lot getting used to fixed-function pipeline again!
  • Takes a lot getting used to fixed-function pipeline again!
  • Takes a lot getting used to fixed-function pipeline again!


  • That’s from the glext.h header file
  • That’s from the glext.h header file
  • That’s from the glext.h header file
  • That’s from the glext.h header file
  • That’s from the glext.h header file





  • That’s an example of a UIKit button on top of an OpenGL app
  • That’s an example of a UIKit button on top of an OpenGL app
  • That’s an example of a UIKit button on top of an OpenGL app
  • That’s an example of a UIKit button on top of an OpenGL app
  • That’s an example of a UIKit button on top of an OpenGL app


  • It is, in fact, very close to a Dreamcast in power and hardware, but with more memory.
  • It is, in fact, very close to a Dreamcast in power and hardware, but with more memory.
  • It is, in fact, very close to a Dreamcast in power and hardware, but with more memory.
  • It is, in fact, very close to a Dreamcast in power and hardware, but with more memory.
  • It is, in fact, very close to a Dreamcast in power and hardware, but with more memory.
  • It is, in fact, very close to a Dreamcast in power and hardware, but with more memory.
  • It is, in fact, very close to a Dreamcast in power and hardware, but with more memory.
  • It is, in fact, very close to a Dreamcast in power and hardware, but with more memory.
  • It is, in fact, very close to a Dreamcast in power and hardware, but with more memory.
  • It is, in fact, very close to a Dreamcast in power and hardware, but with more memory.
  • Small budgets is a good reason to stay self-funded and avoid publisher money
  • App Store!! Great access to customers (PC does not have a focal point for payment and ads, consoles have very restrictive approval process and far removed from final customer)

  • Explain what I mean by asset pipeline
  • Explain what I mean by asset pipeline
  • Explain what I mean by asset pipeline
  • I’m working with an artist and I would give him ad-hoc builds with new content. Very slow!
    Now running XCode
  • I’m working with an artist and I would give him ad-hoc builds with new content. Very slow!
    Now running XCode










  • This is a small piece of game logic using Unreal Kismet




  • This is something I learned the hard way in my last startup :-)
  • This is something I learned the hard way in my last startup :-)
  • This is something I learned the hard way in my last startup :-)
  • Flower Garden is a bit different because it’s mostly procedurally generated
  • Flower Garden is a bit different because it’s mostly procedurally generated
  • An issue tracking system is huge for managing contractors.
    Trac is very useful and simple to install
    Doubles as bug system






  • Getting noticed is getting harder and harder.
    It’s only going to get worse
    An improved App Store would help
  • Right now it’s a race to 99c. I don’t think that’s going to be that way in the future.
    Tide is starting to turn with developers foregoing the chance of getting in the top 100
  • Pretty cool graphics, uh? They are from a game on the Dreamcast, which is on part with the iPhone.
    Notice a difference?
    Lots of room for improvement.
  • This has already happened with XBLA and PSN
  • This has already happened with XBLA and PSN



  • Here’s another parameter: Userbase is huge and continues to grow
    So things may even out for indies
    It probably means no more iShoot-like games in the top for a while. We’ll be able to make a living, but not hit it big.
  • Flash might be coming to the iPhone?
    Does it mean that Flash-like quality games in the App Store are over?


Transcript

  • 1. Becoming Indie A Professional Game Developer Change To The iPhone Noel Llopis Snappy Touch http://snappytouch.com Tuesday, March 3, 2009
  • 2. Tuesday, March 3, 2009
  • 3. Tuesday, March 3, 2009
  • 4. Tuesday, March 3, 2009
  • 5. 1998: 12 people - 1 year Tuesday, March 3, 2009
  • 6. 1998 2001: 24 people - 2 years Tuesday, March 3, 2009
  • 7. 1998 2001 2005: 100 people 2.5 years Tuesday, March 3, 2009
  • 8. 1998 2001 2005 2008: 200 people 3 years Tuesday, March 3, 2009
  • 9. 1998 2001 My previous startup 2005 2008: 200 people 3 years Tuesday, March 3, 2009
  • 10. 1998 2001 My previous startup 2005 Now 2008: 200 people 3 years Tuesday, March 3, 2009
  • 11. Tuesday, March 3, 2009
  • 12. Tuesday, March 3, 2009
  • 13. Part I: What’s Inside? Tuesday, March 3, 2009
  • 14. Hardware Specs Tuesday, March 3, 2009
  • 15. Hardware Specs • CPU: 32-bit RISC ARM Tuesday, March 3, 2009
  • 16. Hardware Specs • CPU: 32-bit RISC ARM • Memory: 128 MB RAM Tuesday, March 3, 2009
  • 17. Hardware Specs • CPU: 32-bit RISC ARM • Memory: 128 MB RAM • Graphics: PowerVR MBX Lite Tuesday, March 3, 2009
  • 18. Hardware Specs • CPU: 32-bit RISC ARM • Memory: 128 MB RAM • Graphics: PowerVR MBX Lite • Extra features: Multi-touch screen, GPS, camera, accelerometer, WiFi, microphone. Tuesday, March 3, 2009
  • 19. Development Tools Tuesday, March 3, 2009
  • 20. Development Tools • XCode. Great IDE Tuesday, March 3, 2009
  • 21. Development Tools • XCode. Great IDE • Familiar tools: gcc, gdb Tuesday, March 3, 2009
  • 22. Development Tools • XCode. Great IDE • Familiar tools: gcc, gdb • Great performance and analysis tools: Instruments Tuesday, March 3, 2009
  • 23. Programming Language Most iPhone-related stuff in Objective C Tuesday, March 3, 2009
  • 24. Programming Language Most iPhone-related stuff in Objective C ... but you can write all C and C++ you want! Tuesday, March 3, 2009
  • 25. Programming language You can even write assembly if you want! void MyFunction() { // do some stuff int value = 57; asm volatile ( quot;mov %0, %0, ror #1quot; : quot;=rquot; (value) : quot;0quot; (value) ); } Tuesday, March 3, 2009
  • 26. Unit Testing Tuesday, March 3, 2009
  • 27. Unit Testing • Any C/C++ unit-testing framework Tuesday, March 3, 2009
  • 28. Unit Testing • Any C/C++ unit-testing framework • Biased towards UnitTest++ of course (http://unittest-cpp.sourceforge.net/) Tuesday, March 3, 2009
  • 29. Unit Testing • Any C/C++ unit-testing framework • Biased towards UnitTest++ of course (http://unittest-cpp.sourceforge.net/) • How to get it to run as a postbuild step? Tuesday, March 3, 2009
  • 30. Unit Testing • Any C/C++ unit-testing framework • Biased towards UnitTest++ of course (http://unittest-cpp.sourceforge.net/) • How to get it to run as a postbuild step? • Google toolbox for Mac (http:// code.google.com/p/google-toolbox-for-mac/ wiki/iPhoneUnitTesting) Tuesday, March 3, 2009
  • 31. Unit Testing Tuesday, March 3, 2009
  • 32. Unit Testing • Run script as part of build process. Tuesday, March 3, 2009
  • 33. Unit Testing • Run script as part of build process. • Build and you’re done. Tuesday, March 3, 2009
  • 34. Unit Testing • Run script as part of build process. • Build and you’re done. • Super fast in simulator. Tuesday, March 3, 2009
  • 35. Unit Testing Tuesday, March 3, 2009
  • 36. Unit Testing • Also frameworks for Objective C: OCUnit, SenTestingKit Tuesday, March 3, 2009
  • 37. Unit Testing • Also frameworks for Objective C: OCUnit, SenTestingKit • I haven’t used them yet Tuesday, March 3, 2009
  • 38. Unit Testing • Also frameworks for Objective C: OCUnit, SenTestingKit • I haven’t used them yet • Some people modified UnitTest++ to work with Objective C Tuesday, March 3, 2009
  • 39. Unit Testing • Also frameworks for Objective C: OCUnit, SenTestingKit • I haven’t used them yet • Some people modified UnitTest++ to work with Objective C • Also mock frameworks: OCMock Tuesday, March 3, 2009
  • 40. Build Servers Tuesday, March 3, 2009
  • 41. Build Servers • Continuous integration was a key practice in large teams. Tuesday, March 3, 2009
  • 42. Build Servers • Continuous integration was a key practice in large teams. • Even with a one or two-man team it was extremely useful. Tuesday, March 3, 2009
  • 43. Build Servers • Continuous integration was a key practice in large teams. • Even with a one or two-man team it was extremely useful. • CruiseControl or Hudson Tuesday, March 3, 2009
  • 44. CPU Tuesday, March 3, 2009
  • 45. CPU • CPU: 32-bit RISC ARM Tuesday, March 3, 2009
  • 46. CPU • CPU: 32-bit RISC ARM • iPhone @ 412MHz Tuesday, March 3, 2009
  • 47. CPU • CPU: 32-bit RISC ARM • iPhone @ 412MHz • iPod Touch @ 535MHz Tuesday, March 3, 2009
  • 48. CPU • CPU: 32-bit RISC ARM • iPhone @ 412MHz • iPod Touch @ 535MHz • Can go as high as 620MHz Tuesday, March 3, 2009
  • 49. Floating Point Tuesday, March 3, 2009
  • 50. Floating Point • The main CPU has no floating point support. Tuesday, March 3, 2009
  • 51. Floating Point • The main CPU has no floating point support. • Compiled C/C++/OC code uses the vector floating point unit for any floating point operations. Tuesday, March 3, 2009
  • 52. Thumb Mode Tuesday, March 3, 2009
  • 53. Thumb Mode • CPU has a special thumb mode. Tuesday, March 3, 2009
  • 54. Thumb Mode • CPU has a special thumb mode. • Less memory, maybe better performance. Tuesday, March 3, 2009
  • 55. Thumb Mode • CPU has a special thumb mode. • Less memory, maybe better performance. • No floating point support. Tuesday, March 3, 2009
  • 56. Thumb Mode • CPU has a special thumb mode. • Less memory, maybe better performance. • No floating point support. • It’s on by default! Tuesday, March 3, 2009
  • 57. Thumb Mode • CPU has a special thumb mode. • Less memory, maybe better performance. • No floating point support. • It’s on by default! • Potentially HUGE wins turning it off. Tuesday, March 3, 2009
  • 58. Thumb Mode • CPU has a special thumb mode. • Less memory, maybe better performance. • No floating point support. • It’s on by default! • Potentially HUGE wins turning it off. Tuesday, March 3, 2009
  • 59. Floating Point Tuesday, March 3, 2009
  • 60. Floating Point • The VFP stands for “vector” Tuesday, March 3, 2009
  • 61. Floating Point • The VFP stands for “vector” • Work on up to four 32-bit floating point numbers at once. Tuesday, March 3, 2009
  • 62. Floating Point • The VFP stands for “vector” • Work on up to four 32-bit floating point numbers at once. • The compiler won’t help you though. Tuesday, March 3, 2009
  • 63. Floating Point • The VFP stands for “vector” • Work on up to four 32-bit floating point numbers at once. • The compiler won’t help you though. • See the vfpmath library in Google Code Tuesday, March 3, 2009
  • 64. Memory Tuesday, March 3, 2009
  • 65. Memory • 128 MB RAM Tuesday, March 3, 2009
  • 66. Memory • 128 MB RAM • 11 MB for video Tuesday, March 3, 2009
  • 67. Memory • 128 MB RAM • 11 MB for video • System can use most of the RAM! Tuesday, March 3, 2009
  • 68. Memory • 128 MB RAM • 11 MB for video • System can use most of the RAM! Video 11 Your app 15 OS 102 Tuesday, March 3, 2009
  • 69. Graphics Tuesday, March 3, 2009
  • 70. Graphics • 320x480 resolution Tuesday, March 3, 2009
  • 71. Graphics • 320x480 resolution • OpenGL ES 1.1 API + a few extensions Tuesday, March 3, 2009
  • 72. Graphics • 320x480 resolution • OpenGL ES 1.1 API + a few extensions • OpenGL great for 3D but also 2D games with need for performance. Tuesday, March 3, 2009
  • 73. Graphics Hardware Tuesday, March 3, 2009
  • 74. Graphics Hardware • PowerVR MBX Lite: Texturing and rasterization Tuesday, March 3, 2009
  • 75. Graphics Hardware • PowerVR MBX Lite: Texturing and rasterization • PowerVR VGP Lite: Vertex processing. Tuesday, March 3, 2009
  • 76. Graphics Hardware • PowerVR MBX Lite: Texturing and rasterization • PowerVR VGP Lite: Vertex processing. • No shaders! Tuesday, March 3, 2009
  • 77. Graphics Hardware • PowerVR MBX Lite: Texturing and rasterization • PowerVR VGP Lite: Vertex processing. • No shaders! • Tile-based Tuesday, March 3, 2009
  • 78. Graphics Hardware Tuesday, March 3, 2009
  • 79. Graphics Hardware • Triangles per second: 500K/sec (16K polys per frame at 30fps) Tuesday, March 3, 2009
  • 80. Graphics Hardware • Triangles per second: 500K/sec (16K polys per frame at 30fps) • Fill rate: 25 million pixel per second (5.4 screen redraws per frame at 30fps) Tuesday, March 3, 2009
  • 81. OpenGL ES Extensions Tuesday, March 3, 2009
  • 82. OpenGL ES Extensions • Frame buffer objects Tuesday, March 3, 2009
  • 83. OpenGL ES Extensions • Frame buffer objects • Memory mapped vertex buffers Tuesday, March 3, 2009
  • 84. OpenGL ES Extensions • Frame buffer objects • Memory mapped vertex buffers • Point sprites Tuesday, March 3, 2009
  • 85. OpenGL ES Extensions • Frame buffer objects • Memory mapped vertex buffers • Point sprites • PVRTC texture format Tuesday, March 3, 2009
  • 86. OpenGL ES Extensions • Frame buffer objects 1 #define GL_EXT_texture_filter_anisotropic 1 #define GL_EXT_texture_lod_bias #define GL_IMG_read_format 1 • 1 #define GL_IMG_texture_compression_pvrtc Memory mapped vertex 1 #define GL_IMG_texture_format_BGRA8888 buffers 1 #define GL_OES_blend_subtract 1 #define GL_OES_depth24 #define GL_OES_framebuffer_object 1 • Point sprites 1 #define GL_OES_mapbuffer 1 #define GL_OES_rgb8_rgba8 1 #define GL_OES_texture_mirrored_repeat • PVRTC texture format Tuesday, March 3, 2009
  • 87. Texture Combiners Tuesday, March 3, 2009
  • 88. Texture Combiners • Two texture units Tuesday, March 3, 2009
  • 89. Texture Combiners • Two texture units • Multi-texturing Tuesday, March 3, 2009
  • 90. Texture Combiners • Two texture units • Multi-texturing • Per-pixel lighting Tuesday, March 3, 2009
  • 91. Texture Combiners • Two texture units • Multi-texturing • Per-pixel lighting • Many interesting effects Tuesday, March 3, 2009
  • 92. OpenGL And UIKit Tuesday, March 3, 2009
  • 93. OpenGL And UIKit • They mix, but not perfectly Tuesday, March 3, 2009
  • 94. OpenGL And UIKit • They mix, but not perfectly • UIKit on top of OpenGL can cause performance issues Tuesday, March 3, 2009
  • 95. OpenGL And UIKit • They mix, but not perfectly • UIKit on top of OpenGL can cause performance issues • Can have OpenGL views in a regular app Tuesday, March 3, 2009
  • 96. OpenGL And UIKit • They mix, but not perfectly • UIKit on top of OpenGL can cause performance issues • Can have OpenGL views in a regular app • Multiple OpenGL views possible too. Tuesday, March 3, 2009
  • 97. OpenGL And UIKit • They mix, but not perfectly • UIKit on top of OpenGL can cause performance issues • Can have OpenGL views in a regular app • Multiple OpenGL views possible too. Tuesday, March 3, 2009
  • 98. Audio Tuesday, March 3, 2009
  • 99. Audio • Several APIs: OpenAL, Audio Sessions, or AVAudioPlayer (2.2 SDK) Tuesday, March 3, 2009
  • 100. Audio • Several APIs: OpenAL, Audio Sessions, or AVAudioPlayer (2.2 SDK) • Custom music is huge. Let people play their tunes. Tuesday, March 3, 2009
  • 101. Comparison Tuesday, March 3, 2009
  • 102. Comparison Tuesday, March 3, 2009
  • 103. Comparison Tuesday, March 3, 2009
  • 104. Comparison Tuesday, March 3, 2009
  • 105. Why We iPhone PSN Flash PC Consoles Phones iPhone XBLA Short timeframes x ? x x Small budgets x ? x x Unified platform x x x x Powerful hardware ? x x x Great tools x x x x x Large audience x x x x x Easy payments x x x Direct access to users x x x Development access x x x Tuesday, March 3, 2009
  • 106. Tuesday, March 3, 2009
  • 107. Part II: Developing Games Tuesday, March 3, 2009
  • 108. Asset Pipeline Tuesday, March 3, 2009
  • 109. Asset Pipeline • Huge deal in large teams Tuesday, March 3, 2009
  • 110. Asset Pipeline • Huge deal in large teams • Not as much of a big deal for a single developer (or small team) Tuesday, March 3, 2009
  • 111. Asset Pipeline • Huge deal in large teams • Not as much of a big deal for a single developer (or small team) • Put whatever assets in XCode and let it bundle it with the rest of the app. Tuesday, March 3, 2009
  • 112. Asset Pipeline Tuesday, March 3, 2009
  • 113. Asset Pipeline • If you have some dedicated artists, or especially contractors, they need to run XCode to see new content. Tuesday, March 3, 2009
  • 114. Asset Pipeline • If you have some dedicated artists, or especially contractors, they need to run XCode to see new content. • Set up a small web server locally (simple python script) and have the app try to load from there first. Tuesday, March 3, 2009
  • 115. Baking resources Tuesday, March 3, 2009
  • 116. Baking resources • You want to bake resources to their final format for fast load times. Tuesday, March 3, 2009
  • 117. Baking resources • You want to bake resources to their final format for fast load times. • Textures: texturetool Tuesday, March 3, 2009
  • 118. Baking resources • You want to bake resources to their final format for fast load times. • Textures: texturetool • Sound: afconvert Tuesday, March 3, 2009
  • 119. Baking resources • You want to bake resources to their final format for fast load times. • Textures: texturetool • Sound: afconvert • 3D models:You’re on your own Tuesday, March 3, 2009
  • 120. Assets Tuesday, March 3, 2009
  • 121. Assets • iPhone games have much smaller asset sizes than current PC/console games. Tuesday, March 3, 2009
  • 122. Assets • iPhone games have much smaller asset sizes than current PC/console games. • Most iPhone games are under 30MB. DVD- based games fill up all 8GB. Tuesday, March 3, 2009
  • 123. Assets • iPhone games have much smaller asset sizes than current PC/console games. • Most iPhone games are under 30MB. DVD- based games fill up all 8GB. • Source assets probably add up to 200-300MB. Makes asset management and version control a lot simpler. Tuesday, March 3, 2009
  • 124. Data-Driven Games Tuesday, March 3, 2009
  • 125. Data-Driven Games • AAA games with huge teams are almost fully data driven. Tuesday, March 3, 2009
  • 126. Data-Driven Games • AAA games with huge teams are almost fully data driven. • HUGE amount of overhead in terms of performance, work, and complexity! Tuesday, March 3, 2009
  • 127. Data-Driven Games • AAA games with huge teams are almost fully data driven. • HUGE amount of overhead in terms of performance, work, and complexity! • Makes sense with 30 programmers and 150 content creators. Tuesday, March 3, 2009
  • 128. Tuesday, March 3, 2009
  • 129. Data-Driven Games Tuesday, March 3, 2009
  • 130. Data-Driven Games • With small iPhone games, not so much. Tuesday, March 3, 2009
  • 131. Data-Driven Games • With small iPhone games, not so much. • Fast build times, so changing data is easy. Tuesday, March 3, 2009
  • 132. Data-Driven Games • With small iPhone games, not so much. • Fast build times, so changing data is easy. • Expose assets, simple variables, level layout. Tuesday, March 3, 2009
  • 133. Tuesday, March 3, 2009
  • 134. Tuesday, March 3, 2009
  • 135. More Than Programming Tuesday, March 3, 2009
  • 136. More Than Programming • Programming is only part of it.You wear many hats! Tuesday, March 3, 2009
  • 137. More Than Programming • Programming is only part of it.You wear many hats! • Designer, of course but also... Tuesday, March 3, 2009
  • 138. More Than Programming • Programming is only part of it.You wear many hats! • Designer, of course but also... • Public relations, producer, testing coordinator, contractor manager, content creator, web developer, video editor, etc, etc. Tuesday, March 3, 2009
  • 139. Content Creation Tuesday, March 3, 2009
  • 140. Content Creation • Most projects need multiple people for content creation: UI elements, textures, models, animations, audio. Tuesday, March 3, 2009
  • 141. Content Creation • Most projects need multiple people for content creation: UI elements, textures, models, animations, audio. • Contracting works well for some of the content. Tuesday, March 3, 2009
  • 142. Tuesday, March 3, 2009
  • 143. PR Tuesday, March 3, 2009
  • 144. PR • Creating a great app is half the battle. Tuesday, March 3, 2009
  • 145. PR • Creating a great app is half the battle. • PR is the other half. Tuesday, March 3, 2009
  • 146. PR • Creating a great app is half the battle. • PR is the other half. • Extremely time consuming and hard to do effectively. Tuesday, March 3, 2009
  • 147. PR • Creating a great app is half the battle. • PR is the other half. • Extremely time consuming and hard to do effectively. • Build grass-roots support. Add viral components to your app. Tuesday, March 3, 2009
  • 148. PR • Creating a great app is half the battle. • PR is the other half. • Extremely time consuming and hard to do effectively. • Build grass-roots support. Add viral components to your app. • Good reason to use a publisher. Tuesday, March 3, 2009
  • 149. Part III: The Future Tuesday, March 3, 2009
  • 150. Tuesday, March 3, 2009
  • 151. Tuesday, March 3, 2009
  • 152. Tuesday, March 3, 2009
  • 153. Tuesday, March 3, 2009
  • 154. Tuesday, March 3, 2009
  • 155. • The big guys are coming to play. Tuesday, March 3, 2009
  • 156. • The big guys are coming to play. • They’ll be able to throw many more resources and make a difference. Tuesday, March 3, 2009
  • 157. Tuesday, March 3, 2009
  • 158. • Rumours of a premium App Store area. Tuesday, March 3, 2009
  • 159. • Rumours of a premium App Store area. • Big companies + big games = Bigger price tags Tuesday, March 3, 2009
  • 160. • Rumours of a premium App Store area. • Big companies + big games = Bigger price tags • What will it mean for us indies? Tuesday, March 3, 2009
  • 161. Tuesday, March 3, 2009
  • 162. 15+ million iPhones and growing Tuesday, March 3, 2009
  • 163. Tuesday, March 3, 2009
  • 164. Tuesday, March 3, 2009
  • 165. Thank you! Tuesday, March 3, 2009
  • 166. Questions? Noel Llopis noel@snappytouch.com Snappy Touch Tuesday, March 3, 2009
  • 167. Questions? Slides will be available from my blog Games from Within (http://gamesfromwithin.com) Noel Llopis noel@snappytouch.com Snappy Touch Tuesday, March 3, 2009