I've started this project as an extension/remake of another of my projects "Codename-Spitfire". Because I've started from scratch, I've noticed that I have to learn, making the previous project fulll of "messy" code. This is a new, proper re-make of it.
Furthermore, I've decided to ditch OGRE renderer. Why? Because I don't really understand how it works. I need to understand how bits of any game engine work - the graphics, logical architecture, etc so it's one of the main reasons why I'm doing this project at all - it is an attempt to make both and engine and maybe a game.
What is it all about?
Well, It is basically a 3D Space Simulation, which wants to be a rougelike. I have been deeply inspired by ADOM , NetHack and Dwarf Fortress. I also want to plug in more deeply into architectural engine development and scripting instead of graphics.
The initial idea was to make it something similar to Dwarf Fortress. In space. Yet, hopefully it is going to be unique by itself. Since this is a hobby project and I've been working on it and constantly generating ideas, the main aim has switched slightly for it to become slightly different: The main aim is still to have something similar to Dwarf Fortress in space. Yet this is going to be achieved in basic steps. The first step is to create a Space Ship Simulator. Not in Freelancer, Elite or other fashion. The idea is to create somthing closer to Digital Combat Simulator series like DCS A-10 or BlackShark, yet less like a fighter and more as a Frigate/Shuttle type. It's all about the immersion. Starting up engines with a procedure, ship systems, ship interior and exterior as well as basic surroundings is the first target of development. If I succeed, I will try to introduce new features then.
The basic description would be: You are the Captain of the newly constructed frigate "Romuva". It is small and has a small crew, but it is your job as the captain to extend your small frigate into a large battleship or space fortress, gather resources, take care of your crew, and ultimately venture into space for adventure.
Reasons of the project
I treat myself as an amateur programmer who strives to become a better one. Because of time issues, I can only dedicate my time only one project. Hence the ideo for a game. It might become to something that is in the introduction, it might not. It is more a learning experience, but I would do ANYTHING for it come to life.
- Ships are made of modules, which have components, which have elements. Every single part of a ship might be a module, component or an element
- Free roaming around the ship: take full command of the ship and inspect every element of your ship and crew.
- Ship crew. Each crew member will have unique attributes and gain experience during the course fo their service
- Newtonian physics
- Real space (as if soft sci-fi, not star warsy like explosions and sound)
- Randomly generated space
The project is currently in very early alpha (v0.0.3). Current target is v0.0.4 There are currently no art assets, just building up a technical version of the engine.
Current target for v0.0.4
- Add Lighting
- Add Material Shading
- Add Basic Particles and particle effects
- Add Event Manager and Event Handling
- Add Process Manager and Process Handling
- Setup basic object animations
- Setup a basic demo scene
- Start massive commenting overhaul
- Setup some basic information about the engine in the wiki
- Revise the list
Changelog for v0.0.3:
- Setup UI console to help work with the project - DONE
- Give a very VERY basic skin to the console - DONE
- Tie up LUA Scripting interface with the console - DONE
- Tie up Logger with the Console - DONE
- Make additional engine functions callable via LUA - DONE
- Move CEGUI UI to the GameApp - DEPRECATED
- Add Awesomium integration - DONE
- Make UI Management as a seperate engine system - DONE
- Add basic binds for UI <-> RomEngine <-> LUA - DONE
- Add a generic mesh file handler - DONE
- Add basic actor movement and controls - DONE
- Add actor hierarchy (Parent -> Child) and relative positioning - DONE
- Add Camera Controls:
- Standard FPS Camera Controls - DONE
- Free Camera Controls - DONE
- Add a basic Skybox - DONE
- Add basic Auxillary objects and their handling - DONE
- Define and Add Actor handling using LUA - DONE
- Add custom math:
- Vector math - DONE
- Quaternions - DONE
- DirectX SDK
- Lua 5.1
- NVIDIA CG
- OpenGL [glew and glfw]
- Boost 1.49
I don't believe that the code or the idea is somewhat unique. Still, this project is licensed under the MIT License.