Download - Multi-platform indie game development
![Page 1: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/1.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Multi-platform indie game development
Davide Coppola
Lowpoly Studios
All logos , images and trademarks are the property of the respective trademark owners
![Page 2: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/2.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Intro: the speaker
Graduated in Computer Science at Federico II (Naples, IT) - 2008 Master thesis was a GPGPU project about creation and erosion of heightmaps Coder for Curve Studios (London, UK) - 2008-2010 Started Lowpoly Studios working in his spare time (most of it) - 2009 Got crazy and decided to work full-time as Lowpoly Studios – 2010 Took part in Codemotion as speaker - 2011
![Page 3: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/3.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Intro: the company
Started in London in 2009 Main project still under development: The Undergrounder Made some experiments using Flash Created Flash games portal www.AskFlashGames.com Developing a secret project for the mobile market
![Page 4: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/4.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Intro: the talk
Part 1 Indie gamedev Philosophical marketing Commercial solutions Free/Open Source solutions Custom solutions
Part 2 Example: The Undergrounder Working environment Libraries and Frameworks Managing the code Future
![Page 7: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/7.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Why developing multi-platform?
More distribution channels Pretty simple from a technical point of view Pretty cheap (working for the desktop market) Why not?
![Page 8: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/8.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Why developing for Mac OS X?
In the 2009 the Mac market was a niche market, then...
![Page 9: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/9.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Why developing for Linux?
Niche market Catalyst for different markets Full availability of tool/framework More dedicated website Supporting the rising of the platform
![Page 10: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/10.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Commercial solutions
Engines: Torque, Unigine, Unity, … Professional products Documentation not always perfect High costs not affordable for all Controlled by productors and licenses
![Page 11: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/11.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
free/Open Source solutions
2D engines: Allegro, Clanib, Love, ... 3D engines: Crystal Space, Irrlitch, Ogre 3D, Panda 3D, … Multi-platform (desktop) Mostly oriented to rendering Long development times No commercial support
![Page 12: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/12.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Custom solutions
Made with your project in mind, so flexible No needs to learn new (third-party) thechnologies No fixed costs Less dependent on third party technologies Give you more experience Developing proprietary technology
![Page 13: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/13.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Proposed solution
Follows the Custom model C++ code Multi-platform: Windows, Mac, Linux Based on free/Open Source frameworks and libraries Custom, but be flexible...
![Page 14: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/14.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
A real example
http://www.the-undergrounder.com
![Page 15: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/15.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Hardware
Linux and Windows: PC Mac Os X: Mac mini Mac + Bootcamp? Virtualization: Virtual Box, Vmware, etc...? Optional: laptop and netbook
![Page 16: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/16.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Multi-platform working environment
Eclipse CDT Qt Creator
http://www.codeblocks.org http://qt.nokia.comhttp://www.eclipse.org/cdt/
Code::Blocks
![Page 17: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/17.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Working environment on Linux
Kdevelop
http://www.kdevelop.org
SCONS
http://www.scons.org
![Page 18: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/18.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Working environment on Mac
Xcode
http://developer.apple.com/technologies/tools/xcode.html
![Page 19: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/19.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Working environment on Windows
Visual Studio Express
http://www.microsoft.com/express/Windows/
MinGW
Cygwin
http://www.mingw.org
http://www.cygwin.com
![Page 20: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/20.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Managing multi-platform code
Some low level code may depend on the specific platform Compile different files for each platform Use pre-processor directives
void FrameTimer::Start(){
m_fElapsed = 0.f;
#ifdef WIN32QueryPerformanceCounter(&m_T1);
#elsegettimeofday(&m_TV1, NULL);
#endif}
![Page 21: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/21.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Coding for Windows
No changes needed when using MinGW + Cygwyn Some changes to low level system code when using VisualC++ Examples available on UNIX Application Migration Guide:
http://msdn.microsoft.com/en-us/library/ms811903.aspx
![Page 22: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/22.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Coding for Mac Os X
#ifdef MAC#include "OpenAL/al.h"#include "OpenAL/alc.h"
#else#include "AL/al.h"#include "AL/alc.h"
#endif
Mac Os X follows the POSIX standard Only difference: path of the .h files used by the frameworks
![Page 23: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/23.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Base code
http://www.libsdl.org http://www.sfml-dev.org
![Page 26: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/26.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
FisicaBox2D
Chipmunk
http://www.box2d.org
http://bulletphysics.org
http://code.google.com/p/chipmunk-physics/
![Page 27: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/27.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Tools
Gimp (2D bitmap graphics) - http://www.gimp.org/
Inkscape (2D vector graphics) - http://inkscape.org/
Blender (3D graphics) - http://www.blender.org/
Audacity (audio editing) - http://audacity.sourceforge.net/
Kdenlive (video editing, Linux e Mac)- http://www.kdenlive.org/
Virtualdub (video editing, Windows)- http://www.virtualdub.org/
![Page 28: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/28.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
The future
http://www.khronos.org/webgl/http://www.w3.org/html/
![Page 29: Multi-platform indie game development](https://reader034.vdocuments.site/reader034/viewer/2022042700/555843d9d8b42acb078b5209/html5/thumbnails/29.jpg)
Davide Coppola – [email protected] – Lowpoly Studios
Contacts
http://www.lowpoly-studios.com
http://www.facebook.com/m3xican
http://www.facebook.com/LowpolyStudios http://twitter.com/LowpolyStudios
http://twitter.com/vivaladav