• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.

the Speed Bump

  • Content count

  • Joined

  • Last visited

Community Reputation

240 Neutral

About the Speed Bump

  • Rank
  1. Resist the temptation to nest your namespaces too deeply. They are cool and all, but you can quickly make code a lot more unwieldly than it needs to be if you have a lot of namespaces floating around. I tend to create a single 'root' namespace for a project, and avoid going any deeper than that unless I am having troubles with symbol conflicts. (which is uncommon in C++, since it has such nice overloading rules)
  2. Quote:Original post by DrEvil Your timer event is essestially a hack for an update() call to be called constantly. It adds unnecessary overhead to implement that through events. In no way is that better than a game loop. Untrue. vore2005's game will not drain the life from a laptop battery in the same way that a conventional event loop does. (my own laptop lasts three times as long if not running such programs)
  3. This is just an educated guess, but my money says that the file was the same as the one in the repository. Subversion doesn't use timestamps to determine whether a file has changed; it compares the contents of the file. If there are no changes to commit, it doesn't commit anything.
  4. I second the recommendation for test-driven development. Once you have several truckloads of non-interactive tests on the majority of your code, it becomes easy to make extremely aggressive changes to the code without worry of breaking existing behaviours. (another odd thing is that TDD seems to be more productive despite the fact that it involves writing a lot more code...)
  5. I haven't tried Axiom personally, but it may be what you're after.
  6. Quote:Original post by chollida1 C++ is a paint due to having to manually manage memory, allthough this can almost be completely be dealt with by using containers and smart ponters as some cleaver posters have noted!! C++/CLI allows you to allocate managed (ie garbage collected) classes on the stack or on the heap, as suits your needs at any given moments. It's also possible to do all kinds of other awesome things like mix generics and templates at will. (plus they added a 'for each'!) Now if only they would actually release the darned thing! ;)
  7. Why not take one out for a spin? The learning curve is pretty low if you already have a firm grasp of C++.
  8. You could try Boost.test (or NUnit, JUnit, or whatever)
  9. Quote:Original post by iduchesne We are using the Torque engine and with a good EULA, doesn't matter if the assets get stolen... if they are used somewhere else and we known it's our assets then it's a reason to get the law involved ;) This is somewhat tangental, but anything you release is always automatically protected by copyright, whether you slap a EULA on it or not.
  10. The example you're looking at is describing how to do it using the .NET class library. If that's what you had in mind, then you just have to tweak the "Use Managed Extensions" option in the project settings. If it's not, then you need to look around a bit for another example. (or wait for a reply from someone who knows the standard library better than I ;)
  11. SCons does have a build option to create Visual Studio project files for a compile target, but I can't see it scaling for very complex projects. What you can also do is create a "makefile project" and set it to run SCons as the build action.
  12. Longhorn's primary language is actually C++/CLI, which is something that is completely distinct from MC++. Nobody will be forced to switch to C# at gunpoint. C++/CLI is what MC++ really should have been. I'm rather excited about it. using namespace System::IO; IList<String^> readFile () { std::vector<String^> lines; // Hey look we can create this on the stack now StreamReader fs("myfile.txt"); while (String^ s = fs.ReadLine()) { lines.push_back(s); } return lines; // <-- !!! } http://www.microsoft.com/seminar/shared/asp/view.asp?url=/seminar/en/20050325bdunlap/manifest.xml&rate=2
  13. It's a bit Linux-centric, but you can find a number of language benchmarks at http://shootout.alioth.debian.org.
  14. I found BOOST_FOREACH to be terribly leaky. It will fail with incomprehensible error messages in the weirdest situations. I can't remember the specifics any longer, but the first (and last) real problem I had with it went something like this: std::map<std::string, SomethingElse> mapOfStuff; foreach (std::pair<std::string, SomethingElse>& iter, mapOfStuff) // Fails, with an unintelligible error message { ... } typedef std::pair<std::string, SomethingElse> PairOfThings; foreach (PairOfThings& iter, mapOfStuff) // works { ... } I'd rather like to see both typeof and auto introduced into the language. They can frequently be used for the same thing, but they don't always overlap.
  15. A good rule of thumb is to bear in mind that, until you see that your existing, working program is too slow, your time is infinitely more valuable than any number of CPU clock cycles. Write code in whatever way you can so as to get as much working functionality in as little time as possible. You can always make it fast later.