The Atomic Game Engine is a powerful multiplatform game development tool that can be used for both 2D and 3D content. It is layered on top of Urho3D, an open source game development tool, and also makes use of an extensive list of third-party libraries including Duktape, Node.js, Poco, libcurl, and many others.
It supports many platforms such as Windows, OSX, Linux, Android, iOS and WebGL. It also has a flexible scripting approach and users can choose to code in C#, JavaScript, TypeScript or C++. There is an extensive library of example games available to all users, which show off different aspects and qualities of the engine.
Image taken from: http://atomicgameengine.com/blog/announcement-2/
Atomic has recently announced that it is now under the permissive MIT license. Errr great… What exactly does that mean? This means that Atomic is now completely open source and anyone can use it, modify it, publish it, and even sell it as long as the copyright notice remains on all substantial portions of the software. Basically, just don’t remove the text in the picture below from any of the scripts and it should be fine. Here’s what the MIT license in the Atomic Game Engine looks like:
Atomic Game Engine MIT License
The non-restrictive MIT license makes it easy for developers to freely contribute to the engine and getting creative without the fear of breaking any laws. The Atomic Game Engine acknowledges all of their contributors by publishing their names to the list of developers working on the engine and contributors have access to a very active community where almost all questions are answered and developers are supported. As a junior software developer, I feel I’ve gained invaluable experience by contributing to open source software and it’s also a really nice addition to my portfolio. There is a list of issues available on the GitHub page where the issues have a difficulty level, priority, and issue type labeled.
Contributors can download the MIT Open Source code here: https://github.com/AtomicGameEngine/AtomicGameEngine
*Disclaimer: This tutorial is based on using the Windows platform, SmartGit, and Visual Studio Community Version 2015.
**Another Disclaimer: I wrote this tutorial with someone like myself in mind. i.e. amazingly average in many ways, but also relatively new to the industry and a first time contributor to open source software.
Step 1: Install Visual Studio Community 2015 here.
Visual Studio download page
CMake install options
a) Go to the AtomicGameEngine GitHub Page and click on the Fork button. This will allow you to experiment and make changes to your own copy of the engine without affecting the original version.
Fork the repository
b) Navigate to your GitHub profile and click on your forked version of the engine.
GitHub profile page with repositories
a) Click the green Clone or download button on the right and copy the web URL of your repository.
Your AGE GitHub page
b) Open up SmartGit (or any other Git Client) to clone the repository onto your machine.
Clone repository in SmartGit
c) Paste the URL you copied earlier into the Repository URL field.
Copy remote url
d) Include all Submodules and Fetch all Heads and Tags.
Include all submodules
e) Select a local directory to save the engine.
Add a local directory to save the engine on your machine
h) Your engine should start cloning…
We’ve set everything up for our local repository. Next, we’d like to sync the original AtomicGameEngine with our local version of the engine so that we can always stay up-to-date with any changes made to the original engine.
a) Click Remote → Add →
i) Add the AtomicGameEngine Remote URL
ii) Name it upstream.
Adding an upstream to the original engine
We are ready to start building a Visual Studio Solution of the engine.
This will generate a new folder in the root directory, which will contain the Atomic.sln for Visual Studio.
AGE directory
At this point, we can make some changes to the engine (click here for a list of issues). Create a feature branch off the master for Pull Requests. Remember to stick to code conventions already being used. Once you’re happy with the changes you’ve made to the engine:
– Update your branch by merging in upstream. Resolve all conflicts and test it again.
– Commit your changes and Push them up to your branch. It’s now time to send a Pull Request.
a) Go to your fork of the AtomicGameEngine repository on GitHub. Select the branch you want to send through, and click New Pull Request.
b) Always remember to reference the Issue Number in your message to make it easier for the creators to manage the Issues List.
Personal version of the AGE
Your Pull Request will get reviewed by the creators and if the content is acceptable, it will get landed into the engine and you’ll become an official contributor to the Atomic Game Engine!
[1] The Atomic Game Engine Website
[2] Building the Atomic Editor from Source
[4] What I mean when I use the MIT license
RaheelHassim is a Software Developer who recently graduated from Wits University in Johannesburg, South Africa. She was awarded the IGDA Women in Games Ambassadors scholarship in 2016 and attended the Games Developers Conference. Her games career started at Luma Interactive where she became a contributor to the Atomic Game Engine. In her free time she binge watches Friends and plays music covers on her guitar.
I remember deciding to pursue my first IT certification, the CompTIA A+. I had signed…
Key takeaways The transformer architecture has proved to be revolutionary in outperforming the classical RNN…
Once we learn how to deploy an Ubuntu server, how to manage users, and how…
Key-takeaways: Clean code isn’t just a nice thing to have or a luxury in software projects; it's a necessity. If we…
While developing a web application, or setting dynamic pages and meta tags we need to deal with…
Software architecture is one of the most discussed topics in the software industry today, and…