Archive for the ‘Programming’ Category

GDC09 : Parallelism in AI & AIGamedev.net conf

Sunday, July 5th, 2009

At last GDC, I had the chance to talk about multithreading applied to AI. The talk was part of the AI summit. The summit was a great experience and I would recommend it to anybody interested in AI. I was also invited to talk about multithreading at the AIGameDev.net conference. You can find the notes and slides on the website. Gamedev.net also covered the event

It’s been a while since I posted a technical article, but I’ve one nearly ready to go. It will talk about Thread Local Storage.

The slides from GDC can be download here

Banana Scrum

Wednesday, April 15th, 2009

Banana Phone?Fishing Cactus is proud to announce that we are using Banana Scrum web management tool to track the progress of our projects using Scrum methodology of course. We are currently evaluating the tool with two internal projects.

And it’s free.

Banana Scrum tool includes the following features:

• project backlog with tagging and intuitive sorting through drag and drop, which allows you to put there items that need to be done in the project

• sprint planning that allows you to assign items with tasks to the sprint

• sprint backlog where you can add tasks,expected time of doing it and sign them to team members

• impediment list where you can place encountered difficulties during the sprint and add it’s description

• file uploading for each item to be done in the sprint

• tags managing which allows you to add new tags and mark your tasks

• CSV export that will export your backlog items to CSV file

• burndown chart that shows you on a diagram if your sprint is feeling fine

• admin panel with users managing and project managing options

• different roles including Product Owner, Scrum Master and Team Member

• intuitive, easy to use user interface

• separate accounts with multiple projects and users

If you want to know more about Banana Scrum you can go here or watch a small presentation video here.

You wonder why this tool has such a silly name? Remember the Agile Manifesto? “Individuals and interactions over processes and tools”. This is just a tool, nice and useful but just a tool. They don’t want to get too pompous about it.

Fixing C++ static and global variable initialization

Wednesday, January 28th, 2009

Order of static and global variables initialization is a well-known uncontrolled phenomena. There is no way you can change it, variables will be initialized in an order the compiler is the sole to decide. The singleton fixes this problem by postponing the initialization at the first time the object is used. But then creation time is unknown and multi-threading issues may appear. This article propose a simple technique to force order of initialization.
(more…)

Book review : The Art of Multiprocessor Programming

Monday, December 29th, 2008

The Art of Multiprocessor Programming Console has recently pushed a new paradigm in the hand of game programmers. Multi-thread programming is now in our everyday life. The transformation of a sequential game engine into a multi-threaded engine is far from being trivial, and no references exists on this particular topic. Even if multithread programming is far from being new, few books are focused on concept and theory. Books about API are good, but they don’t teach you the good way to use the APIs from a design point of view. This book introduces theory and then apply it with code samples. Everything is programmed in java, but it applies to C++ as well.

The first chapters introduce abstract theoretical concepts, such as memory models. The next chapters cover concrete datas structures that help understanding concepts exposed earlier. The approaches and concepts used will help the reader to understand the phase one must follow to transform a sequential algorithm into a multi-threaded one. Most of the book is oriented around collection, but the result is good: each collection touches a new problem and exposes a new solution. Going from lock-based to lock-free algorithm, the process shows step by step transformations of collections such as set, list, hash map. To finish, work distribution and transactional memory are explained. Those chapters also introduce concepts that may appear in future architectures. The book closes with a huge appendix that exposes platform specific knowledge that one must know to address unexplained behaviors.

Elegantly written, this book is a bible, the code provided is clear, and the difficulty increases smoothly chapter after chapter. This book must be putted into every game programmer’s hands. But if they do not have any multiprocessor knowledge, the dive may be hard to stand.

Amazon
Elsevier

Fishing Cactus is a Nintendo Official Developer

Wednesday, December 3rd, 2008

We recently received our access to Nintendo development tools. Dev kits have been ordered and are on their way. We are really excited to see our projects taking life on such amazing platforms. Until now our Wii targeted softwares have been developed on PC. We hope it won’t take long until our games run on the console as we’ve already quite an extensive experience on GameCube (it’s not that different from the specs point of view). The next step is to play with the Wii Remote and see if our concepts prove to be correct.

Stay tuned, news will soon flow about our first Nintendo project.

SESS : Data-driven Interactions of Characters with environment

Thursday, November 20th, 2008

At GDC 08, I had the chance to present the motion engine we developed at 10Tacle Studios Belgium. It was a great adventure and the results are really due to a fantastic team of programmers and game designers. Unfortunately, we did not survived to the 10Tacle financial storm. I really miss the mood we had in our office. This team was a family for a lot of us, with its good and bad days. But today, we need to walk forward.

The slides of this presentation were available on 10Tacle website, but everything vanished. I think it’s time to provide them again, as there’s not much chance to see Totems any time soon :-(

So from now on, the slides will be available from Fishing Cactus website

http://www.fishingcactus.com/blog/gdc-sess.rar

If you want to listen to my not-so-bad-English-with-a-French-accent, you can buy the talk audio here (Thanks to Julien Delezenne for the link )

Enjoy!

Defining a Coding Standard

Monday, November 17th, 2008

One of the first step a company must take is defining a coding standard, and possibly the last. The web and books are full of coding conventions, but you might want to specializes it.

(more…)

Blobbies Wars XNA Dream Built Play contest

Saturday, November 1st, 2008

We submitted a version of Blobbies Wars in mid September for the XNA Dream Built Play contest hoping for a publishing contract with Microsoft. The contest has now ended, winners were announced and sadly we aren’t in the finalists.

Honestly the quality of the game was already pretty much there but there wasn’t enough polishing and content on the gameplay side to compete with other talented game creators. In fact there was only a two player game mode while other games had tons of modes, even multiplayer ones. The 1st game has even a level builder included! Difficult to stand against that…

In the end, I don’t feel so sad because we lost. I’m even more convinced that we can achieve something better next time, we just hadn’t enough time to invest on the project. Anyway this was a great opportunity to make an important step on the game.

cookie-cat.jpg