Open Collective
Open Collective
Loading
Questions and Answers
Published on February 9, 2022 by patrikjuvonen

Hello!

This update is a compiled list of our most popular questions and answers so far regarding the project. If you have any new questions, feel free to hit us up on our Discord server!

What is our background?


We are all fans of Rockstar Games' Grand Theft Auto series, and we have great respect for the studios and the series. Some of us are programmers, some of us are designers and some of us are just players - excited about the project and waiting to participate in playtesting.

Many of us come from an active open source project similar to this one, Multi Theft Auto ("MTA"), a popular multiplayer modification for the classic Grand Theft Auto 3D-era games, currently supporting classic San Andreas, with over 700,000 monthly unique players. We have soon 20 years of experience from that modification that we are bringing on to this project. We have currently a dozen developers part of the internal research group and we are all researching and experimenting with the games.

Our primary goal is to add fast and reliable multiplayer functionality with an easy scripting interface for players to create unique experiences to play together with their friends in all three of the genre-defining classics.

How much financial support do we need?


Our budget is very small, as we do not have many expenses. The only expenses we have at the moment are our domains used to host our website and any other services. We do not take any profit out of this collective, none of us are getting paid anything.

Because of this we do not need many active sponsorships. However, every dollar helps towards our annual budget, and with more funding we can also look at useful tools that could help with our development, or pay for higher tier cloud services to deliver faster and more reliable experience for players.

Which of the three games is this going to run on?


Right now, we are focusing on San Andreas. We will look at Liberty City and Vice City later. All three games have different code, so we can't automatically support all three games, each one needs to be researched individually. We have done some initial work to support all three games already. We are also looking into the possibility of being able to play on all three maps in multiplayer, but we are not putting a lot of effort into that right now.

We are also currently exploring the possibility to support all legitimate version of the games, including all future ones. We have done initial work on this one as well.

We will not support mobile versions, or cross-platform play, because of complexities and restrictions in for example distribution policies.

At this time, a legitimate copy of the games is required to be able to play multiplayer and we do not have any immediate plans to remove this restriction.
 

Which scripting and configuration languages are we going to support?


For scripting, we have decided to use Lua 5.4 in the early phases of the project, but our goal is to support (most likely through third-party plugins) any kind of scripting language, such as JS, in the least cumbersome way possible.

For configuration files, we have decided to use XML, but like scripting, we plan on supporting any kind of configuration languages, such as JSON.

It would be way too much up-front work to support more than one language in the beginning when we try to move fast and break things without regards to any kind of backwards compatibility.

We know that people would really love to see their favorite programming language in this project, but that will, eventually, come later, and you will be able to contribute code to that.

What kinds of things are you doing right now and what have you accomplished so far?


As usual with any game, it all starts with reverse engineering the game executable. All of this research and discoveries are private to only our internal research group. Our internal research group that consists of roughly a dozen developers has already made progress. There is no progress on the networking side of things as of yet, because we need to reverse parts of the game to do anything in the games in the first place. We are constantly sharing knowledge and discussing about discoveries within our internal research group. We will be sharing updates as we go along, but right now it is too early for screenshots or the like, sorry.

A lot of reverse engineering has been completed. Our most significant in-game related tool is our sandbox which is essentially our testing ground for anything we want to do inside the game engine. We've also built various surrounding tools around this to make it easier for us to work with and debug the game engine and our work. So primarily a debugging suite, experimentation, initial scripting interface and such.

Just like MTA, we will be based on code injection and hooking techniques whereby the game is manipulated without altering any original files supplied with the game. The software functions as a game engine that installs itself as an extension of the original game, adding core functionality such as networking and GUI rendering while exposing the original game's engine functionality through a scripting language.

When can we get to play multiplayer, and can you do it faster?


We want to make sure we get things right and working reliably. We have no interest in rushing this project. This project will take quite some time before we have anything tangible for you guys. This project is an investment from all of us, and it is very risky.

We are also encouraging our developers to take occasional breaks off the project to have a healthy relationship with the project and not stress, or worse, burn out. There will always be more work to be done. Doing this faster results in worse quality and tired developers.

How can I support the project?


Right now our research is private as we expect some level of competition in the beginning, and we are still experimenting with the games, so code contribution is not open for public at this very moment, but this will change in the future. We plan on having a permissive open source license for the project.

Right now the best you could do is star our main GitHub repository, or donate a dollar to our collective. There will be more hands-on ways to support the project once we've gotten further in development. We appreciate your donations and for sticking around and inviting your friends on our Discord server!

Join us on our Discord server to introduce yourself, chat with us and our community, ask questions, suggest ideas and share your creations from the games!

Follow our socials


We will be posting updates on our socials as we go along. Follow us on:
🎉  2🚀  5