Pages

 Follow in Twitter Follow in Facebook Seguime Follow in Pinterest Follow in LinkedIn Follow in  Google+ Follow in  Stumbleupon Seguime Follow in Instagram Seguime Follow in FlickR Subscribe the feed
Return to Castle Wolfenstein, games, Linux 3d chess, games, Linux savage, games, Linux, Lemmingball z, teeworlds, waterstom Alien, Swarm, action, games, Linux Toribash, games, Linux adamant armor, toribash, world of goo, alien swarm world of goo, games, Linux enemy territory, game, Linux Tales of Monkey Island, serious sam, games, Linux Tales of Monkey Island, quake III, Arena, games, Linux

Monday, December 14, 2009

Alpha Shooter is a 3D FPS game with a sci-fi setting

alpha_shooter Alpha Shooter is a 3D FPS game with a sci-fi setting, developed by Nicola Cocchiaro and released under the GNU General Public License.

It is currently written in C++ and uses its own reusable game engine, named Neutron. The game (and its engine) will evolve to include simulated physics and artificial intelligence, a scripted storyline, involving music and sound effects and more.

Use the menu buttons above to find development news, a history of the game, its description and features, screenshots, downloadable content and resources for developers.

The source code for version 0.1.0 and later can currently be found in the SVN repository, while the older version 0.0.3 is still available either as a pre-compiled release or as source code in the CVS repository. Note that until version 0.1.0 Alpha Shooter did not use the Neutron engine -- please read the Documentation page if you're not sure of which version you're looking for.

Frequently Asked Questions

Alpha Shooter is a simple 3D FPS game, originally written in C with OpenGL, GLU and GLUT for a university graphics course assignment; it used to feature a single room, with crude and limited collision detection and particle generation, the ability to fly around and rotate in any direction and not much else. The game evolved over time, and is now written in C++ with the help of the Neutron Engine, a game engine developed to give it new life. For a more in-depth discussion on the history of the game see the History page.
Both versions of the game are released under the GNU General Public License version 3.

Alpha Shooter as a C game was getting hard to maintain, it didn't have a strong enough design and, while multi-platform, what would be considered its engine was tightly coupled with the game-specific logic. A much better design choice would have been to have the engine as separated as possible from the game logic and assets, and I generally find C++ to be a language much better suited for this kind of design. Given all that, it was also clear that rewriting all the components of a game engine from scratch would have meant reinventing too many wheels, with questionable results; thus the Neutron Engine was born, with the aim of being able to use existing libraries for subsystems in addition to internally-developed components, and Alpha Shooter was made to be the first game to use it. 


It's true that many game engines are available today, both commercially and non-commercially; several of them are also quite advanced and well-tested, not to mention constantly improving. It would have been easier/faster to use one of the available engines to rebuild Alpha Shooter on; however, I really wanted to learn how game engines work and what it takes to develop one (almost) from scratch. That's why I decided to try and build my own, and see where that path would take me. What I've learned thanks to that choice has been priceless, but it's an ongoing process that will take a very long time to complete; partly for that reason, I've decided to add support in the engine for readily available libraries to use as subsystems (eg. Ogre3D for graphics rendering, CEGUI for GUI rendering, and so on): I'm more interested at the moment in the engine core, and if I had to completely reinvent by myself a graphics rendering engine (or any other subsystem for that matter) I would hardly achieve the same results the whole Ogre team (to name one) has achieved after years of development :) So let's say this tries to be a compromise between a readily available game engine and one built completely from scratch. 


Version 0.1.0 of Alpha Shooter is still under development. Therefore it's only available as source code in the SVN repository, until it will be mature enough for a stable, pre-compiled release.


Screenshots:

Image of a target
Image of an explosion
Image of a window
Image of the HUD
A complete gameplay screenshot
Image of the fence
Image of the fence in the dark
Image of the ventilation systems

Download.

Tar/GZ:
http://downloads.sourceforge.net/[..]lphashooter-0.0.3.tar.gz?use_mirror=osdn

Tar/BZ2:

http://downloads.sourceforge.net/[..]phashooter-0.0.3.tar.bz2?use_mirror=osdn

Changelog:

http://sourceforge.net/[..]es.php?release_id=530879&group_id=149680

Debian package:

http://downloads.sourceforge.net/[..]shooter_0.0.3-1_i386.deb?use_mirror=osdn

OS X package:

http://downloads.sourceforge.net/[..]r/alphashooter-0.0.3.dmg?use_mirror=osdn

CVS tree (cvsweb):

http://alphashooter.cvs.sourceforge.net/

Bug tracker:

https://sourceforge.net/tracker/?group_id=149680&atid=777029


If you liked this article, subscribe to the feed by clickingthe image below to keep informed about new contents of the blog:

Recent Post