Multiplatform Development Benjamin Nitschke CTO Delta Engine & exDream & MobileBits [email_address] MobileBits GmbH Lerche...
Overview 2 <ul><li>Who is MobileBits? </li></ul><ul><li>Why Multiplatform? </li></ul><ul><li>Market Analysis </li></ul><ul...
Who is MobileBits? 2 <ul><li>Founded 2009 by Holtz, Griga, Nitschke & Wysk </li></ul><ul><li>Focus on Mobile Games </li></...
Who is MobileBits? 3 <ul><li>Same team as exDream, known 10+ years for: </li></ul><ul><ul><li>Twork (1997), WebWars (2000)...
4
4
Why Multiplatform? 10 <ul><li>Past: Start with Single Platform Game Development </li></ul><ul><li>Recent: Multiplatform Sh...
Why Multiplatform? 10 <ul><li>A game programmers life was hard in the past (1980) </li></ul><ul><ul><li>Writing programs i...
Why Multiplatform? 10 Commodore 64
Why Multiplatform? 10 Prince of Persia  (1989, first released on Apple II, then DOS, Amiga, Atari, etc.)
Why Multiplatform? 10 <ul><li>Windows dominated App-Development in the 90 th </li></ul><ul><ul><li>Games getting more comp...
Why Multiplatform? 10 Doom  (1993 on DOS, later ported to many platforms, including Linux, Mac OS, Amiga, Xbox, iPhone, et...
Why Multiplatform? 10 Fury3 (1996, on of the first DirectX Windows games), based on a popular DOS game Terminal Velocity
Why Multiplatform? 10 <ul><li>2000-2010: Development still dominated by Windows </li></ul><ul><ul><li>Consoles are getting...
Why Multiplatform? 10 2004 many great PC games came out that were the foundation for many nowadays popular game engines: H...
Why Multiplatform? 10 <ul><li>Most of the time small teams could focus on one platform </li></ul><ul><ul><li>In the 80 th ...
Why Multiplatform? 10 Angry Birds (2009, one of many very successful iPhone games, was ported to many other platforms later)
Why Multiplatform? 10 <ul><li>By now you should have noticed a trend: </li></ul><ul><ul><li>All those games were only deve...
Market Analysis 11
Market Analysis 12 1 bn USD (2009) 10 bn USD (2015) <ul><li>Why not just develop iPhone Games? </li></ul><ul><li>Mobile ga...
9 2010 Developer Distribution 2015 Developer Distribution ca. 80%  development under  Windows Most developers will still w...
Market Analysis 12 Mobile Platforms are a pretty good target platform for games: The popularity of mobile games has increa...
Engine Comparison 13 <ul><li>These days lots of Multiplatform Engines are available: </li></ul><ul><ul><li>Unreal3 (Consol...
Engine Comparison 13 <ul><li>Most other engines are either: </li></ul><ul><ul><li>Black boxes (Unity, UDK, Editors, Moddin...
Engine Comparison 14 <ul><li>Most platforms have specific frameworks and usually only support 1-2 languages well: </li></u...
Engine Comparison 14 <ul><li>Unreal 3 Engine/UDK </li></ul><ul><ul><li>Targeted to big teams </li></ul></ul><ul><ul><li>He...
Engine Comparison 14 <ul><li>CryEngine 1 was FarCry (2004) </li></ul><ul><li>CryEngine 2 was Crysis (2007) and used in a f...
Engine Comparison 14 <ul><li>Unity3D </li></ul><ul><ul><li>Mac oriented engine </li></ul></ul><ul><ul><li>Editor based </l...
Mobile Development 14 Mobile Development is challenging (10 quick examples)
Mobile Development 14 Mobile Development is challenging (1/10) You need a lot of actual devices to test
Mobile Development 14 Mobile Development is challenging (2/10) Different Programming Languages, Different Challenges
Mobile Development 14 Mobile Development is challenging (3/10) <ul><li>Different Frameworks, Libraries, Engines </li></ul>...
Mobile Development 14 Mobile Development is challenging (4/10) <ul><li>Write game natively or use a engine? </li></ul><ul>...
Mobile Development 14 Mobile Development is challenging (5/10) Different device capabilities = Different file formats
Mobile Development 14 Mobile Development is challenging (6/10) <ul><li>Many devices have different resolutions </li></ul><...
Mobile Development 14 Mobile Development is challenging (7/10) <ul><li>How to get big content on small devices? </li></ul>...
Mobile Development 14 Mobile Development is challenging (8/10) <ul><li>Often existing games need to be ported </li></ul><u...
Mobile Development 14 Mobile Development is challenging (9/10) <ul><li>Compiling game source code and/or content can be ve...
Mobile Development 14 Mobile Development is challenging (10/10) <ul><li>Optimizing complex games is very important </li></...
Example Game 14 <ul><li>Blocks Game (in just 40 lines of code) </li></ul><ul><ul><li>Written as a sample game for an artic...
Example Game 14 <ul><li>WP7 Version is about 200 lines of code </li></ul>
Example Game 14 <ul><li>Android Java Example code from a different game </li></ul>
Example Game 14 <ul><li>Objective-C is even more complex and verbose </li></ul><ul><ul><li>Even drawing a simple box with ...
Example Game 14 <ul><li>We as game developers tried out both options </li></ul><ul><ul><li>Using game engines was good and...
Delta Engine 14 <ul><li>The blocks game is just 40 lines of code with the Delta Engine (no tools or features used), with c...
Delta Engine 14 Full source code with comments for the example game: Blocks
C++ vs C# (setup graphics) 13
Open Source vs Proprietary 16 Unity Editor Game Code Game Assets Unity Engine Modules & Features (not customizable) Unity3...
Extremely Open Engine 17 <ul><li>Source code available for free (starting July 2011) </li></ul><ul><li>Develop and publish...
Launcher Addin for VS 18 e.g. Start Unit Tests <ul><li>Directly integrated into Visual Studio 2010 </li></ul><ul><li>Also ...
Content, Content, Content 19 <ul><li>Today's games are mostly content driven </li></ul><ul><ul><li>Especially on Consoles ...
Content, Content, Content 20 <ul><li>Example with XNA on Windows Phone 7 </li></ul><ul><ul><li>Artist saves .png image fil...
Content, Content, Content 20 <ul><li>Step 1 : Add Content file to Content Project </li></ul><ul><li>Step 2 : Load and use ...
Content, Content, Content 20 <ul><li>Many content files depend on each other usually </li></ul><ul><li>With the Delta Engi...
Content, Content, Content 21 <ul><li>When testing on Windows needs 1-2 files per content </li></ul><ul><li>Makes no sense ...
Content, Content, Content 22 <ul><li>Content is always automatically requested and build, there is no button to do it and ...
Content, Content, Content 23 Example Atlas Textures (generated automatically, 2D & 3D)
<ul><li>Developed to create games for all AppStore platforms at once </li></ul><ul><li>High quality 3D RPG game SoulCraft ...
6 What is the Delta Engine? D evelop with .NET for all AppStore platforms  No need to learn different and dated languages ...
Early version of the Soulcraft Tech Demo in January 2011  at the CES in Las Vegas with NVidia 7
ZombieParty runs already on many Platforms 9 October 2010
Delta Engine Release 24 Questions? I hope you liked the presentation and the Engine. Delta Engine Release July 2011  (v0.9...
Multiplatform Development Benjamin Nitschke CTO Delta Engine & exDream & MobileBits [email_address] MobileBits GmbH Lerche...
Upcoming SlideShare
Loading in …5
×

Delta Engine Multiplatform Development Presentation 2011-05

29,465 views

Published on

Delta Engine Multiplatform Presentation of the Quo Vadis conference in May 2011. Also contains Market Research and Engine comparison data and some source code fun stuff.

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
29,465
On SlideShare
0
From Embeds
0
Number of Embeds
26,090
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide
  • Welcome, this talk is not about coding. It just gives an general overview to multiplatform game development and our solution to it, the Delta Engine.
  • http://en.wikipedia.org/wiki/Prince_of_Persia_%281989_video_game%29
  • http://en.wikipedia.org/wiki/Versions_and_ports_of_Doom
  • http://en.wikipedia.org/wiki/Fury3
  • http://en.wikipedia.org/wiki/Half-Life_%28video_game%29 http://en.wikipedia.org/wiki/Far_cry http://en.wikipedia.org/wiki/Doom_3 http://en.wikipedia.org/wiki/Unreal_Tournament
  • http://en.wikipedia.org/wiki/Fury3
  • http://en.wikipedia.org/wiki/Fury3
  • http://www.gadgetsandgizmos.org/mobile-phone-gamings-55-market-share-increases-recycling/ http://news.softpedia.com/news/PopCap-Study-Shows-Mobile-Gaming-as-Surpassing-Consoles-and-PC-186832.shtml
  • Source: http://gigaom.com/2009/08/27/how-big-is-apple-iphone-app-economy-the-answer-might-surprise-you/ with 50% games for iPhone alone (+Android) and own estimates Note 2011: Nokia and Microsoft are now working together with WP7, so they should be the same color in 2015 ^^ http://www.unwiredview.com/wp-content/uploads/2011/01/Windows-Phone-7-Marketplace-6000-apps-1.jpg
  • Source: http://gigaom.com/2009/08/27/how-big-is-apple-iphone-app-economy-the-answer-might-surprise-you/ with 50% games for iPhone alone (+Android) and own estimates Note 2011: Nokia and Microsoft are now working together with WP7, so they should be the same color in 2015 ^^ http://www.unwiredview.com/wp-content/uploads/2011/01/Windows-Phone-7-Marketplace-6000-apps-1.jpg
  • http://en.wikipedia.org/wiki/Mobile_game
  • http://en.wikipedia.org/wiki/List_of_game_engines
  • Why not Java (only Android, had perf. problems in the beginning) or Scripting languages (way too slow, you still need some engine underneath)
  • - Die Unterschiedlichen Sprachen auf den jeweiligen Platformen (Objective-C auf dem iPhone, Java auf Android Geräten, C# auf Windows Phone 7, C++ bei PC und Consolen Spielen).
  • So many tools, converters and other internal stuff we build involved, this is the biggest part of our engine! Most other engines consists of 80% graphics code, we got plently more (1 Year development and &gt;600k lines of code and counting, probably close to 1 million lines of code by v1.0). - For example no other engine supports any XNA platform because their content processor is not compatible with any engine, except ours of course, we run fine on WP7, Xbox 360 and Windows with XNA. - Each game developer can choose if he wants to have his content private or share it with others. We will share most of our game code and content for others to see the huge benefits. - Prototyping is very easy with lots of content (currently we only have some 2D game and tech demo content, but more will be added soon)
  • See http://DeltaEngine.net and http://MobileBits.de blog for demo videos and screenshots! Especially: http://www.mobilebits.de/Blog/post/2011/02/14/Soulcraft-Tech-Demo-Update-for-the-MWC-2011.aspx
  • Released October 2010
  • So many tools, converters and other internal stuff we build involved, this is the biggest part of our engine! Most other engines consists of 80% graphics code, we got plently more (1 Year development and &gt;600k lines of code and counting, probably close to 1 million lines of code by v1.0). - For example no other engine supports any XNA platform because their content processor is not compatible with any engine, except ours of course, we run fine on WP7, Xbox 360 and Windows with XNA. - Each game developer can choose if he wants to have his content private or share it with others. We will share most of our game code and content for others to see the huge benefits. - Prototyping is very easy with lots of content (currently we only have some 2D game and tech demo content, but more will be added soon)
  • Delta Engine Multiplatform Development Presentation 2011-05

    1. 1. Multiplatform Development Benjamin Nitschke CTO Delta Engine & exDream & MobileBits [email_address] MobileBits GmbH Lerchenstrasse 28 22767 Hamburg exDream GmbH Hildesheimer Str. 35 30169 Hannover MobileBits GmbH
    2. 2. Overview 2 <ul><li>Who is MobileBits? </li></ul><ul><li>Why Multiplatform? </li></ul><ul><li>Market Analysis </li></ul><ul><li>Engine Comparison </li></ul><ul><li>Mobile Development is challenging </li></ul><ul><li>Example Game on iPhone, Android, WP7 </li></ul><ul><li>Our Solution: The Delta Engine </li></ul>
    3. 3. Who is MobileBits? 2 <ul><li>Founded 2009 by Holtz, Griga, Nitschke & Wysk </li></ul><ul><li>Focus on Mobile Games </li></ul><ul><li>Developed many smaller Mobile Games </li></ul><ul><ul><li>iSkat, ZombieParty, FlightSchool, Ewe Doodle, .. </li></ul></ul><ul><li>Also is developing www.DeltaEngine.net </li></ul><ul><ul><li>Allows developing games and apps in Windows </li></ul></ul><ul><ul><li>Deploys with one click on many platforms: </li></ul></ul><ul><ul><li>iPhone, iPad, Android, WP7, Xbox 360, Windows, MacOS, Linux, and many more </li></ul></ul>
    4. 4. Who is MobileBits? 3 <ul><li>Same team as exDream, known 10+ years for: </li></ul><ul><ul><li>Twork (1997), WebWars (2000) </li></ul></ul><ul><ul><li>Rosho: Games for Kids (2001) </li></ul></ul><ul><ul><li>EuroVernichter (.NET, 2003) </li></ul></ul><ul><ul><li>Arena Wars (RTS, first commercial .NET game, 2004) </li></ul></ul><ul><ul><li>Armies of Steel (Prototype, RTS, 2005) </li></ul></ul><ul><ul><li>Rocket Commander (Open Source, 2005) </li></ul></ul><ul><ul><li>XNA Racing Game (Xbox 360, first XNA game, 2006) </li></ul></ul><ul><ul><li>Arena Wars Reloaded (RTS, 2007) </li></ul></ul><ul><ul><li>Fireburst (PC, Xbox 360, PS3, UE3, 2009/2011) </li></ul></ul><ul><ul><li>ZombieParty (iPad Party Game, 2010) </li></ul></ul><ul><ul><li>SoulCraft (iPhone, Android, WP7, 2011) </li></ul></ul><ul><ul><li>Many smaller iPhone Games and other projects … </li></ul></ul>
    5. 5. 4
    6. 6. 4
    7. 7. Why Multiplatform? 10 <ul><li>Past: Start with Single Platform Game Development </li></ul><ul><li>Recent: Multiplatform Shift on Consoles, Web, iOS </li></ul><ul><li>Present: One platform or all platforms </li></ul><ul><ul><li>Most teams still focus on one platform </li></ul></ul><ul><ul><ul><li>Successful games are often rewritten on other platforms, but only exceptional games </li></ul></ul></ul><ul><ul><li>Or you need an engine to be on many platforms: </li></ul></ul><ul><ul><ul><li>Unreal Engine 3 (Consoles) </li></ul></ul></ul><ul><ul><ul><li>Unity (mostly iPhone) </li></ul></ul></ul><ul><ul><ul><li>More examples later </li></ul></ul></ul>
    8. 8. Why Multiplatform? 10 <ul><li>A game programmers life was hard in the past (1980) </li></ul><ul><ul><li>Writing programs in low level languages </li></ul></ul><ul><ul><li>Hardware was slow as hell </li></ul></ul><ul><ul><li>Good performance was only possible in a very low level and it is heavily hardware dependant </li></ul></ul><ul><ul><li>Usually no good tools around </li></ul></ul><ul><ul><li>Everyone build their own engine, tools and libraries </li></ul></ul><ul><ul><li>Software was simplistic (because of all this) </li></ul></ul><ul><li>Consoles and Handheld devices were not different, programmed on a very low level by very few </li></ul>
    9. 9. Why Multiplatform? 10 Commodore 64
    10. 10. Why Multiplatform? 10 Prince of Persia (1989, first released on Apple II, then DOS, Amiga, Atari, etc.)
    11. 11. Why Multiplatform? 10 <ul><li>Windows dominated App-Development in the 90 th </li></ul><ul><ul><li>Games getting more complex (RTS, Shooters) </li></ul></ul><ul><ul><li>Libraries and better tools emerge </li></ul></ul><ul><ul><ul><li>DOS: Still very direct, most games still have to write their own drivers, VGA games mostly </li></ul></ul></ul><ul><ul><ul><li>Windows: Getting very popular for game programmers due DirectX , also OpenGL and many emerging tools, libraries and frameworks </li></ul></ul></ul><ul><ul><li>Visual Studio still today the de facto standard </li></ul></ul><ul><li>There is also Consoles, but only few develop for them </li></ul>
    12. 12. Why Multiplatform? 10 Doom (1993 on DOS, later ported to many platforms, including Linux, Mac OS, Amiga, Xbox, iPhone, etc.)
    13. 13. Why Multiplatform? 10 Fury3 (1996, on of the first DirectX Windows games), based on a popular DOS game Terminal Velocity
    14. 14. Why Multiplatform? 10 <ul><li>2000-2010: Development still dominated by Windows </li></ul><ul><ul><li>Consoles are getting more popular (Xbox, Xbox 360, PlayStation 2, PlayStation 3, Wii, etc.) </li></ul></ul><ul><ul><li>Games are also getting much more popular </li></ul></ul><ul><ul><li>Complexity goes crazy, teams grow in the hundreds </li></ul></ul><ul><ul><li>Lots of frameworks, libraries, tools and engines </li></ul></ul><ul><ul><ul><li>Quake3 engine dominated early in 20 th </li></ul></ul></ul><ul><ul><ul><li>Halflife game and engine also very successful </li></ul></ul></ul><ul><ul><ul><li>Unreal3 dominated late in 20 th </li></ul></ul></ul><ul><ul><ul><li>Many other engines and frameworks </li></ul></ul></ul>
    15. 15. Why Multiplatform? 10 2004 many great PC games came out that were the foundation for many nowadays popular game engines: Halflife: Counter-Strike, Halflife1, Halflife 2, Left4Dead, Portal, Team Fortress, Garry's Mod, etc. Farcry: Farcry, Farcry 2, Crysis, Crysis 2 Doom & Quake: Many games in 1998-2004 used the Quake3 engine, not so many since then Unreal3 Engine: Unreal 2 was used a bit, but Unreal 3 a lot: Is currently the most successful PC and Console engine BTW: Unity3D was also started in 2001 and became usable around this time (2005) ^^
    16. 16. Why Multiplatform? 10 <ul><li>Most of the time small teams could focus on one platform </li></ul><ul><ul><li>In the 80 th you could focus on C64 or Amiga </li></ul></ul><ul><ul><li>In 1990 as a game developer DOS was most used </li></ul></ul><ul><ul><li>1995 Windows 95 and DirectX was a good choice </li></ul></ul><ul><ul><li>2000 Windows was a good choice for most teams </li></ul></ul><ul><ul><li>2005/2006 Many consoles came out, many developers would focus on one platform </li></ul></ul><ul><ul><li>2007/2008 iPhone came out, many focused on just iOS development and many simple apps were extremely successful in 2008 with Apples AppStore </li></ul></ul>
    17. 17. Why Multiplatform? 10 Angry Birds (2009, one of many very successful iPhone games, was ported to many other platforms later)
    18. 18. Why Multiplatform? 10 <ul><li>By now you should have noticed a trend: </li></ul><ul><ul><li>All those games were only developed for one platform </li></ul></ul><ul><ul><li>If your game is successful, it will be ported later </li></ul></ul><ul><ul><li>Not all games are this successful and have this luxury to make port later if the initial version is already selling </li></ul></ul><ul><li>There are also Multiplatform-Games from the start </li></ul><ul><ul><li>Those are mostly sequels or done by big teams </li></ul></ul><ul><li>This trend is changing a bit as many software giants provide multiple platforms: Apple with iOS (iPhone, iPad), Microsoft with XNA (Xbox 360, Windows, WP7) </li></ul>
    19. 19. Market Analysis 11
    20. 20. Market Analysis 12 1 bn USD (2009) 10 bn USD (2015) <ul><li>Why not just develop iPhone Games? </li></ul><ul><li>Mobile game market is shifting towards Android and WP7 </li></ul><ul><li>And growing on all platforms and devices (e.g. tablets this year) </li></ul><ul><li>Most apps are games (iPhone, Android, </li></ul><ul><li>WP7), but usually costs only 99 cents. </li></ul><ul><li>Sell many apps on many platforms! </li></ul>
    21. 21. 9 2010 Developer Distribution 2015 Developer Distribution ca. 80% development under Windows Most developers will still work in Windows or use tools or engines AppStore (iOS, Android,..) Consoles PC Consoles PC AppStore > 2 * AppStore developers needed Market Analysis
    22. 22. Market Analysis 12 Mobile Platforms are a pretty good target platform for games: The popularity of mobile games has increased in the 2000s, as over $3 billion USD worth of games were sold in 2007 internationally, and projected annual growth of over 40%. Ownership of a smartphone alone increases the likelihood that a consumer will play mobile games. Over 90% of smartphone users play a mobile game at least once a week. In recent years, there has been a move towards mobile games which are distributed free to the end user, but carry prominent, paid advertising. From: http://en.wikipedia.org/wiki/Mobile_game
    23. 23. Engine Comparison 13 <ul><li>These days lots of Multiplatform Engines are available: </li></ul><ul><ul><li>Unreal3 (Consoles, PC) </li></ul></ul><ul><ul><li>CryEngine (High Performance PCs) </li></ul></ul><ul><ul><li>Unity3D (Mobile, Mac, Web) </li></ul></ul><ul><ul><li>Torque (popular before Unity for Indies) </li></ul></ul><ul><ul><li>Many other possibilities: </li></ul></ul><ul><ul><ul><li>Vision Engine </li></ul></ul></ul><ul><ul><ul><li>Irrlicht </li></ul></ul></ul><ul><ul><ul><li>Ogre </li></ul></ul></ul><ul><ul><ul><li>Many proprietary and closed engines, etc. </li></ul></ul></ul>
    24. 24. Engine Comparison 13 <ul><li>Most other engines are either: </li></ul><ul><ul><li>Black boxes (Unity, UDK, Editors, Modding) </li></ul></ul><ul><ul><li>Just graphic frameworks for specific platforms (DirectX, XNA, OpenGL ES) </li></ul></ul><ul><ul><li>Or huge native code engines with high license costs (only suitable for big teams: Unreal, CryEngine, etc) </li></ul></ul><ul><li>We like .NET, it allows more rapid development! </li></ul><ul><ul><li>Only recently possible on all platforms </li></ul></ul><ul><ul><li>Xbox 360, WP7, Windows -> Microsoft </li></ul></ul><ul><ul><li>iPhone, Android, Linux, Mac -> Novell </li></ul></ul>
    25. 25. Engine Comparison 14 <ul><li>Most platforms have specific frameworks and usually only support 1-2 languages well: </li></ul><ul><ul><li>iPhone : Objective-C (not very pretty) </li></ul></ul><ul><ul><li>Android : Java (lots of config files, can compile C too) </li></ul></ul><ul><ul><li>Windows Phone 7 : Only C# (Silverlight or XNA) </li></ul></ul><ul><ul><li>Xbox 360 : Native C++ (XDK, or C# with XNA, Xbla) </li></ul></ul><ul><ul><li>PS3, Wii : C++ (have their own frameworks, ES) </li></ul></ul><ul><ul><li>Linux : Mostly C++ (gcc), Java, also .NET (Mono) </li></ul></ul><ul><ul><li>MacOS : Objective C and C++ mostly </li></ul></ul><ul><ul><li>Windows can do everything (.NET, Java, Scripts, …) </li></ul></ul>
    26. 26. Engine Comparison 14 <ul><li>Unreal 3 Engine/UDK </li></ul><ul><ul><li>Targeted to big teams </li></ul></ul><ul><ul><li>Heavily focused on Editor </li></ul></ul><ul><ul><li>Lots of tools and support for Artists </li></ul></ul><ul><ul><li>Unreal Script </li></ul></ul><ul><ul><li>With a license can be programmed natively (C++, Huge Code base) </li></ul></ul><ul><ul><li>Expensive, Complex, 15+ Years Old </li></ul></ul><ul><ul><li>PC, Xbox 360, PS3 </li></ul></ul><ul><ul><li>Recently iOS and Android too </li></ul></ul>
    27. 27. Engine Comparison 14 <ul><li>CryEngine 1 was FarCry (2004) </li></ul><ul><li>CryEngine 2 was Crysis (2007) and used in a few other games </li></ul><ul><li>CryEngine 3 is used in Crysis 2 (2011) </li></ul><ul><li>Focus on great visuals, shader heavy </li></ul><ul><li>Cool sandbox features </li></ul><ul><li>Struggling with low performance PCs </li></ul><ul><li>With a license can be programmed natively (C++, Huge Code base, Lua) </li></ul><ul><li>Expensive, Complex </li></ul>
    28. 28. Engine Comparison 14 <ul><li>Unity3D </li></ul><ul><ul><li>Mac oriented engine </li></ul></ul><ul><ul><li>Editor based </li></ul></ul><ul><ul><li>Scripting: C#, JS, Boo </li></ul></ul><ul><ul><li>No source code access </li></ul></ul><ul><ul><li>Huge community </li></ul></ul><ul><ul><li>Focused on small teams and individuals </li></ul></ul><ul><ul><li>Became very successful in the last few years </li></ul></ul><ul><ul><li>Huge community </li></ul></ul><ul><ul><li>Mac, Web, iOS, Wii, recently added Android </li></ul></ul>
    29. 29. Mobile Development 14 Mobile Development is challenging (10 quick examples)
    30. 30. Mobile Development 14 Mobile Development is challenging (1/10) You need a lot of actual devices to test
    31. 31. Mobile Development 14 Mobile Development is challenging (2/10) Different Programming Languages, Different Challenges
    32. 32. Mobile Development 14 Mobile Development is challenging (3/10) <ul><li>Different Frameworks, Libraries, Engines </li></ul><ul><ul><li>Often you will end up writing your own libraries </li></ul></ul><ul><ul><li>DirectX vs OpenGL </li></ul></ul><ul><ul><li>Physic Engines, which one is for you </li></ul></ul><ul><ul><li>Multimedia formats </li></ul></ul><ul><ul><li>Objective-C library not useful to a Java developer and vise versa </li></ul></ul>
    33. 33. Mobile Development 14 Mobile Development is challenging (4/10) <ul><li>Write game natively or use a engine? </li></ul><ul><ul><li>Early when a new platform comes out most games are written without engines </li></ul></ul><ul><ul><li>As games get more complex more and more libraries are needed </li></ul></ul><ul><ul><li>Many engines to choose from, each one has advantages and disadvantages: </li></ul></ul><ul><ul><li>Unity3D, Unreal3, Vision, Torque (GarageGames), XNA, Vision Engine, Delta Engine, etc. </li></ul></ul>
    34. 34. Mobile Development 14 Mobile Development is challenging (5/10) Different device capabilities = Different file formats
    35. 35. Mobile Development 14 Mobile Development is challenging (6/10) <ul><li>Many devices have different resolutions </li></ul><ul><ul><li>iPhone 2G, 3G, 3GS: 480x320 </li></ul></ul><ul><ul><li>iPad: 1024x768 </li></ul></ul><ul><ul><li>iPhone 4: 960x640 </li></ul></ul><ul><ul><li>Android: 320x240, 480x320, 640x320, 800x480, 864x480, 1024x600, 1280x720, and many more </li></ul></ul><ul><ul><li>WP7: 800x480 </li></ul></ul><ul><ul><li>PC, Xbox 360, PS3: 720p, 1080p, many more </li></ul></ul><ul><li>Aspect ratio can be 3:2, 16:9, 16:10, 5:4, 17:10, etc. </li></ul>
    36. 36. Mobile Development 14 Mobile Development is challenging (7/10) <ul><li>How to get big content on small devices? </li></ul><ul><ul><li>Xbox 360, PS3 is challenging with 256 MB Ram </li></ul></ul><ul><ul><li>iOS can have as little as 15MB left to work with </li></ul></ul><ul><ul><li>Even newer devices might only have 50-100MB of memory free to use. </li></ul></ul><ul><ul><li>Mobile devices are not build for multitasking </li></ul></ul><ul><ul><li>There is no swapping memory </li></ul></ul><ul><ul><li>Compression is key, keep content small </li></ul></ul><ul><ul><li>Swap out loaded content yourself (streaming, etc.) </li></ul></ul>
    37. 37. Mobile Development 14 Mobile Development is challenging (8/10) <ul><li>Often existing games need to be ported </li></ul><ul><ul><li>Web games run too slow, a native port is better </li></ul></ul><ul><ul><li>PC and Console games need a lot of rethinking </li></ul></ul><ul><ul><li>Handling input is challenging, devices were not really build for gaming </li></ul></ul>
    38. 38. Mobile Development 14 Mobile Development is challenging (9/10) <ul><li>Compiling game source code and/or content can be very time consuming </li></ul><ul><li>Deploying also needs time, testing is crucial, but if your build takes long times you have less time developing </li></ul><ul><li>Some tools are horrbily slow (PVR texture compression) </li></ul>
    39. 39. Mobile Development 14 Mobile Development is challenging (10/10) <ul><li>Optimizing complex games is very important </li></ul><ul><ul><li>Simple games can get away with messy code </li></ul></ul><ul><ul><li>Complex games MUST NOT leak memory or they become unmanageable and unplayable after a while </li></ul></ul><ul><ul><li>GPU is usually very slow (few instructions per pixel) </li></ul></ul><ul><ul><li>CPU is even worse, you can‘t really compare it to a desktop PC. Even multiple cores does not help you if your game code is slow. </li></ul></ul><ul><ul><li>Try to separate parts (physics, multimedia, logic, gfx) </li></ul></ul>
    40. 40. Example Game 14 <ul><li>Blocks Game (in just 40 lines of code) </li></ul><ul><ul><li>Written as a sample game for an article </li></ul></ul>
    41. 41. Example Game 14 <ul><li>WP7 Version is about 200 lines of code </li></ul>
    42. 42. Example Game 14 <ul><li>Android Java Example code from a different game </li></ul>
    43. 43. Example Game 14 <ul><li>Objective-C is even more complex and verbose </li></ul><ul><ul><li>Even drawing a simple box with OpenGL ES is many hundred lines of code </li></ul></ul>
    44. 44. Example Game 14 <ul><li>We as game developers tried out both options </li></ul><ul><ul><li>Using game engines was good and easy in the beginning, but very challenging later when extending </li></ul></ul><ul><ul><li>Writing games natively was hard in the beginning, but more extensible later </li></ul></ul><ul><ul><li>Major problem was always maintainance and tools </li></ul></ul><ul><li>Started in 2009 with the Delta Engine to solve this </li></ul><ul><ul><li>Delta Engine is a multiplatform engine in .NET </li></ul></ul><ul><ul><li>Idea was to port and deploy games with a single mouse click </li></ul></ul>
    45. 45. Delta Engine 14 <ul><li>The blocks game is just 40 lines of code with the Delta Engine (no tools or features used), with comments 60 lines </li></ul><ul><ul><li>Runs on all supported platforms (PC, Linux, MacOS, Consoles: Xbox 360, Mobile Devices: iPhone, iPad, Android, Tablets, WP7, more in the future) </li></ul></ul><ul><ul><li>Uses C# code, very similar to XNA </li></ul></ul><ul><ul><li>Resolution independant </li></ul></ul><ul><ul><li>1s compile time on Windows and for emulators, few seconds to minutes for a full deploy on other platforms </li></ul></ul><ul><ul><li>Automatically optimized and reduced for you </li></ul></ul>
    46. 46. Delta Engine 14 Full source code with comments for the example game: Blocks
    47. 47. C++ vs C# (setup graphics) 13
    48. 48. Open Source vs Proprietary 16 Unity Editor Game Code Game Assets Unity Engine Modules & Features (not customizable) Unity3D: Closed Model Delta Engine: Open Model Delta Engine Framework Game Code Game Assets Delta Engine Modules Third Party Engine Modules Custom Modules Black Boxes (Closed) Customizable (Open)
    49. 49. Extremely Open Engine 17 <ul><li>Source code available for free (starting July 2011) </li></ul><ul><li>Develop and publish your games on Windows </li></ul><ul><li>No costs for you! </li></ul><ul><li>If you want to deploy on any other platform than Windows: </li></ul><ul><ul><li>You need a Delta Engine Multiplatform license </li></ul></ul><ul><ul><li>Access to easy to use tools (Launcher, Simulators) </li></ul></ul><ul><ul><li>Which will be cheap or royalty based, no worries </li></ul></ul><ul><ul><li>One click deploy, fast and easy with the Launcher </li></ul></ul>
    50. 50. Launcher Addin for VS 18 e.g. Start Unit Tests <ul><li>Directly integrated into Visual Studio 2010 </li></ul><ul><li>Also available as Standalone App for Testers </li></ul><ul><li>Starts programs, games, tests, tutorials, samples on all supported devices </li></ul><ul><li>Also shows lots of information about your project (Tests, Assemblies, Todo-List, etc.) </li></ul>
    51. 51. Content, Content, Content 19 <ul><li>Today's games are mostly content driven </li></ul><ul><ul><li>Especially on Consoles and PC </li></ul></ul><ul><ul><li>You usually have a powerful engine ready to go </li></ul></ul><ul><li>Sharing content between games was almost impossible in the past, formats changed too often </li></ul><ul><li>The Delta Engine makes all content always available and will always work on all supported platforms </li></ul>
    52. 52. Content, Content, Content 20 <ul><li>Example with XNA on Windows Phone 7 </li></ul><ul><ul><li>Artist saves .png image file or 3D Model </li></ul></ul><ul><ul><li>Content pipeline converts all files to .xnb </li></ul></ul><ul><ul><li>.xnb is the only format allowed for WP7 </li></ul></ul><ul><li>Images are best stored as DDS files </li></ul><ul><ul><li>XNA’s content pipeline does the conversion for you </li></ul></ul><ul><ul><li>3D Models or Levels often need custom importers because of different needs </li></ul></ul>
    53. 53. Content, Content, Content 20 <ul><li>Step 1 : Add Content file to Content Project </li></ul><ul><li>Step 2 : Load and use content in code </li></ul>
    54. 54. Content, Content, Content 20 <ul><li>Many content files depend on each other usually </li></ul><ul><li>With the Delta Engine it works very similar and on all platforms, content is just not needed at compile time! </li></ul><ul><ul><li>Things get more complex if you add more platforms </li></ul></ul>
    55. 55. Content, Content, Content 21 <ul><li>When testing on Windows needs 1-2 files per content </li></ul><ul><li>Makes no sense to keep all formats for all platforms. </li></ul><ul><li>Converting formats takes time. For example a single 2048x2048 iPhone PVR Texture takes 30-40 seconds to save on really fast PC with 3.6Ghz (we got hundreds) </li></ul><ul><li>So content is only converted when you actually need it and it has been changed (cache) </li></ul><ul><li>Content is processed on Servers in the Cloud (currently one server can handle everything, but this will be expanded as more demand is needed) </li></ul>
    56. 56. Content, Content, Content 22 <ul><li>Content is always automatically requested and build, there is no button to do it and a human will make too many mistakes choosing options anyway. </li></ul><ul><li>Instead the build server decides all this and makes sure all content files work together, optimized as much as possible </li></ul><ul><ul><li>Unused content is removed, Atlas textures are generated, content is optimized by the shaders used </li></ul></ul><ul><li>Crazy compression rates of 100:1 and more, which is really required for mobile games (ZombieHockey 2.8MB on WP7, 6 MB iPhone, PC version is 40MB, uncompressed >120MB) </li></ul>
    57. 57. Content, Content, Content 23 Example Atlas Textures (generated automatically, 2D & 3D)
    58. 58. <ul><li>Developed to create games for all AppStore platforms at once </li></ul><ul><li>High quality 3D RPG game SoulCraft to demonstrate the capabilities and speed </li></ul><ul><li>MobileBits cooperates with companies like NVIDIA, EA, Chillingo, Microsoft, Bigpoint and more </li></ul>4 What is the Delta Engine?
    59. 59. 6 What is the Delta Engine? D evelop with .NET for all AppStore platforms No need to learn different and dated languages for different platforms such as iPhone, Android and WP7 E asy to learn and to build Use your favorite Windows-tools, check out our examples and just press the magic button to build for other platforms L ightweight and fast We did the hard work to optimize performance for all platforms - just include the parts you need for your game T eamwork made easy With our advanced content management system, editors for game designers and full support of all your favorite tools A ssets and code are Open Source The Delta Engine and our example games are Open Source and you are invited to participate or to integrate other libraries
    60. 60. Early version of the Soulcraft Tech Demo in January 2011 at the CES in Las Vegas with NVidia 7
    61. 61. ZombieParty runs already on many Platforms 9 October 2010
    62. 62. Delta Engine Release 24 Questions? I hope you liked the presentation and the Engine. Delta Engine Release July 2011 (v0.9) v1.0 coming end 2011 www.DeltaEngine.net Already working on Windows, MacOS, Linux, iPhone, iPad, Windows Phone 7, Android, Android Tablets, Nvidia Tegra, Xbox 360 and more soon 
    63. 63. Multiplatform Development Benjamin Nitschke CTO Delta Engine & exDream & MobileBits [email_address] MobileBits GmbH Lerchenstrasse 28 22767 Hamburg exDream GmbH Hildesheimer Str. 35 30169 Hannover MobileBits GmbH

    ×