My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Wiki pages
Links

GALAXY ENGINE PROJECT IS CLOSING! READ FULL ARTICLE ON JAM Studios' blog

Documentation

You can find the documentation here. You might also want to read some of the pages on the wiki if you are looking at iPhone or iPad.

If you get lost, you can email us at development@jamstudiosgames.com

What is Galaxy Engine?

Galaxy Engine is a complete game development package for Mac, iPhone, and iPad. It is programmed in Cocoa and uses the OpenGL, OpenGL ES, and OpenAL libraries to give you a powerful core with direct access to iPhone SDK features such as Game Center. Galaxy Engine is designed with indie developers in mind. Which means that it is designed to be as efficient and flexible as possible. It also is one of the only Open Source game engines to include critical tools for game development such as: Level Editor, Terrain Editor, Model Viewer, Particle Editor, and Shader IDE. It also includes features such as: vertex animation, multisampling, advanced lighting, dynamic shadows, vertex and pixel shaders, normal mapping, parallax mapping, and massive outdoor environments.

Why use Galaxy engine?

Intuitive complete object orientated Objective-C framework designed in the same style as Cocoa allows you to quickly write your game with a relatively small learning curve compared to other C++ based systems. Galaxy engine is extremely flexible and not based on a specific game type which allows you start on your game no matter what it is on day one. Comprehensive source code allows you to confidently configure, edit, and expand the engine right out of the box. Extensive documentation allows you to quickly understand how classes work and how you can use them. Proven stability used in several commercial products from iPhone games currently in development to space shuttle simulation software. Powerful and stable tools developed over several years with consistent and clean interfaces will save your company tons of time in programming and game content creation. Native cross platform support with graphics abstraction layer and automatic compilation of all resources to platform specific formats allowing you to develop for iPhone, iPad, and Mac all the time with minimal code and resource changes. JAM Studios and the open source community will continue to support the Galaxy engine by adding new features and updates to the base framework and all its tools so you can be sure it will remain competitive and continue to expand its feature set.

Platform Support

  • Mac OS 10.5 and later.
  • iPhone
  • iPad

Development System Requirements

  • Intel based Mac with GMA X3100 or better graphics card. (PPC systems may work but are not tested.)
  • iPhone SDK version 4.0 or greater for iOS development.
  • Xcode 3.1 or greater.

Tools

Galaxy Engine is one of the only Open Source game engines to include an entire game development suite with tools including:

  • Galaxy Forge - Powerful world editing tool for object placement, offline lightmap calculation, intuitive move, rotate and scale tools, platform specific resource compilation, sector placement, light placement, graphics quality configuration for individual object, and complete property editor for world classes.
  • Earth Shop - Brush based terrain editor with proprietary vertex format and heightmap import / export allowing you to use other terrain creation packages.
  • Wizard - Advanced particle system creation and preview tool.
  • High Res - Alpha to coverage image compression which allows you to compress high resolution shapes into tiny images.
  • Mega Mesh - OBJ and GSMESH preview tool with collision box editor and OBJ to GSMESH export.
  • Materials and Shaders

GLSL vertex and shader program support with prebuilt shader effects including: Per-Pixel Lighting, Normal Mapping, Displacement Mapping, and advanced water rendering. Load textures from PNG, JPEG, TGA, TIFF, PVRTC, DDS, GIF, BMP, and PSD. Support for basic material effects like specular and ambient lighting.

Models

  • Load models from OBJ file format. OBJ is exported from almost all modeling tools.
  • Load from proprietary binary format for static geometry exported from Mega Mesh.
  • Model LOD support for high graphics preformance and quality.
  • Simple primitives including block, sphere, cylinder
  • Vertex interpolation animation provides a strong system that can run on low and high power machines.

Audio

  • Direct OpenAL sound support.
  • Load sounds from WAV file format.
  • Interactive 3D sounds with Doppler and velocity effects.

Special Effects

  • Advanced particle systems with powerful editing and creation tool Wizard.
  • Powerful shader effects including: Per-Pixel Lighting, Normal Mapping, Displacement Mapping, and advanced water rendering.
  • Billboarding.
  • Alpha blending.
  • Simple reflections.
  • Alpha to coverage with image conversion tool High Res.
  • Multisampling across all platforms.

