[gigya height=”360″ src=”https://d3mlfyygrfdi2i.cloudfront.net/321f/kickplayer.swf?” flashvars=”allowfullscreen=true&autostart=false&backcolor=000000&controlbar=over&file=https%3A%2F%2Fd2pq0u4uni88oo.cloudfront.net%2Fprojects%2F703679%2Fvideo-303069-h264_high.mp4&image=https%3A%2F%2Fs3.amazonaws.com%2Fksr%2Fprojects%2F703679%2Fphoto-full.jpg&project_creators=An+Open+Software+project+by+Asylum+7+Studios%2C+LLC.&project_title=Cgda%3A+Cross+Platform+Game+Development+API+%26+Framework&project_url=http%3A%2F%2Fwww.kickstarter.com%2Fprojects%2Fasylum7%2Fcgda-cross-platform-game-development-api-and-frame&screencolor=000000&skin=https%3A%2F%2Fd3mlfyygrfdi2i.cloudfront.net%2Fcc3a%2Fkickskin.swf&wmode=opaque” width=”480″ ]
Asylum 7 Studios is currently developing Cgda, a #new #game #development #framework & API. Cgda is a 100% native code #API for game development, written in C++. The primary goal of the project is to create an easy-to-use programming platform to simplify the game development process, much in the same way XNA served to simplify development for #indie #developers and hobbyists working in C#.
In the winter of 2012, Asylum 7 Studios began development of a next-gen space combat simulator, Expanse: First Contact. The original project was to be written in C# using XNA as the primary game development API. As the project progressed, it became clear that XNA was not properly suited to common needs. The XNA Framework, which was written for DirectX 9, lacking support for newer features, such as geometry and tessellation shaders, and was only well supported on Windows and XBox 360. Also, Microsoft has not updated XNA in quite some time, and the project seems to be either dead or in limbo.
The open source community developed Monogame to attempt to bring XNA to other platforms, and they did so quite nicely. However, Monogame still was not the right fit for us, as it has dependencies on either OpenTK or SharpDX depending on your target platform. While the dependency on SharpDX was not a problem at first, OpenTK’s development had seemed to stagnate quite a bit as well.
Around that time, Asylum 7 Studios were toying with the idea of writing their game in C++ using <b>OpenGL </b>directly. In order to avoid dealing with as many stagnant dependencies as possible, writing the libraries needed from scratch were essential.
- Written in C++11, using 100% native code
- OpenGL and OpenAL backends for graphics and audio
- True cross-platform support, Windows, OSX, Linux, and more
- Content Pipeline for asset management
- XACT-style audio authoring
- Input library with support for keyboards, mice, and various gamepads
- Networking stack for easy client/server development
- Planned support for an optional steamworks extension to support deployment of your games on Steam (pending approval, greenlight, etc.)
- Point sprite system using compute shaders for particle physics
- Open Source licensing available.
Cgda is also cross-platform. Primary development is being shared between Windows and Linux (for the newer OpenGL feature sets), but the API itself will run on OSX, FreeBSD, and nearly any other platform which supports OpenGL 3.2 or better.
Having completed several sections of the API, however much more work remains to be done. The systems currently under development are as follows:
- VertexBuffer classes
- Matrix / Vector / Quaternion math library
- SpriteBatch implementation
- ContentManager / Pipeline
- Basic input subsystem
- 3D Model classes and transforms
- GLSL-based per-fragment (per-pixel) lighting BasicEffect implementation
- Game class and message pump
- GraphicsDevice abstractions
More of the API is being completed every day, with new videos posted on Youtube showing the state of the project throughout the course of this campaign. And will continue to do so long after its conclusion.
So, building a fully-featured API is a huge undertaking, something that generally requires months or years of development time for a large team. Asylum 7 Studios are a small family-owned company with two full-time developers on staff. This requires your support to fund Cgda to the standards expected, making sure the full release will be available to the public, and funding the development time.