Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 05 Jan 2009
Offline Last Active Sep 26 2014 01:52 AM

Posts I've Made

In Topic: Game content source repository?

26 August 2014 - 05:43 AM

We use perforce here, on a large project with multiple teams around the world, to store both the code and the data.

Some things that make perforce good for this are:

- the possibility to have different locking policies per file type (you want to allow multiple checkout for sources, but exclusive checkout only for binary data such as art assets)

- the possibility (again, per file type) to limit the number of revision for which you keep the actual data. For instance, you can get it to store only the last 5 revisions of PNG files and discard earlier ones. This is vital for very large project s that really deal with a lot of data, to keep the size of the repository under control.

- perforce allows to setup proxy servers, and it works really well and allows the dozens or hundreds of people working at each studio to just talk with their local proxy, which in turn incrementally synchronize themselves with the central repository. This way the (large) data being committed elsewhere in the world is only downloaded once by your local proxy, and then everyone gets them on their PC through the lan. Imagine if a team of 100 persons had to download the same latest art assets through the internet directly...

Despite of all this it is very responsive in practice, someone on the other side of the world pushes a commit through their local proxy and you see it almost immediately. Of course when large operations are underway such as branching or large commits it tends to create some slow downs but nothing really crippling.

In Topic: So... C++14 is done :O

22 August 2014 - 04:40 AM

My feeling is that if the committee can't write clean, efficient, proper C++ code, how they hell are we supposed to be able to?  If the committee can't write a simple vector implementation, then they need to get back to the drawing board and figure out why they cannot, rather than just pass the buck onto the vendors. I mean the whole reason Boost in its current form exists (and I love Boost) is simply because its the standard library that C++ needs.

Most of the people who work on compiler implementations and their corresponding STL implementations are actually part of the standard committee, and they actually work on the implementations of proposals while they are still in discussion to help nail down design issues.

The point of standards is that multiple people can independently implement them. A reference implementation would defeat the purpose.
If everyone used the same implementation, every quirk and defect of said implementation would de facto become part of the standard as people would end writing code unwittingly relying on them.

In Topic: De-compilation reqeust...

11 February 2014 - 05:57 PM

Losing data in the year 2014. Well done, OP.

In Topic: c++ memory leaks detection

26 January 2013 - 03:37 PM

There's also www.drmemory.org, which is similar to valgrind but also works on windows.

In Topic: Installing Linux Right Now, And I Have Some Questions.

22 November 2012 - 03:32 AM

QtCreator is pretty good and works very well even for non Qt based projects. I use cmake and qt creator handles cmake projects pretty well (with a caveat that can easily be worked around).

It is good because it's fast, with a minimalistic yet useful user interface entirely based on spliting the window into non-overlapping areas, and using drop down lists instead of tabs (which makes it much less messy to juggle between lots of files than in say, visual studio). I used to use kdevelop 4 (which also have a strong support for cmake projects) but it was a bit slow and unstable (I pretty much always had to disable the indexer).

As for other software, if you're doing C/C++ development I can't recommend cmake enough.

You can easily automatize finding out where third party libraries that you need are installed and automatically setup the necessary include and linking paths, you can easily setup unit tests and execute them automatically, you can easily do non trivial build stuff like compiling a custom code generation tool and then run it before compiling its output all with the right dependency order, and last but not least it's cross platform so if some day you want to make a windows version of your project you can still use cmake to do it.