Tuesday, January 10, 2012

The C++11 Lands

A lot has happened in the C++ lands recently. Our old map has become outdated. During the New Year holidays me and my friend Jim added some new stuff to the map. Well, he is the artist, so he actually added everything. We have a New Standard War now, old territories are significally imroved.

Here is the new version! ~13Mb.

JPEG version, which is smaller

People were very creative and found some interesting ways to use the previous version of the map besides "print it and put on a wall". A German university uses it to teach studens C++. The map was used on conferences. A small Russian store selling knifes used it in an advertisement.
We don't mind, you can do watever you want with it. But remember that some of the elements of the map were taken by Jim from internets and we don't own copyrights on them.

P.S. sources will be published soon

The C++ Lands. With sources - the old map

Monday, February 14, 2011

Monday, May 31, 2010

Robocalypse - Beaver Defense is out

Updated 07.06.2010
Nintendo Life 8/10
This is a fun tower defence game with enough unique features and strategic elements to keep it interesting and a sense of humour to set it apart from its competitors. While it suffers presentation-wise, don't let that throw you off as for those who enjoy the genre, this one's a must-have.

IGN 7/10
The silly style's still the same, but this is a whole different kind of Robocalypse.

Robocalypse - Beaver Defense is out! I was the lead programmer on this project and also did some management. It's a "tower defense" style game for Nintendo WiiWare.

"Set in a world of wise-cracking, battling robots, Robocalypse - Beaver Defense offers madcap weaponry and uproarious destruction in a “tower defense” style game. Players create and strategically position towers to annihilate waves of enemy robots, while player-controlled Hero robots act as mobile weapons units, bringing heavy firepower to all areas of the battlefield. Players can experience the hilarious Story Mode or face the Beaver's never-ending supply of robots in Survival Mode."


Interview with our producer, Alan Martin

One more interview with Alan
Official site
Nintendo press release

Sunday, May 30, 2010

Uninitialized pointer and member functions

A very unpleasant scenario possible when you forget to initialize a pointer to a class. Let's say, we have class CBase with a member function which doesn't use member data, i.e. it doesn't need this pointer.
class CBase
int i;
void f() { std::cout<<"CBase::f"<<std::endl;}

And after that you write the following code somewhere:

CBase* p = NULL;

This is an undefined behavior by the Standard. But sometimes it works. Visual Studio 2008, for example, generates a working code. The function call is resolved during the compilation, we don't use this. And you remain oblivious for a long period of time. Here is a scarier looking example

But when you try to use this pointer, you program "crashes". Examples:
class CBase
int i;
virtual void f() { std::cout<<"CBase::f"<<std::endl;}

class CBase
int i;
void f() { std::cout<<"CBase::f"<<std::endl; i=0;}

All this leads to very interesting, hard to find bugs.

comp.lang.c++.moderated - Functions that don't use this, called with uninitialized pointers

Friday, May 14, 2010

The C++ Lands. With sources.

This is an old post, I decided to repost this translation here and added sources.

People ask me about copyrights. I don't mind if you use it somewhere... anywhere you like. But some of the elements of the map were taken by Jim from clipart galleries, I don't own copyrights on them.

The map is very popular all over the Internet. It's discussed on reddit and boingboing.

C++ language is quite complicated. It looks like a total mess when you start studying it. That's why I tried to draw a scheme of it. My drawing was real crap and I asked a friend to help me. And now, thanks to Jim, we have a nice and simple C++ language map.

The current version. With templates and Qt. 1600x1110. And for printing 3298×2288.

The previous one. With a typo.

Old version in higher resolution: 2702x1886

Sources: the map and background.

Thursday, May 6, 2010

Paris Game AI Conference 2010

The annual Paris Game AI Conference will take place in June, 23-24th and I'm attending. I hope that Katla will not decide to erupt these days.

It's a small event dedicated entirely to the Game AI. It's quite popular, all tickets were sold out in the end of April. After that Alex Champandard, who organizes the conference, found a new, bigger place. And now he has a new problem - to sell all new tickets.

Thanks to Google I can look at the place from my Moscow flat.

The conference is in English. Program is here Program Highlights. Twitter hashtag is #AIGD10.