Download presentation
Presentation is loading. Please wait.
1
Ori Hanegby Pixtazy ori@pixtazy.com Blog: www.copperbit.comwww.copperbit.com
2
Open Source is Everywhere! Operating Systems Linux, FreeBSD Web Servers Apache, PHP, Python, Ruby Embedded Systems Embedded Linux Hardware Open Cores Web Browsers FireFox, Chrome. GAMES
3
How can Open Source help my project? Almost every aspect of game development has an Open Source solution these days, below is a (very) partial list: Libraries and SDKs 3D, Sound, Networking Tools Modeling, Art, Sound Editing Full games: http://en.wikipedia.org/wiki/Alphabetical_list_of_ open_source_games http://en.wikipedia.org/wiki/Alphabetical_list_of_ open_source_games
4
Choosing an Open Source engine Platform What are the target platforms that your game runs on? Languages Does the project has binding to your development language? Some projects has “parallel” projects for other languages ○ Example: Bullet vs JBullet
5
Choosing an Open Source engine How active is the community? Successful open source projects have active community ○ Forums ○ Wiki Releases How often is there a new release of the project? Make sure it is not a “dead” project, even if it used to be an active project. For example: OpenTNL last update- 22-Feb-2005 Licensing
6
Licensing Open Source licenses might be restrictive Some are not suitable for commercial projects Some projects offer dual licensing models to enable commercial needs
7
Licensing cont’d. GPL Any project using GPL must be GPL itself Not suitable for commercial projects http://www.gnu.org/licenses/gpl.html LGPL “Lesser GPL” Used to license libraries in a less restrictive manner than GPL. LGPL libraries can be used in propriety software and distributed in binary format. Any modifications to the library itself must be shared. … as long as the end user has the ability to replace the library, hence statically linking is not permitted. Suitable for PC games but not for console games. http://www.gnu.org/licenses/lgpl.html
8
Licensing cont’d BSD, MIT, ZLIB and alike Very liberal licenses Suitable for any kind of application http://www.opensource.org/licenses/bsd- license.php http://www.opensource.org/licenses/bsd- license.php
9
Games related domains at a glance 3D Rendering Physics Networking Sound Game Engines
10
3D Engines Some of the features that are provided by 3D engines: Cross platform 3D rendering Loading models exported from 3D software Scene Graph management Particle systems Materials and Shaders Good selection of 3D Engines today: Ogre3D, Irrlicht, Open Scene Graph, G3D etc.
11
Focus: Ogre3D High end features Active community Used in commercial games C++ Has ports and binding to Java,.NET, Python and Ruby Dual Licensing – LGPL / Propriety
12
Focus: Ogre3D
13
Focus: Irrlicht Easy to learn Good for beginners Active community Cross platform Support for older hardware ZLib license (very permissive)
14
Focus: Irrlicht
15
Physics 2D and 3D physics libraries Collision detection Rigid Body Dynamics Soft Body Dynamics Forces simulation Good selection of engines available ODE, Bullet, Box2D, Chipmunk etc.
16
Focus: Chipmunk 2D Physics engine for games Easy to use MIT License (unrestricted) Fast Many Languages bindings Ruby, Python, Java, C++ and more Flash port exists as “Glaze” engine
17
Focus: Chipmunk
18
Focus: Bullet High end features Rigid and Soft Body dynamics, Vehicle, Ragdoll, PS3 and CUDA optimizations and more Used in commercial applications and AAA games. ZLib license Lacks good documentation.
19
Focus: Bullet
20
Networking Networking libraries supplies a higher level communication structure than plain sockets. Some common features are: RPC Authentication Remote object management Messaging Time synchronization Current open source networking libraries appear to be lagging behind commercial/indie solutions.
21
Focus: Games Networking Engine (GNE) Connection and bandwidth handling Packet ordering Object serialization Time synchronization Cross platform LGPL license
22
Sound Some of the common features that are supported by sound engines are: Loading and playing sound files Decoding MP3/OGG or alike 3D sound emulation Open Source sound libraries tend to be lower level and tend to supply less complete solutions than propriety solutions Additional libraries can supply missing features i.e. Ogg Vorbis libraries for.OGG music decoding.
23
Focus: OpenAL Maintained by Creative Labs Focused on 3D sound features No special sound formats decoding such as MP3 or OGG Cross Platform LGPL license
24
Game Engines Game engines provides a more complete framework for game development Some of them are comprised of other open source engines Good open source engine options are available today Crystal Space, Panda3D, Wintermute and more
25
Focus: Panda3D Disney’s game engine Python High end 3D graphics Sound 2D and 3D sound, music streaming Network Low level and high level object distribution API Physics Basic physics support Used in commercial games Modified BSD license.
26
Focus: Panda3D
27
Resources Ogre3D: http://www.ogre3d.orghttp://www.ogre3d.org Irrlicht: http://irrlicht.sourceforge.nethttp://irrlicht.sourceforge.net Chipmunk: http://wiki.slembcke.net/main/published/Chi pmunk http://wiki.slembcke.net/main/published/Chi pmunk Bullet: http://www.bulletphysics.comhttp://www.bulletphysics.com GNE: http://www.gillius.org/gne/http://www.gillius.org/gne/ OpenAL: http://connect.creativelabs.com/openal http://connect.creativelabs.com/openal Panda3D: http://panda3d.org/http://panda3d.org/
28
Thanks!
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.