Atomic Game Engine

edited in General
A clarification, since at least one reader misunderstood that Luma was responsible for Atomic: The company behind Atomic is ThunderBeast LLC, based in the states: http://atomicgameengine.com/about/

Luma simply uses the engine for product development, and we're a regular contributor, financially and with code submissions.


So I thought I'd post about this engine here for anyone that's interested. We started working with it a few months ago for an upcoming project. It's early days yet, but the lead behind it has solid experience and the whole thing has some great governing philosophies about openness and access.

Atomic is basically glued together out of a collection of other open source projects, with the big star there being Urho3D. A couple of key points:
*It offers a component based design similar to Unity's
*Builds can be deployed to just about any modern platform, including WebGL
*While it uses a Javascript or C# scripting layer, the C++ core is full open source and can be debugged. There is no support for debugging JS just yet. C# support is underway as well, using Microsoft's recently released CoreCLR, not Mono like Unity. C# uses either CoreCLR or Xamarin, depending on the platform, and can be debugged using visual studio.
*The developers are really engaged with the community, with the lead constantly on the project's Gitter, and regularly releasing dev updates (latest one is here: http://atomicgameengine.com/blog/development-digest-4/ )

Check out the site, you can download a snapshot of the engine or just grab the repo yourself and build it from source:
http://atomicgameengine.com

image
image

