Multiplatform Development Benjamin Nitschke CTO Delta Engine & exDream & MobileBits MobileBits GmbH MobileBits GmbH Lerchenstrasse 28 22767 Hamburg [email protected].
Download ReportTranscript Multiplatform Development Benjamin Nitschke CTO Delta Engine & exDream & MobileBits MobileBits GmbH MobileBits GmbH Lerchenstrasse 28 22767 Hamburg [email protected].
Multiplatform Development Benjamin Nitschke
CTO Delta Engine & exDream & MobileBits
MobileBits GmbH
MobileBits GmbH Lerchenstrasse 28 22767 Hamburg [email protected]
Who is MobileBits?
• Founded 2009 by Holtz, Griga, Nitschke & Wysk • Focus on Mobile Games • Developed many smaller Mobile Games • iSkat, ZombieParty, FlightSchool, Ewe Doodle, ..
• Also is developing
www.DeltaEngine.net
• Allows developing games and apps in Windows • Deploys with one click on many platforms: • iPhone, iPad, Android, WP7, Xbox 360, Windows, MacOS, Linux, and many more
2
Who is MobileBits?
• Same team as exDream, known 10+ years for:
• Twork (1997), WebWars (2000) • Rosho: Games for Kids (2001) • EuroVernichter (.NET, 2003) • Arena Wars (RTS, first commercial .NET game, 2004) • Armies of Steel (Prototype, RTS, 2005) • Rocket Commander (Open Source, 2005) • XNA Racing Game (Xbox 360, first XNA game, 2006) • Arena Wars Reloaded (RTS, 2007) • Fireburst (PC, Xbox 360, PS3, UE3, 2009/2011) • ZombieParty (iPad Party Game, 2010) • SoulCraft (iPhone, Android, WP7, 2011) • Many smaller iPhone Games and other projects …
3
What is the Delta Engine?
• Developed to create games for all AppStore platforms at once • High quality 3D RPG game SoulCraft to demonstrate the capabilities and speed • MobileBits cooperates with companies like NVIDIA, EA, Chillingo, Microsoft, Bigpoint and more
4
What is the Delta Engine?
Develop with .NET for all AppStore platforms
No need to learn different and dated languages for different platforms such as iPhone, Android and WP7
Easy 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
Lightweight and fast
We did the hard work to optimize performance for all platforms - just include the parts you need for your game
Teamwork made easy
With our advanced content management system, editors for game designers and full support of all your favorite tools
Assets 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
6
4
Early version of the Soulcraft Tech Demo in January 2011 at the CES in Las Vegas with NVidia 7
Soulcraft Tech Demo
Demo Time!
8
ZombieParty runs already on many Platforms October 2010 9
Why Multiplatform?
• Past: Only Windows Game Development • Recent: Shift towards Consoles, iPhone • Present: One platform or all platforms • Most teams still focus on one platform • Or you need an engine to be on many platforms • Examples: • Unreal Engine 3 (Consoles) • Unity (mostly iPhone) • XNA Framework (mostly Xbox 360)
10
Why Multiplatform?
PC
2003
Consoles Mobile 31% 3% 66% PC 30% 17%
2009
Consoles Mobile 53% 57% PC
2011
Consoles Mobile 23% 20%
11
Why Multiplatform?
• •
Why not just develop iPhone Games?
Mobile game market is shifting towards Android and WP7 And growing on all platforms and devices (e.g. tablets this year) Most apps are games (iPhone, Android, WP7), but usually costs only 99 cents.
Sell many apps on many platforms!
10 bn USD (2015) 1 bn USD (2009) 12
Why is our engine different?
• Most other engines are either: • Black boxes (Unity, UDK, Editors, Modding) • Just graphic frameworks for specific platforms (DirectX, XNA, OpenGL ES) • Or huge native code engines with high license costs (only suitable for big teams: Unreal, CryEngine, etc) • We like .NET, it allows more rapid development!
• Only recently possible on all platforms • Xbox 360, WP7, Windows -> Microsoft • iPhone, Android, Linux, Mac -> Novell
13
Platforms and Languages
• Most platforms have specific frameworks and usually only support 1-2 languages well: •
iPhone
: Objective-C (not very pretty) •
Android
: Java (lots of config files, can compile C too) •
Windows Phone 7
: Only C# (Silverlight or XNA) •
Xbox 360
: Native C++ (XDK, or C# with XNA, Xbla) •
PS3, Wii
: C++ (have their own frameworks, ES) •
Linux
: Mostly C++ (gcc), Java, also .NET (Mono) •
MacOS
: Objective C and C++ mostly •
Windows
can do everything (.NET, Java, Scripts, …)
14
C++ vs C# (setup graphics)
13
Open Source vs Proprietary
Unity3D: Closed Model
Game Code Game Assets Unity Editor Unity Engine Modules & Features (not customizable) Black Boxes (Closed)
Delta Engine: Open Model
Game Code Game Assets Delta Engine Framework Delta Engine Modules Third Party Engine Modules Custom Modules Customizable (Open)
16
Extremely Open Engine
• Source code available for free (starting July 2011) • Develop and publish your games on Windows • No costs for you!
• If you want to deploy on any other platform than Windows: • You need a Delta Engine Multiplatform license • Access to easy to use tools (Launcher, Simulators) • Which will be cheap or royalty based, no worries • One click deploy, fast and easy with the Launcher
17
Launcher Addin for VS
• Directly integrated into Visual Studio 2010 • Also available as Standalone App for Testers • Starts programs, games, tests, tutorials, samples on all supported devices • Also shows lots of information about your project (Tests, Assemblies, Todo-List, etc.)
e.g. Start Unit Tests 18
Content, Content, Content
• Today's games are mostly content driven • Especially on Consoles and PC • You usually have a powerful engine ready to go • Sharing content between games was almost impossible in the past, formats changed too often • The Delta Engine makes all content always available and will always work on all supported platforms
19
Content, Content, Content
• Example with XNA on Windows Phone 7 • Artist saves .png image file or 3D Model • Content pipeline converts all files to .xnb
• .xnb is the only format allowed for WP7 • Images are best stored as DDS files • XNA’s content pipeline does the conversion for you • 3D Models or Levels often need custom importers because of different needs
20
Content, Content, Content
Step 1
: Add Content file to Content Project
Step 2
: Load and use content in code
20
Content, Content, Content
• Many content files depend on each other usually • With the Delta Engine it works very similar and on all platforms, content is just not needed at compile time!
• Things get more complex if you add more platforms
20
Content, Content, Content
• When testing on Windows needs 1-2 files per content • Makes no sense to keep all formats for all platforms.
• 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) • So content is only converted when you actually need it and it has been changed (cache) • Content is processed on Servers in the Cloud (currently one server can handle everything, but this will be expanded as more demand is needed)
21
Content, Content, Content
• 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.
• Instead the build server decides all this and makes sure all content files work together, optimized as much as possible • Unused content is removed, Atlas textures are generated, content is optimized by the shaders used • 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)
22
Content, Content, Content
Example Atlas Textures (generated automatically, 2D & 3D)
23
Delta Engine Release
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
24
Thank you for your attention Benjamin Nitschke
CTO Delta Engine & exDream & MobileBits
MobileBits GmbH
MobileBits GmbH Lerchenstrasse 28 22767 Hamburg [email protected]