-
Notifications
You must be signed in to change notification settings - Fork 1
Onboarding
Our current elevator pitch to simply describe the main idea is as follows:
- Experience the ultimate form of destruction! Welcome to the online car demolition arena, where your goal is to survive as long as possible, gaining additional score for any damage dealt by jamming your opponents.
To provide some background, this project has started as a Game Jam called Ludum Dare 46, where we intended to learn and try out the features of a Unity Mirror multiplayer framework. As a core of the game logic, we started building on a pre-existing module of Vehicle Physics developed by one of our team developers over the course of 6 months, which was singleplayer ready, and we had to look for ways to make it multiplayer compatible while also designing a new project architecture.
Sharing the entire project as open-source makes our priorities opposite from closed-source games in that we prefer transparency, collaboration and honesty, instead of isolation, secrecy, or denying others to use our results for any selfish reasons. This means our primary motivation isn't profit, so we're looking for members who value non-monetary benefits including knowledge transfer, opportunity to gain experience and feedback by working within a larger project instead of starting from scratch, and a collaboration between projects in the form of modular and re-usable solutions. If you see any value in the last point, and you have the experience of using open-source libraries, then you probably understand the advantages of sharing some modules with others, as you receive value back in the form of maintenance, improvements or feedback, without any expenses on your side. We're trying to take this one step beyond, serving also as an example, or a template of a complete game, enabling developers to bootstrap their own game more easily while avoiding hidden traps along the way. Even though you're always free to take a snapshot, copy our current project and secretly make your own game without sharing anything, we hope that you will see more value in taking a more active role, collaborating with us to develop and integrate new features together.
TODO
- Our project uses Git, which you should install from https://git-scm.com/downloads, adding Git GUI and Git Bash option to your Explorer's right-click context menu
- Please use rebase instead of merge by default, by executing this configuration in Git Bash:
git config --global pull.rebase true
- There is an easy-to-use GUI for beginners at https://desktop.github.com/ (but it has many issues, lacks some important features, and is too simple if you know what you're doing)
- Using Git "correctly" definitely isn't easy, and you will need to learn by
practicemaking mistakes and getting stuck, but it'll be easier to just ask us for help
TODO
- How to run two Unity instances with the same project without having to keep two copies of the project, in order to test multiplayer while developing
- Assuming your project path is
C:\Unity\DemolitionX-Jam
and your want the second project to be inC:\Unity\DemolitionX-Jam-Junction
- Create a directory
C:\Unity\DemolitionX-Jam-Junction
and open a cmd.exe console inside (e.g. Shift+RightClick inside Explorer, open PowerShell, type in "cmd" and press enter), or open open cmd directly (e.g. press Start and open Command Prompt, or press Win+R and type cmd) and navigate to the path by executingcd "C:\Unity\DemolitionX-Jam-Junction"
, which should make the current path turn intoC:\Unity\DemolitionX-Jam-Junction>
- Execute
mklink /j "Assets" "C:\Unity\DemolitionX-Jam\Assets"
- Execute
mklink /j "Packages" "C:\Unity\DemolitionX-Jam\Packages"
- Execute
mklink /j "ProjectSettings" "C:\Unity\DemolitionX-Jam\ProjectSettings"
- Now you can open the DemolitionX-Jam-Junction project in a second Unity window, and any change will be reflected in both of them
- Assuming your project path is
There are following C# IDEs to pick from:
- JetBrains Rider - The best choice on the market. It's expensive (has a trial), but if you are a student, you can get a free license. They also offer it for open-source projects, which we may use in the future.
- Visual Studio Community - Free from Microsoft, originally the only C# IDE. Hated by many, but gets the job done.
- Visual Studio Code - Free & open-source, light and universal IDE with C# as an extension. A fine choice.
Make sure your IDE is configured to use our project code style guidelines, specifically you should use our Editorconfig rules, and following a standard Unity/C# code style similar to our existing code. We'll add an automated code quality checking tool later, which will analyze each commit and report any issues.