Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ori Hanegby Pixtazy Blog:

Similar presentations


Presentation on theme: "Ori Hanegby Pixtazy Blog:"— Presentation transcript:

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!


Download ppt "Ori Hanegby Pixtazy Blog:"

Similar presentations


Ads by Google