Spirates is a PC game that I am developing with a friend since 2012. Game graphics are in 2D.
In Spirates, the player assumes the role of a space pirates who starts with a broken raft in a forgotten planet and ends up to be the most notorious pirates of the seas of space. On his way he finds mutated house cats, pimped wooden boats with rockets, whales, zombies and other curiosities. He conquers cities, makes enemy boats his own kai hires scum for crew.
The player can interract with a lot of the objects in the huge procedurally generated world that the game creates. He can enter buildings, treasure caves and interract with citizens. He can modify his ship, captures other ships, hire crew, make transactions, invest in his conquered cities, upgrade his crew equipment, upgrade robots with microchips, become a robot and upgrade himself, become a zombie, steal stuff from tables, cabinets and benches.
The game engine is built almost from scratch using C++. On the lowest level we use the SDL library, that provides us with interfaces for input and window management. Since SDL is cross-platform we can use the same code for both Windows and Linux builds. For graphics we use modern OpenGL (aka using shaders in GLSL) to benefit from hardware graphics accelaration. We define game assets in XML, write scripts in Lua and use sqlite3 for savegames.
The engine includes a skeletal animation system, seamless transitions from buildings to space, source based lighting system, a weather system and a interactive console.