Comments

  • And they've just announced that all contributors to the engine (or the other open source projects it leans on) get free lifetime licences :)

    http://atomicgameengine.com/blog/announcement-1/
  • Looks like they are getting far quickly.
    As of right now, what would be the benefits of this over Unreal and Unity?

    I also don't really understand how they have pricing when it is OSS. Does that mean I can just pull the repo myself and build the full version? Or is there a licensing restriction against doing that for commercial use?

    Side note: They work directly on master - pretty unusual for a big project.
  • sounds cool, but I would be very wary about using such a big open source project for commercial purposes. From a business point of view I feel much more comfortable using technology that has a team of paid devs working on it ful ltime.
  • sounds cool, but I would be very wary about using such a big open source project for commercial purposes. From a business point of view I feel much more comfortable using technology that has a team of paid devs working on it ful ltime.
    Proprietary makes me more nervous than open source. Some company owns a chunk of your game, can go out of business at any time and you're not able to maintain it yourself if that happens?
  • @rustybroomhandle.

    Don't get me wrong, opensource definitely has a place in every toolset (e.g. we use Jenkins, Tortoise SVN, THREE.js, Laravel, sonyATF, HAP codec etc etc etc).

    But I think in the case of proprietary engines like unity, I think many concerns you have raised are a little bit moot. The odds of unity / unreal going bust during a single game dev life cycle is basically 0.

    Also regarding game ownership, if you are making a for-profit game, then someone else is going to own a big chunk of it no matter what you do, whether you like it or not (i.e. a publisher - unless you manage to self fund, which has also been proven possible). I would say in that instance its better to own a small slice of a big pie, than a whole lemon.

    I haven't done the calculations but I would hazard a guess that if i had to switch to an engine like Atomic, the cost to run it (in hours lost over a 5 man team) trying to debug weird engine issues, would out way the cost of buying unity licenses pretty quickly. Also on that note, when working on a bigger game, one can interface with the Unity Business Development team, who can ninja any engine bugs you run into at the last minute (at a huge cost of course, but its definitely good to know you have that backup if you need it)

    That all being said,, i do however agree there is a space for opensource engines, especially if you are engaging in a non-for-profit opensource game, which would be an extremely noble endeavor - and something I would love to see more of.

  • You can also buy access to the Unity source code (presumably for big money) FWIW.
  • I have to disagree with some of you. I come from DirectX\XNA background and since I started programming I have been looking for a good open source solution to write my games in. The reason being I am from the low income family at the township and could not afford fancy engine like some of rich people in this forum, so I opted for rolling my own engine. After microsoft disgrace on XNA, I had to find other solutions, so I taught myself Actionscript. As I was porting my engine from XNA to Actionscript, Actionscript was dying and the return of html5, so I thought I shoud learn some commercial engines. I spent entire week and half learning game maker, the I realized I had waisted my time. The was no good way of structuring my code, so most of the time I lost track of what I was doing. I quit. Tryed unity for a month. There were to many paddles, I felt more of an artist than a programmer, but I was no artist and I was working alone so I had to switch from 3D to 2D because at the time I met an Illustrator and he wanted to work with me. Unity licence was too expensive for me and could not even afford the download size for every update... Again could not see the source code, which was out of my confort zone. At the time I was doing revision on javascript and reading the book "Beginning Android Games by Mario Zechner". At the end of the book the author suggested libgdx. In three days after going through some tutorials, I felt right at home, again I could structure my code and I didn't have to pay a cent to run on major platforms, I had excess to the entire codebase and no huge downloads that will chow my databundles. I had fun with it. Because I was a huge fan of windows phone(from my XNA background). libgdx could not run on my windows phone. I was jealous, I looked for something that looked like libgdx but ran everywhere. Then I met the guy called cocos2d-x and we have been best friends ever since, sometimes I use his brother cocos2d-js.

    so I think open source engines are great for a guy like me who likes to control. The only disadvantage is that you don't have to be a lazy programmer. And I could not run a merchant account on google which has the large userbase in south africa, so they expect me not to profit for my work, because my games are mostly targeted at south africans, expecially those who have never palyed games in their lives. But this has nothing to do with cocos2d-x
  • Thanks for all the comments guys :)
    roguecode said:
    Looks like they are getting far quickly.
    As of right now, what would be the benefits of this over Unreal and Unity?
    Very quickly :) To be honest, for many teams there wouldn't be benefits. If all you want to do is build your games and get them out quickly, the more established engines have more to offer out the box, and bigger supporting communities. However if you're interested in learning more about how those engines actually work, want to contribute to such an engine to build up your technical portfolio or want particular control over your technology and don't mind giving the tech some time to develop, it might be good choice. The equation will be different in a couple of months as Atomic matures.
    roguecode said:
    I also don't really understand how they have pricing when it is OSS. Does that mean I can just pull the repo myself and build the full version? Or is there a licensing restriction against doing that for commercial use?
    Yeah, commercial + OSS is always a bit funny. Technically you could probably pull down the repo, hack out the licensing system checks and carry on. That would likely be against the T&C, and you'd be a douche and I guess they're banking on that being the minority of people. I'm no licensing expert though, if you have questions about their licensing, feel free to ask on their forums, gitter or twitter. They'll definitely be happy to answer any questions you may have :)
    roguecode said:
    Side note: They work directly on master - pretty unusual for a big project.
    Nope, they work in feature branches and PR those changes in. External contributors work in their own forks, issue PRs and those get merged in. If you mean they don't use something like git flow, that's true but not that uncommon. They don't have a 1.0 release yet, perhaps after they do work will continue on version branches. They always keep a stable snapshot available for download, and master is kept fairly stable because they have a CI service checking builds. We keep a separate fork (fun fact: you can't have a private fork of a public repo in Github :/ ) and sync changes with upstream about once a week, so we haven't had any issues with the build suddenly being broken.
    sounds cool, but I would be very wary about using such a big open source project for commercial purposes. From a business point of view I feel much more comfortable using technology that has a team of paid devs working on it ful ltime.
    But I think in the case of proprietary engines like unity, I think many concerns you have raised are a little bit moot. The odds of unity / unreal going bust during a single game dev life cycle is basically 0.

    Also regarding game ownership, if you are making a for-profit game, then someone else is going to own a big chunk of it no matter what you do, whether you like it or not (i.e. a publisher - unless you manage to self fund, which has also been proven possible). I would say in that instance its better to own a small slice of a big pie, than a whole lemon.

    I haven't done the calculations but I would hazard a guess that if i had to switch to an engine like Atomic, the cost to run it (in hours lost over a 5 man team) trying to debug weird engine issues, would out way the cost of buying unity licenses pretty quickly. Also on that note, when working on a bigger game, one can interface with the Unity Business Development team, who can ninja any engine bugs you run into at the last minute (at a huge cost of course, but its definitely good to know you have that backup if you need it)
    @shanemarks I'm a huge Unity fan, and agree for most commercial projects having a big paid team of engine devs behind the tech is a massive advantage and that the chance of any major disruptions is damned near zero. However our needs are quite specific, we have a longer product cycle than most games and past changes in Unity licensing for our particular industry have been.. problematic. For that reason we have decided we need to have control over our full tech stack. We're acutely aware of the real cost of using a new engine over something that's being battle tested daily by thousands of developers-not to mention losing the benefit of having developers available in the market that have at least some experience in your toolset. That said, an open source solution that is already far along is a big win over building it all ourselves from scratch, and it doesn't hurt that we have a great working relationship with the developers :)
    That all being said,, i do however agree there is a space for opensource engines, especially if you are engaging in a non-for-profit opensource game, which would be an extremely noble endeavor - and something I would love to see more of.
    Keep in mind this is a commercial open source engine. And yeah, competition of any sort in the industry can only be good for it. There are some other alternatives out there (we went through the process of evaluating them) but there's no question that Unity and Unreal are the 800 pound Gorilla couple. Each of the other underdogs out there has their own hook, but I doubt any of them aspire to really be the next Unity or Unreal just yet.
    roguecode said:
    You can also buy access to the Unity source code (presumably for big money) FWIW.
    Yup, we're aware of that. Again their licensing terms are a problem for us.



  • @skinnyboy Why not try FNA - it's an open source, cross-platform, actively maintained implementation of XNA.

    https://github.com/flibitijibibo/FNA
    Thanked by 1mattbenic
  • @mattbenic.

    Thanks for the reply. Very interesting to get your insight and I appreciate you taking the time to write it up, made me think some more about a different point of view to the one I'm pretty entrenched in ;)
    Thanked by 1mattbenic
  • Nice video on Atomic by GamesFromScratch:

  • Latest Atomic dev digest, including some more contributions from Luma devs :)

    http://atomicgameengine.com/blog/development-digest-5/
    Thanked by 1Stray_Train
  • edited
    It looks really interesting @mattbenic I need to find time to do some more research.

    So is there appetite for a game jam/forum competition with the engine?

    Perhaps some of the devs familiar with it on support?
  • I don't know if it lends itself to a jam as easily as one of the more complete toolchains like Unity or Gamemaker, but it's certainly possible. Perhaps some of our juniors that have been using the engine would be keen?

    Before that, I'd be keen to see one of them at least do an intro talk on the engine.
  • Intro talk would be a great shortcut for those of us who would like to know more about the engine.
    Thanked by 1garethf
  • edited
    So out of interest, there's a new dev snapshot out that has some great improvements for scripting in the editor. TypeScript is now transpiled directly in-editor to JS making it much easier to use as the primary scripting language:
    http://forum.atomicgameengine.com/index.php?p=/discussion/comment/807/#Comment_807
    tbulford said:
    Intro talk would be a great shortcut for those of us who would like to know more about the engine.
    It would be, I'd like to talk one of our juniors (that have all contributed directly to the engine, as well as actually using it) into doing that talk ;)

    Thanked by 1tbulford
  • So Atomic now has support for C# scripting, complete with direct debugging from Visual Studio (including down into the engine!). It uses .Net Core on windows, and the Xamarin stack (basically a newer version of what's in Unity) on other platforms. Here's a video of a game being played on an NVidia shield (Android):

    Thanked by 1Fengol
  • Can I request a feature, please. :)

    Would it be possible to suggest to the devs to include 64bit position support with a 64bit depth buffer? Having that opens up a huge market that is basically inaccessible right now.
  • The best way to request a new feature would probably be to open an issue for it on Atomic's GitHub page. You could also join the gitter chat and discuss it there, maybe one of the casual contributors would find it interesting to implement :)
  • It's probably a bit beyond what a casual contributor can accomplish though, I guess you do mainly marketing for the project, thanks for the reply.
  • @mattbenic is a pretty hardcore contributor from what I can see ;)

    Ive only recently started contributing but I really like Atomic. I am currently working on making the engine even easier to get started with for noobs. I also want to do a tutorial series like Unity has so watch this space.
    Thanked by 2mattbenic critic
  • edited
    @critic we (Luma) use the engine to build actual products, and when feasible we contribute back the things we build/improve because we needed them. There are some pretty dedicated (and skilled) contributors that have done things like add PBR rendering, add (JS/TS) plugin support to the editor, add NAT punchthrough for networking, and all sorts of other things. There are less "hardcore" contributions as well, but every bit helps to improve the engine :)
    Thanked by 2critic IceCliff
  • Your funding is looking pretty decent this month, have you guys considered putting someone permanently on the project if the trend continues?
  • We contribute financially, and when our devs have down time (or there's a feature we need) they do work on Atomic. I don't think we could really justify more than that :)
    I also feel pretty strongly about exposing the devs on my team to as much of our code as possible, to keep "bus factor" to a minimum. So I doubt I'd ever want any single person as the "atomic guy (or girl)".
    Thanked by 1critic
  • Your funding is looking pretty decent this month
    I assume you mean Atomic's funding? (http://atomicgameengine.com/funding/)

    To be clear Luma doesn't own Atomic or anything. We use it for development, and we're a regular contributor, financially and with code submissions.

    The company behind Atomic is ThunderBeast LLC, based in the states: http://atomicgameengine.com/about/
    Thanked by 1critic
  • That's pretty noble of you, I assumed you owned Atomic (impression I got from the OP), three thumbs up for what you are doing...
  • Well, it's to our advantage as well, as is encouraging others to use the engine. The more people using it, the more contributors it is likely to attract, the better the overall quality of the engine ;)
    Thanked by 2Kobusvdwalt9 critic
  • Atomic has released a new feature reel video, and included in it is the Animation Previewer built by our very own Johnny Saleh.. Whose forum name I don't know :p

    Thanked by 1Elyaradine
  • I believe he's got the deeply traumatic name of @johnny_final_02. :D
    Thanked by 1mattbenic
Sign In or Register to comment.