• Ever wanted an RSS feed of all your favorite gaming news sites? Go check out our new Gaming Headlines feed! Read more about it here.

dragonbane

Member
Oct 26, 2017
4,583
Germany
Ubisoft is entering the open-source spaces by releasing their internal build tool Sharpmake originally created in 2011 for AC 3 to the public. Similar to CMake and primarily aimed at game developers on Windows here are some of the advantages outlined by a Ubisoft dev on reddit:

Overall, Sharpmake shines with big C++ code bases.
  1. Sharpmake is fast. Our tests that we did to the best of our knowledge show results like 100-200 times faster than Premake/CMake. In our use case, we generate many project files each time we sync code, so that performance is important.
  2. Sharpmake is easier to use for C++ programmers. We have seen many programmers from a project edit the Sharpmake files, without needing some Sharpmake expert.
  3. Debugging and Intellisense in Visual Studio.
  4. Using C# is making Sharpmake flexible. Sharpmake is really using normal C# code (it's not a variant like .csx format, for example), opening a lot of doors to develop interesting solutions directly in .sharpmake.cs files.
  5. Support for all consoles. However, some platform holders prefer the code to not be public, so you have to go through them to get the code.
  6. Built-in support for FastBuild and blobbing (unity builds). It's really easy to try FastBuild to compare compilation-time with FastBuild, or use Sharpmake solution for unity builds called blobbing (same thing, just different name). You can mix these projects inside the same .sln, to support shortcuts like Ctrl-F7 or to view compiler options in non-FastBuild projects.

https://www.reddit.com/r/gamedev/comments/79wq70/introduction_to_sharpmake/

GitHub Repo: https://github.com/ubisoftinc/Sharpmake
Presentation Video: https://www.youtube.com/watch?v=h9imGlRtJpg
 

Tensuke

Member
Oct 27, 2017
117
That's cool of them. It looks like a good solution for gamedevs compared to something like cmake.
 

Truant

Member
Oct 28, 2017
6,757
Interesting. I wanted to create a thread regarding how high-quality and efficient tools could help save the "AAA single-player game" space by reducing development time and cost, but I don't have the privileges. Stuff like this is exactly what I'm thinking about.
 

Nirolak

Member
Oct 25, 2017
5,660
A few studios have been doing this lately. EA open sourced EA STL a year or two back.
 

_Rob_

Member
Oct 26, 2017
606
Aww, for a moment I though this would be about the UbiArt tech behind Rayman Origins/Legends. Still anything like this going open source is good news.

 

machinaea

Game Producer
Verified
Oct 29, 2017
221
This is pretty cool, open-sourcing some (small) proprietary tech has felt like it's been more popular amongst even bigger app/web developers, but unfortunately I've seen very few examples in the games industry (though my previous employer did have quite a few those and were pretty open about it).
 

Alx

Member
Oct 27, 2017
660
That's interesting. I use cmake a lot, but wouldn't mind a tool easier to script and debug.
 

Phantom

Writer at Jeux.ca
Banned
Oct 28, 2017
1,446
Canada
I always wondered why developers don't give away the source code for their outdated games so the community can create their own assets. Yea sure, I know it's their code and all, but it's not like they are using it anymore. Probably some contracts not allowing them to share or possible copyright issues? How cool would it be to have the possibility to, say, take Resident Evil Outbreak and make it work today with bug fixes and whatnot (I know there are private servers, not the same though).
 

Deleted member 5876

Big Seller
Banned
Oct 25, 2017
2,559
What games were made with this engine?
Hidden content
You need to reply to this thread in order to see this content.

EA STL isn't an engine. It's a replacement for the C++ STL - which consists of generic algorithms and containers like arrays, lists, etc. Its pretty boring but essential stuff that is in every engine but isn't *the* engine itself.
 

Stalker

The Fallen
Oct 25, 2017
6,725
I always wondered why developers don't give away the source code for their outdated games so the community can create their own assets. Yea sure, I know it's their code and all, but it's not like they are using it anymore. Probably some contracts not allowing them to share or possible copyright issues? How cool would it be to have the possibility to, say, take Resident Evil Outbreak and make it work today with bug fixes and whatnot (I know there are private servers, not the same though).

So if you don't want private servers what do you want?
 

Crossing Eden

Member
Oct 26, 2017
53,290
Interesting. I wanted to create a thread regarding how high-quality and efficient tools could help save the "AAA single-player game" space by reducing development time and cost, but I don't have the privileges. Stuff like this is exactly what I'm thinking about.
We're already at the stage where devs are constantly using higher quality tools allowing for "easier" development,

I always wondered why developers don't give away the source code for their outdated games so the community can create their own assets. Yea sure, I know it's their code and all, but it's not like they are using it anymore. Probably some contracts not allowing them to share or possible copyright issues? How cool would it be to have the possibility to, say, take Resident Evil Outbreak and make it work today with bug fixes and whatnot (I know there are private servers, not the same though).
Same reasons why big animation studios don't release the rigs used in the film even if there are never any plans for a sequel.

This.

The Ubiart engine has been used to make some absolutely gorgeous games.
The engine isn't specifically the reason why Ubiart games look that good.
 

Deleted member 11926

User requested account closure
Banned
Oct 27, 2017
1,545
I like that step from Ubisoft and I will certainly have a look at sharpmake. But I feel that one of the main reasons to use CMake is to be more platform agnostic, which sharpmake seems not to be, as it is tied to the windows platform.
But obviously this is targeted for game devs, which is the big draw. CMake is more general purpose.
I don't think that we will use this on our AI research... half that stuff isn't even done in C++...

But overall a good decision! Would be nice to see big devs to move towards a more open source approach to some stuff and share technology that way.
 

Vinc

Member
Oct 25, 2017
7,383
These initiatives are probably to help with recruitment, I'm guessing. There's no reason for companies to not make it as easy as possible to learn their tools.