Hey guys, while working on my primary game project
, i decided it would be a good idea to start a second one, just to think different and see different code. This will prevent me from thinking in a single direction. As GTA is another game i really really enjoyed when i was a child, this would fit perfectly for me.
Here is the list of features i'm planning to implement. Feel free to suggest more.Platforms
The Game will run under Windows / Linux / OSX / Android / iOS. It should not be a port but the game actually compiles the same code base for all these platforms.
When a new version gets released, all of these platforms will get a new release. This also allows people to play multiplayer across different platforms.
As i do not have any experience with Playstation, XBox, WiiU, Switch, 3DS, WindowsPhone, etc. or short: no experience with other platforms,
i will not investigate those currently. If the demand is high enough, this might be an option at a later point of development.Multiplayer
For the Multiplayer implementation, the game will be split into a client and a server. Playing single player is having a server without a port to listen on.
The client will process input, do some predictions and simply draw whatever its told to draw.
All game logic will be running on the server. This allows the server to run custom scripts which automatically affects all the clients. Clients only need to make sure they have the assets present.Modding
Modding should be as easy as possible. Therefore the engine will come with some special features and tools:
- Maps are rather complex, so the engine itself will implement a map-editor.
- Maps consist of blocks and map-objects (models).
- Everything around (players, cars, weapons, whatever) are entities with a model attached.
- Models can be 2d (bounding box with sprite) or 3d models.
- Definitions for entities, weapons etc. are in .json format.
- Strings and sounds can be either hard coded or mapped using a translation functionality.
Graphics will be powered by OpenGL with full support for shaders, shadows, lighting etc. However advanced graphical features are hold back till the project is in a further state.Game compatibility
Before implementing the new formats, there has to be some content to work with. However, no copyrighted content will be shipped with the game. So either someone start a free asset pack, or people will need the original games at last to do anything inside the game.
Here is the roadmap:
- GTA2 data reader. This module will read all GTA2 data and populates the specific game classes.
- GTA1 data reader (with expansions). This module will do the same with GTA1 data.
- Both data readers will be refactored to not populate the game classes but to convert them to the new file formats.
- The new data formats will be loaded then, so the original files need to be loaded once only. (at this point, creating mods may begin)
- The map-editor will be build, as its the only format which realy needs an editor tool.
Source Code might be released at a later point. Releasing it directly might create confusion and results in losing control over the project. So for the near future i'll keep it closed.
If i would ever abandon the project, the source will be put available for everyone on github.Project Name
The project name should differ from GTA due to rights on the brand name. Feel free to suggest a new name for it.Feedback
Feedback is welcomed! Got another fancy idea? Tell me! I might put it onto the roadmap or make sure it can be achieved with the modding api.Status-Log
Current Task: Implementing Characters (Pedestrians and Player).