Scene Management

  • Entity depth sorting.
  • Multithreaded world loading and streaming.
  • Advanced 3D terrain system with terrain editor Earth Shop.
  • GPU occlusion queries.
  • Powerful world loading and rendering with world editor Galaxy Forge.

FAQ’S

Q: How should I get started?

You don’t have to use most of the classes in Galaxy to make a game. Start off by getting confident using the common resource types (JGTexture, JGSound, JGModel, etc) and get familiar with the core (JGController, JGAssetManager, JGObject, etc). You can get the basic Idea for using these with the demo provided. We are also working on some video tutorials which will help you setup a project and use the basic tools.

Q: I want to use Galaxy Engine for iPhone what do I need to know?

Almost all of the classes work directly on the iPhone with OpenGL ES 1.x. All content created from tools and the classes that work with them are available on the iPhone. All classes that are not supported will automatically not be included in the build you can find a list of classes unsupported on the iPhone on the wiki. However Galaxy Engine does not currently have direct support for OpenGL ES 2.0. All of our base classes and core will work (JGTexture, JGModel, JGController, JGObject, etc) but most graphics functions will not. You can find a list of the classes currently supported on 2.0 on the wiki. Direct support for OpenGL ES 2.0 is currently at the top of our feature list!

Q: What other software do I need?

While Galaxy Engine covers most of the tools unique to game development, you still need the Apple Developer tools and some basic applications for creating content. We suggest: Blender (3D modeler), GIMP (Image editor), and Audacity (Sound editor).

Q: Can I use this for commercial products?

Yes, go right ahead! However, make sure you follow the BSD License.

Q: I am stuck! Where can I find help?

Make a post on the forums. On our forums you can get lots of help from other programmers and even our own development team. Also you can look at the documentation.

Q: What platforms does Galaxy Engine support?

iPhone, iPad, and Mac.

Q: How do I setup DXT texture compression for Mac in Galaxy Forge?

The NVIDIA texture tools are required for texture and lightmap compression in Galaxy Forge. A wiki page describing installation can be found here.

Q: How do I make shadows?

Shadows are available in thelightmap generator for static objects, but for dynamic objects you can use the makeShadowMatrix function. This returns a matrix which you can use to flatten the model into a "shaodw". Then you can fill it with black and you have dynamic shadows! You can also look at some techniques here to see some other methods you could implement.

Q: Is there any physics simulation?

No there is not right out of the box, and for good reason. There are already several Open Source projects devoted just to physics, so our own version would certainly not have the same support, testing, or features as others. We do recommend Chipmunk or Box2D for 2D simulation. For full 3D physics take a look at Bullet.

Q: Why should I use functions like pushMatrix when they only call glPushMatrix?

So that when we add support for new graphics APIs (such as direct OpenGL ES 2.0 support coming soon) you don’t have to go through and change all your code. The functions will automatically adapt to the current API.

Q: How can I use more then the OpenGL limit of 8 lights?

You can use the same OpenGL light index for an unlimited amount of lights in the scene but you can still only have 8 lights affect 1 object. Look at the documentation for JGLightTable and JGVirtualLight classes for information on doing this. You can also look at the demo provided to see an example.

Q: Some of the defaults for things like texture flags are driving me crazy! Can I change these?

Absolutely, you can configure the engine exactly how you want it by editing the JGDefaults.h file.

Q: I have made some pretty sweet additions of my own to Galaxy. Can I add these to the main project for all to use?

Yes, If you have some code you would like to add or you would like to become a regular contributor you can contact us here.

Q: How can I master my skills with Galaxy Engine?

Learn how the resource, and core classes work, even if that means looking at some source code. Become confident with all the tools especially Galaxy Forge.

Q: Can we expect new features to be added?

JAM Studios is going to continue to develop the project along with additions from the open source community. You can definitely expect constant updates that fix bugs and add new features to the engine.

Q: How do I do networking/multiplayer?

If you are just looking at the iPad or iPhone we recommend just using Apple’s Game Center. It is the easiest way to set up connections and communicate between devices. If you are looking at the Mac, or older iPhones we suggest using AsyncSocket

Powered by Google Project Hosting