Rickroll
- Boombot
- Ryzom Rises Again
- Stargate Worlds - A Gated Community
- GameSetNetwork: The Portals Of Portal
- Battlefield Heroes Footage, Limited Beta
- Cintiq
- Bannerman on Canada and the WIPO Development Agenda
- Quebec Group Sues Provincial Government for Failing to Consider Open Source Alternatives
- Larry’s new favorite windows message – WM_PRINTCLIENT
- Return Of The Ninja: Tose's Stealthy Outsourcing Progress
Blogroll
Boombot
There aren’t enough games in which you’re indestructible. Even in Superman games and Hulk games you’re kept Earthly by health and energy bars. Madness! There’s nothing wrong with a good old power fantasy, but developers seem determined not to indulge us. This webgame does. In Boombot, you can fall down a hole and have to restart the level, but that’s more error than death as such. More importantly, you can’t be killed even by all the explosions in the world. See this?
This does not hurt the Boombot, not one bit. For he is INDESTRUCTIBLE. … [visit site to read more]
Ryzom Rises Again
Nevrax send word that their free-to-play MMO, Ryzom, which had previously been closed down, is now back online. I’m not quite sure how they’re paying for it to be online and free, as there doesn’t seem to be advertising or anything, nor am I sure how much the game has changed since it launched (when it was intriguing with its science-fantasy take, and yet broken) but it does have an editor that allows you to create your own instanced scenarios, which is an idea that I like very much.
Hell, it’s free. Someone with a few hours spare download it and report back. … [visit site to read more]
Stargate Worlds - A Gated Community
The best bit about the Stargate movie (no, seriously, there is a best bit) is when all the soldiers are running around the pillars under some Egyptianesque building. Every time they get to a pillar they press their backs against it and “cha-chunk” their big rifles. Next pillar, “cha-chunk”. Pillar after that, “cha-chunk”. The amount of live ammunition lying all over the floor in that room must have been a hazard. And that is definitely the best bit in that film. Apart from trying to guess if that baddy is a boy or a girl. Fortunately this is unlikely to have an influence on the MMO Stargate Worlds, for which there is a trailer below.
GameSetNetwork: The Portals Of Portal
Aha, may be time to pick the best posts of the week so far from big sister site Gamasutra and elsewhere on our Think Services sites/blogs - with a number of neat features such as the 'Demystifying Portal' piece heading up the line-up.
Also in here - a further look at obstacles in games, an awesome Yasuhara interview, Gas Powered Games' Chris Taylor on the media talking directly to developers, Game Career Guide on the art of manual making, and lots more fun.
Erk splat googoo:
Gamasutra Features
Defining Boundaries: Creating Credible Obstacles In Games, Part 2
"Sidhe designer Griffiths (Gripshift) sparked much debate with his previous article on invisible barriers in games -- and he returns with an in-depth design article, examining practical solutions."
Sponsored Feature: Inking the Cube: Edge Detection with Direct3D 10
"In this Intel-sponsored feature, part of the Gamasutra Visual Computing microsite, Intel senior graphics software engineer Joshua Doss delves practically into techniques for edge detection, crucial for many approaches to non-photorealistic rendering."
Games Demystified: Portal
"In this neat technical article, Alessi deconstructs Valve's Portal -- including a demo and example source code -- to give a clear understanding of the physics principles behind the game's compellingly-executed teleportation mechanics."
Game Design Psychology: The Full Hirokazu Yasuhara Interview
"Unsung game designer Hirokazu Yasuhara, one of the 'original three' behind Sonic The Hedgehog, also helped make Western titles like Jak & Daxter and Uncharted - and gives Gamasutra a fascinating lecture on game design and fun."
Gamasutra/Other Original News
GPG's Taylor: Developers Should Interact More Directly With Press
"Controversy abounds when developers don't receive their deserved credits on a title -- but what about credit and acknowledgment in the press? Gas Powered Games' Chris Taylor (Dungeon Siege, Demigod) explains to Gamasutra why it's important, even essential, to allow development teams to speak directly with the media."
GCG: ‘The Professional Game Manual Maker’
"Belinda M. Van Sickle has one of those ‘other’ jobs in the game industry, the kind that doesn’t fit neatly into the designer-artist-programmer triangle. GameCareerGuide.com, Gamasutra’s sister site for game-related careers and education, has just posted an interview with her in which she talks about making video game manuals and documentation."
Devs And Pubs On Pitching Game Ideas: Be Persistent, Specialize
"Industry veterans like Foundation 9's Chris Charla, Capcom's Adam Boyes, Namco Bandai's Zack Karlsson, and DDM's Jeff Hilbert get practical with tips on what to do (and what not to do) when pitching your game to publishers. Among them: "If you can't pitch your game in seven seconds, you've lost."
Interview: Xbox 360's Japanese Saviors Talk Tales Series
"The Xbox 360 has seen an impressive Japanese hardware bump thanks to Tales Of Vesperia, and Gamasutra has been talking to Namco Bandai's Tales brand manager Hideo Baba and producer Tsutomu Gouda on Japan's fastest-selling Xbox 360 game and its Wii stablemate."
Battlefield Heroes Footage, Limited Beta
The main Battlefield Heroes site has started running contests for a limited number of beta keys. They gave away 400 last night, and there’s more to come. The rumour in the mill is that a large scale beta should be turning up very soon indeed. After the jump we have several minutes of Heroes footage, which starts off fairly slowly - try to imagine it ramped up with eight aside - and then goes fairly triumphant as it shows off the ludicrous air-combat. We get a good glimpse of the pace of the fighting, the layout of one of the maps, the vehicle use, and even some of the character customisations.
… [visit site to read more]
Cintiq
Bannerman on Canada and the WIPO Development Agenda
Quebec Group Sues Provincial Government for Failing to Consider Open Source Alternatives
Larry’s new favorite windows message – WM_PRINTCLIENT
As I’ve mentioned before, I’ve been fuddling around doing UI programming recently – it’s a bit different from my usual work deep in the bowels of the <insert whatever subsystem Larry happens to be working on (redirector, audio stack, POP3 server, whatever)>.
I’ve been having a great deal of fun doing the whole “UI programmer” thingy (although my grandboss is right – once you start doing UI, everyone thinks that you’ve done it wrong) recently, and I’ve learned a ton of stuff.
Most of the UI I work with is written as dialog box applications – for various reasons, many of the audio UI elements are actually dialog boxes[1]. As such, the system controls the actual drawing of the UI elements, especially if you specify the WS_CLIPCHILDREN window style.
I recently had a bug where one of the UI elements wasn’t being painted correctly. For a number of reasons, the element was being overwritten by another element.
It took a lot of work to get to the scenario where the UI element got messed up, so I was going to ignore the problem (it was ugly but transient). But then I got to browsing the web and I ran into this article. The article had nothing to do with the order of painting in a dialog, but it DID mention a windows message that I hadn’t heard of before, WM_PRINTCLIENT.
Hmm, that’s interesting. WM_PRINTCLIENT says “The WM_PRINTCLIENT message is sent to a window to request that it draw its client area in the specified device context, most commonly in a printer device context.”. Ooh, that’s interesting. If I can just send a WM_PRINTCLIENT to each of the controls in the window, maybe I can control the order in which the controls are rendered, which would allow me to fix the problem (and remove a long-standing issue with the program in question).
On Monday of last week, I came in and decided that I’d dedicate a couple of days to see if my idea might work – worst case I’d lose a couple of days of work, but if it did work it would be really cool.
By mid-afternoon on Monday, I had come to the point where I realized that my crazy idea would actually work.
Skip forward one very long week of debugging and tweaking and I had fixed the problem – I had rebuilt the painting algorithm for this application and it worked!
Right now I’m highly enamored of the WM_PRINTCLIENT message simply because it’s so darned useful in scenarios like mine.
PS: It’s possible that I might be able to achieve similar results with the WS_EX_COMPOSITED window style but it’s not clear given some of the UI requirements for the application – I may play around with that idea over the next couple of weeks.
[1] One of the reasons for the apps being dialog box based is that it makes it easier for localizers if the application is built on dialog boxes because it gives the localizers greater flexibility when translating the OS – if the preferred text in the destination language doesn’t fit, they can adjust the layout of the dialog to make the text fit.
Return Of The Ninja: Tose's Stealthy Outsourcing Progress
["Ninja" outsourcing developer Tose has racked up numerous development credits -- yet are hardly ever credited. You may recall that our own Brandon Sheffield (Game Developer magazine EIC) has been semi-obsessed with them - well, he returns for another bite of the Tose cherry here, hurray.]
Japanese developer Tose has worked on many hundreds of games since 1979 and employs about a thousand developers in multiple studios all over Japan -- and consumers have played many of their games without ever even being aware.
The company has associated itself with only a handful of its titles: Sega Casino, SNK's Sasuke vs. Commander (1980 arcade game), Nightmare Before Christmas (GBA), Shrek: Reekin' Havoc and Shrek: Hassle at the Castle (both GBA titles for TDK Mediactive), and a series of Nickelodeon licensed mobile games for THQ.
Other than that -- and the notable exception of Starfy, a series for which the company holds half the IPl, Tose keeps mum. This is because the company's business lies largely in outsourced development, and confidentiality agreements prohibit Tose from discussing the games it's worked on.
In fact, confidentiality's so key to Tose's business that we can't even give the name of the Tose exec to whom we spoke for this special Gamasutra interview.
Two years after our first in-depth feature on the company, we revisit Tose to find out how Nintendo's market dominance in Japan is affecting the development climate, about the challenges Japanese developers face in reaching Western audiences, and whether Tose -- who primarily develops now for Wii, PS2 and DS -- is prepared to make the move onto next-gen consoles.
How do you feel the Japanese market has changed in the last two years, with the advent of new consoles?
In the past two years, the DS and Wii have become the dominant players in the industry. Sony took a large marketshare in the industry with the PS2, but has been a little bit behind for the PS3. Overall, the industry is still growing.
The third-party publishers of the industry have been growing, but Nintendo’s growth is too significant. So for me, that is not good for the publishers. That is just good for Nintendo. For us, we still can have lots of projects for many companies for the Wii and DS, but for the publishers, it's not a good situation.
Is it a more attractive position for Tose to be in than before?
More projects are coming to us than before. Not only from traditional game publishers, but also new companies publishing DS products which are not games, like brain-training titles.
How many next-gen games has Tose had to do development for, so far? I mean like Xbox 360 or PS3 or high-end PC.
We are just doing a couple of titles for the PS3 and the Xbox 360 as well.
Is that next-gen end of your business coming from the U.S., or is it all in Japan thus far? As other countries start to outsource more, do you have to change your tactics?
From U.S. publishers? Not yet. We haven't changed our strategies at all, but more projects are coming from the U.S. and the European publishers, so we have to deal with that demand, as well.
Also, we have just opened three studios in Japan -- Okinawa, Nagoya, and Sapporo -- to supplement manpower for that demand. So we guess we are a little bit worried about the situation, because other countries are trying to catch up. Fortunately, we have been in this industry for 29 years, so we will be okay.
How many developers are working at Tose, now that you've opened more studios?
It's 1,000 in Japan, 200 in China, and two in the U.S.
Big office! (laughter) Very important.
There may be a strong development environment in Sapporo, but not a lot in Nagoya nor Okinawa. Why did you choose to open studios there?
Our first reason to have studios in Nagoya and Okinawa is there are no publishing companies like Capcom and Sega. If there are lots of publishing companies, it's very competitive to employ talent in that area.
The second reason is that there is a special school for the students to learn video game development, so it's easier for us to find talent.
Also, our company policy is to train people from entry-level to a higher level, so those places -- Okinawa and Nagoya -- are very good places for us to have people training.
I've noticed that games from the Kansai [Osaka and Kyoto] area have a different feel than games from the Tokyo area. Do you think that games coming from Nagoya and Okinawa will be stylistically unique, too?
I agree with you, that games have different flavor from different places. It will not happen from Okinawa yet, because we're just starting. But for another studio, we'll have Okinawan-flavor games in the near future.
Are there any plans to do any more original IP out of Tose in the near future?
We already make original games for publishers, but we will not own the IP of that project.
Will it be based on ideas generated from Tose, or from the publisher?
From both. It depends on the project.
Have there been cases in the past where Tose has come up with an idea, pitched it to a publisher, and the publisher released it as their own?
Basically, that is what we are doing.
Are there any examples you can give?
Sorry. That's all we can say.
How is your tools integration going? Does everyone use the same toolkit, and do you develop in-house engines?
We have a central technology team in charge of all the technology for the platform. They are controlling and managing the technology for the entire company. Usually, we can share the information through the internal website.
We don't have an engine or anything. We have basic libraries and stuff, and each team can share. Each team has a different project and different clients, and they use those basic libraries, but they have to customize them for different projects and stuff. But they have tools, you know -- different types of tools. Those are shared by all the teams throughout Tose.
From the Japanese perspective, how's the Western expansion going?
We want to expand more, especially as the U.S. market is much bigger than Japan's, so we need to get more projects from U.S. publishers.
Do you think it's easier for Japanese companies to develop for the Western market by working with Western publishers, or from Japan and market it from there?
Both are not easy, because it's business. In the past, it was easier to work with Japanese publishers even though we had a project for the Western market, because we have known Japanese publishers for a long time, so both already know how to work together. So it was much easier before. But now we are getting to know the Western style, so it's becoming easier, but still it's not easy.
Has it been difficult to adjust to the way Western publishers deal with things? I think they probably do a lot more micromanagement and a lot more check-ins and milestones than I would guess from Japanese publishers.
We didn't have any difficulties in scheduling issues, because we have had the same experience working with Japanese publishers.
But we think we have to do lots of work before starting actual development, like game design documents and technical design documents. There's lots of documentation that we have to prepare for Western publishers. That's probably the biggest difference between Japanese and U.S. publishers.
Do you find that Western publishers give you more feedback during the project?
We don't find any big difference between Japan and the West on that. Probably the difference in the West is in what they want us to do, in terms of gameplay or game mechanics -- it's very hard to explain, but for us, the companies in both countries are trying to make the game as good as possible, but in each area, there's something of a difference in taste or something like that. That's a kind of difficulty.
In the West, there's a lot more focus on a multiplayer component, and most games are required to use the network in some way. Is that another difference?
That's true, but we haven't had lots of projects for next-generation machines yet.
Are you concerned about that? At some point, these consoles will become the standard -- do you worry about being behind?
We are not concerned about it at all. We are based on a work-for-hire model, so projects will probably be coming for the Xbox 360 and PS3 if publishers want us to do that.
Is the staff being trained for next-gen stuff in advance of getting the projects?
Yeah. We already have knowledge of technology for those console games.
By your business model, the names of your new staff that you'll be training from entry level won't really become known to the outside world. How do you evaluate their work and promote them up in that case?
We have a kind of mentor system. We have one mentor for one new person, and he should be responsible for training for that person. For example, for the Nagoya and Okinawa studio, we sent people there who have been in this industry for many years, to train people locally from the beginning state.
Also, our company policy is that once people join Tose, we want them to work at Tose for their entire life. Right now, that works well in Tose, so we don't worry about people leaving the company.
What do you do when people are not very good at their job, then, if you want them to stay there forever?
For people to join the company, they have to pass a lot of steps, like examinations, in terms of technology. People who pass that test should be good, so we don't have to worry about that aspect.
But with a thousand people working at the company, how can you identify if someone's not doing well?
We work as a team, so everything is a team's responsibility. If someone is lazy, that's totally the team's responsibility. We shouldn't have that kind of lazy guy in the team, so that team has to take care of everybody.
It's very Japanese, so... (laughter)
I guess in the U.S. if one engineer is sick in bed, his part of the work should be stopped. But we work as a team, so even if someone is sick, the team covers his part.
Tose is not supposed to discuss which games it's worked on -- have you ever had issues with people breaking non-disclosure?
Top secret stuff stays in the minds of the people working on it. It doesn't go down to lower levels.
Wright On Sporn: “Some of it’s really good”
The Associated Press has managed to squeeze a comment on Spornography out of Will Wright:
“When you give players creative control, you have to expect they’re going to do the unexpected. Some of it’s really good for what they were shooting for. It’s amazingly explicit, especially when those creations are animated. We just have to make sure those people aren’t messing up the experience for others.”
Which, while not approval as such, certainly isn’t damning the monstrous penis-beasts and sodomy monsters the internet seems so fond of. Good on ‘im. Unfortunately they don’t ask whether he’s made any Sporn himself, which means we’re duty bound to speculate wildy that he has, and that it was unimaginably disgusting.
… [visit site to read more]
Two Worlds 2 Is Too Pretty
Ah, Two Worlds - the comically-translated RPG that malicious types (like me) could describe as the poor man’s Oblivion. Or perhaps the drunken madman’s Oblivion. It was utter nonsense in so many ways, but hard to dislike - it had a certain just-getting-on-with-it factor that its peers lacked, and offered no small amount of unintentional belly laughs. Also, you could improve your weapons by bolting weapons of the same type onto ‘em, which was a fun way around the usual loot fixation.
A sequel’s on its way, and the first screenshots of it are out. RPS’ initial reaction was to cry bullshot, but a chum who saw it in action at Leipzig assures us that these are the genyooine article. More pics’n'words beneath the cut.
… [visit site to read more]
Spore: It’s Made Of People
[Brandon Boyer, the author of this piece, is one of Rock, Paper, Shotgun’s international agents. In 2006 he visited Spore developers Maxis at their studio on behalf of Edge magazine. The following article is an updated version of the feature that was published in that magazine last year. In it Mr Boyer talks to Wright and his team, and gets the heart of how this game came to be. Read on to discover how Spore was made of people.]
COLUMN: 'Roboto-chan!': Armored Core For Inquiry
['Roboto-chan!' is a fortnightly column, by a mysterious individual who goes by the moniker of Kurokishi. The column covers the announcement of Armored Core For Answer's Western release via Ubisoft and the trials that will face it.]
I had planned on discussing the various design issues with making a viable Macross game but that will have to wait until the next column. The reason behind this is that the game that many thought wouldn't see a release outside of Japan has finally been picked up by Ubisoft.
The game is Armored Core For Answer and I played both versions extensively earlier this year. It's a remarkable functional achievement as it pits the player in a mecha travelling at 2000 km/h against huge mobile fortresses. Think Shadow of the Colossus meets guns and robots and you won't be far off.
It's also very much a standalone game, as you can't transfer money or parts from Armored Core 4. This is a first for the series, as From Software have normally rewarded long-time players with a distinct advantage over newcomers.
So, it seems only sensible to go into Roboto-chan overdrive and give a low-down on the new game.
This is the third instance in which the Armored Core series has been covered in this column. The reason behind the renewed coverage of this series is a simple one; it's a successful unique gaming IP that has lasted over a decade, releasing numerous varied iterations all evolving off one another. However, in this instance For Answer has crossed an event horizon of sorts making it particularly noteworthy.
Why all the fuss then, what makes effectively an expansion pack to Armored Core 4 something worth even mentioning?
Normally, in the history of Armored Core, the subsequent releases within the numerical classification are broader in scope and obviously more polished. Master of Arena had a customizable AI setup called Ranker Mk, Silent Line had an organic learning AI and an enormous amount of parts. Yet all these improvements were off the base release that preceded it. Admittedly, I am selling the earlier games a tad short but compared to For Answer, the improvements were linearly obvious.
This cycle has been broken with the latest version as it's evolved past its roots to a terrifying degree.
Shadow of the Arms Forts
In previous games, there have been normally one instance where the player faces off against a larger MT that's in its prototype stage. You normally only have one per game and in all honesty they weren't all that big or that complicated to take down either.
For Answer by contrast has seven unique Arms Forts with an additional three variations, totaling ten in all. All of which require bespoke strategies to enact their demise. They are also absolutely huge.
To clarify, one Arms Fort is a vast land based train that goes by the name of the Great Wall. It's 7 kilometres long. You have to fly over it's entire length in order to reach it's entrance at its rear, only to speed back up its innards to take out the generator room. That's quite a simple Arms Fort but still an epic endeavour and something that is wholly unique in the world of gaming. The sheer visceral thrill upon taking out something so malignantly monstrous is refreshingly palpable.
Unsurprisingly the work that went into creating these mobile fortresses was rather extensive, so much so in fact that For Answer also broke the mould yet again in regards to its creative background.
Mecha Design Magnates
Previously, one man has been involved in the mecha design for Armored Core. That man was Shoji Kawamori, a monolithic figure in the world of anime having created the Macross saga and a sizeable portion of the Transformers lineage. Put simply, without Kawamori Armored Core wouldn't be where it is today.
Which was why his absence on Armored Core 4 was something that hurt the series somewhat, as many associated Kawamori's involvement as a necessary part of the process. Admittedly, the work of Yuzo Kojima was greatly appreciated and it was only fair that he be given a chance to flex his creative worth (as he had been a shadow mecha designer on the series for a good few iterations) but Kawamori needed to be involved.
Instead of having him create the entire parts list, as per the original games, From Software gave him one task; create the new version of White Glint. As this NEXT plays an iconic role in the game's narrative.
So having Kawamori return to the fold was a natural and obvious thing to do. Yet, he wasn't the only mecha designer that got on-board.
Along with Kawamori, two other prominent mecha designers were hired. Specifically, to design certain Arms Forts. From Software also picked their designers quite carefully as the respective styles of Kazutaka Miyatake and Makoto Kobayashi fit the sheer scale of these immense structures.
To clarify, Miyatake created the design of the original Macross. This being the transformable spaceship that housed a city inside it. He also penned the massive amount of detail to make the structure seem believably huge. Having someone with this kind of talent design the "Stigro" Arms Fort was a stroke of genius.
Kobayashi on the other hand is also a man of fine detail, coupled with a practical sculptor's gift. Of all the mecha designers in Japan, Kobayashi is one of the few that creates scratch built kits of his creations. He has garnered quite the name for himself in the Japanese modeling community for his attention to detail and sheer expertise. Having someone with this level of tactile understanding design the floating Arms Fort "Answerer" of impossible proportions seems fitting for a game where you would obviously functionally interact with it.
Even without these designers on board, the artistic proficiency within From Software has generated a huge amount of interest. With several non-gaming magazines going into great detail on the whole process (most notably of these being the animation mook, Animation Note, with this particular issue being available here).
Creatively, For Answer has set a new benchmark for the mecha genre of gaming. The only other series of games that has this amount of designer variation would be Super Robot Wars but that's more a re-appropriation of what has gone before. Having unique designs created to flesh out a bleak yet epic dystopian future is definitely something that lifts the game above its peers.
Mechanical Darwinism
All of the above, whilst impressive, are really only surface dressing for something quite functionally profound. For Answer isn't just a simple continuation in terms of content, it positively antiquates what has gone before it.
To clarify, taking out huge mobile fortresses requires a design solution as to how you'd reach them without being shot to pieces. The mad but brilliant solution is the Vanguard Over Boost, a literal extension of the over boost functionality that debuted way back in Armored Core 2. The difference here is that you've got solid fuel rockets strapped to your back and it hurtles you forward at a terrifying speed. Not even Ace Combat 6, with its array of super sonic jet fighters comes close to the sheer insane velocity witnessed in For Answer.
Yet this is something that folds into the remainder of the game and could only make sense if the rest of the game tried to match this ratcheting up of functionality. In short, the whole game is blindingly quick and the player is placed in a position of unique potency that almost no games dare to offer (as the balancing is no mean feat).
Everything has been souped up, armor, boosting, weapons. It all feels as though this is what an AC should handle like. Even the new Assault Armor setup, where the player can purge their Primal Armor in a spherical detonation that obliterates almost anything within it's radius, is something that when absent in earlier games is now almost inexcusable.
Unfortunate Futility
Yet all this amazing functional progression will ultimately amount to very little outside of Japan. Let me explain.
Madden is a series of American Football games that's very successful. Each iteration is keenly waited upon and devoured upon release. Well, in America this is very much the case. However, in the rest of the world Madden is pretty much ignored. This isn't because they are inherently bad games but the sport they are based upon isn't really prevalent anywhere else but America.
As such, reviewing Madden or even trying to play it without the nascent understanding of what it's based on would be a completely idiotic undertaking. It's not meant for an average gamer who isn't equipped with the necessary knowledge base and fascination with the sport.
Consequently, Armored Core is not meant for your average gamer. It's built upon half a century of mecha mythos that is only beginning to show its true depth outside of its native Asia. For Answer absolutely will not convert those unfamiliar with its heritage, it will most probably terrify and infuriate them in equal measure.
This isn't because it's a bad game but not one to played without some prior understanding of what it is trying to achieve. As such I should finish this column off with a gentle nudge to certain reviewers.
When Reviewing For Answer...
- Finding the Right Reviewer: Having read multiple reviews for each Armored Core game with an increasing level of dread and despair, please try and get a reviewer that has at least an interest in what the games are trying to do. Almost all the reviewers given the task of reviewing mecha games would rather be playing Madden. My advice; let them play Madden and give the mecha gaming reviews to someone who would actually want to play them. Simple really.
- Narrative Subtlety: Armored Core is a series that has often been given a less than brilliant localisation. This is down to the subtle and inferred narrative that is then portrayed literally in English. Unfortunately, most Americans prefer their narrative subtlety delivered from the barrel of a gun, that's shaped like a penis being fired by Michael Bay. Please bear in mind that the rest of the world does operate somewhat differently in this regard.
- Learning Curves: For Answer has one and it's rather large. Understand that people who pay for games with their own money will inevitably invest more time and effort into cracking complex games open. The vast array of parts and functional scope is something that has to be learned, this doesn't make games bad but the motivation to play to this extent needs to be taken into consideration. If you feel stupid playing a complicated game, that's because you are (initially at least) very stupid within the context of the game. Take it on the chin and have some fun with the game instead.
[Kurokishi is a humble servant of the Drake forces and his interests include crushing inferior opponents, combing his mane of long silvery hair and dicking around with cheap voice synthesisers. When he's not raining down tyrannical firepower upon unsuspecting peasants in his Galava aura fighter he likes to take long moonlight walks and read books about cheese.]
Sponsored Feature: Inking the Cube: Edge Detection with Direct3D 10
Defining Boundaries: Creating Credible Obstacles In Games, Part 2
What does each country claim for its own?, greatest hits
A little while back, I invited readers to describe what students are taught (or end up believing) are the greatest contributions of their country. Many people strayed from the "what students are taught" part of the exercise, but I didn't mind too much as long as you were funny.
Here are some of my favorites:
Representing Greece is Pi, who writes,
In Greece I was also taught that Greeks invented democracy. Other than that Greeks are supposed to have laid the groundwork for the development of philosophy, mathematics, physics, biology and pretty much every other greek named thing as a science (except for economics).
Greeks claim to have organized the first olympic games some 2800 years ago. And back then there was some guy named Homer whose stories are still read today occasionally. He was also the template for the creation of a character in the Simpsons.
The sad thing is that my compatriots often think they are cool by default because of these things and they don't have to accomplish anything by themselves.
Dan reminds us that
Sweden is pretty proud of Dynamite (Alfred Nobel), and the safety match.I enjoy that juxtaposition. Do you use a safety match to light your dynamite?
For France, we have bahbar (who pseudonym is a reference to another great French contribution to humanity):
- beheadings (just kidding)Rafael Vargas points out a Spanish invention that is very important to students:
chupachupsRob points out that some inventions can be used for evil:
- the first moving picture was shot in Leeds, West Yorkshire, though by a Frenchman (so we're not responsible for Charlie's Angels: Full Throttle).Leonardo Brondani Schenkel adds an important Brazilian contribution I had overlooked:
PeléDan summarizes how all these claims are manifested on Wikipedia:
"John Doe was an Italian-born[1] Jew[2] of Dutch[3] and Lithuanian[4] descent who was raised in Canada[5] and lived in Argentina for several years as an adult[6]. He is perhaps best known for inventing the belly-button-lint remover[citation required]."JS Bangs points out one of Romania's great contributions for which it doesn't get enough credit:
[W]e defeated the Turks over and over, and thus kept the Ottomans from raping and pillaging their way all the way to France. So we like to take credit for the survival of Western Europe.At least it beats being known for providing the soundtrack to the Numa Numa video.
Canadian Ens happens to mention "the CanadArm" in an extensive list of Canadian inventions. From what I can tell, Canadians are taught that NASA's job is to launch the CanadArm into space so it can move stuff around.
Zheng Hua was the first of many to call out the Four Great Inventions of ancient China which students are drilled in from a young age.
Omer van Kloeten explains the Israeli approach:
In Israel we pretty much take credit for every invention ever made by any Jewish person in the 5000 year history of the religion.
Also, even though it's not inventions, we celebrate the fact that we survived (which for us is the same as "won") the wars of 1947, 1956, 1967, 1969, 1973, etc. while mostly being heavily outnumbered.
I remember it being explained to me by a Jewish friend that nearly all Jewish holidays are based on a celebration of the fact that "They didn't kill all of us!"
Laurent points out a common theme: A country will claim credit for the deeds of an immigrant, and will also claim credit for the accomplishments of somebody who was born in the country but made the discovery while an expatriate. Heck, I wouldn't be surprised if there was a case of a country who claimed credit for somebody who merely stopped in the country to have lunch.
A South African friend mentioned to me privately that South African are taught that their country invented the Kreepy Krauly pool vacuum cleaner and the dolos.
Glenn S tells us what Norway is proud of. It's too long to quote here, but it's worth reading because, unlike many other people who posted lists of accomplishments, Glenn's is written with the right sense of humor, playfully acknowledging that some of the claims may not be entirely fair.
What possible use are those extra bits in kernel handles? Part 1: Sentinels
Kernel handles are always a multiple of four; the bottom two bits are available for applications to use. But why would an application need those bits anyway?
The short answer is extending the handle namespace. The long answer will take a few days to play out. (This series was written in response to Igor Levicki being unable to imagine "how this can save anything (in terms of performance)". Then again, who said that it had anything to do with performance? Actually, I'm surprised that my dear readers weren't familiar with the techniques described in this series. Perhaps I shouldn't have written this series and merely replied, "If you can't think of how this could be useful, then you are not my target audience." On the other hand, reader Aaargh! believes that whoever thought to make the bottom two bits of handles available to applications should receive an asswhooping.)
But we'll start with a warm-up. If you need some sentinel values for a HANDLE, you need to make sure your chosen sentinel value will never conflict with a valid HANDLE value. If you decide that your sentinel value is something like
// code in italics is wrong #define DEBUGWINDOW_HANDLE ((HANDLE)0x1234)then your program is going to start acting really strange if the kernel ever gave you handle value of 0x1234. Knowing that kernel handles are always multiples of four means that you can choose a value that isn't a multiple of four and use it as your sentinel value. #define DEBUGWINDOW_HANDLE ((HANDLE)0x1233)
Since 0x1233 is not a multiple of four, you can rest assured that no actual kernel handle will have this value, and you can write your logging function like this:
void LogOutput(HANDLE hOutput, LPCVOID pv, DWORD cb) { if (hOutput == NULL) { // logging disabled } else if (hOutput == DEBUGWINDOW_HANDLE) { AddToDebugWindow(pv, cb); } else { DWORD cbWritten; WriteFile(hOutput, pv, cb, NULL, &cbWritten); } }Since you can't WriteFile to a window handle, your logging function has to do something special if somebody decided that their output should go to the debug window. But if they chose to log to a normal kernel object (a file, the console, a serial port, whatever) then you can just write the data to that kernel object.
You've already seen this before; you just didn't realize it. The special values for INVALID_HANDLE_VALUE and kernel pseudo-handles such as GetCurrentProcess are not multiples of four for exactly this reason.
Now, sure, you could have defined your own LogHandle type and have all the logging go through that type instead of just logging to HANDLEs:
class LogHandle { public: static LogHandle *GetDebugLogHandle(); BOOL IsDebugWindow(); HANDLE GetKernelHandle(); static LogHandle *CreateFromKernelHandle(HANDLE KernelHandle); ~LogHandle() { } private: LogHandle(BOOL IsDebugWindow, HANDLE KernelHandle); static LogHandle DebugWindow; BOOL IsLogToDebugWindow; HANDLE RegularKernelHandle; };Throughout, your program would use pointers to LogHandles instead of actual handles, using functions like these to convert between them:
// Does not take ownership of the handle LogHandle::LogHandle(BOOL IsDebugWindow, HANDLE KernelHandle) : IsLogToDebugWindow(IsDebugWindow) , RegularKernelHandle(KernelHandle) { } LogHandle LogHandle::DebugWindow(TRUE, NULL); LogHandle* LogHandle::GetDebugWindowLogHandle() { return &DebugWindow; } BOOL LogHandle::IsDebugWindow() { return IsLogToDebugWindow; } HANDLE LogHandle::GetKernelHandle() { assert(!IsDebugWindow()); return RegularKernelHandle; } LogHandle *LogHandle::CreateFromKernelHandle(HANDLE KernelHandle) { return new LogHandle(FALSE, KernelHandle); }Or you could make everybody pass two parameters instead of one. For example, a class that went
class SomeObject { public: SomeObject(int SomeParameter, BOOL SomeParameter, HANDLE LogHandle); ... private: ... HANDLE LogHandle; // log to this handle };would have to change to
class SomeObject { public: SomeObject(int SomeParameter, BOOL SomeParameter, BOOL LogToDebugWindow, HANDLE LogHandle); ... private: ... BOOL LogToDebugWindow; // if TRUE, log to window HANDLE LogHandle; // if not logging to window, then log to here };Either way is an awful lot of work just to define a sentinel value. But still, at least you can avoid the need for a sentinel value by just passing more parameters. But sometimes that option isn't available. We'll look at that next time.
Work that I love: reflecting on the whats and hows
At the team-building event the other day, I got to meet a number of other people who had been with IBM for a number of years. Several people told me stories about projects planned using at least 80-hour weeks, of high turnover and stressful environments, but also the increased responsibilities and career opportunities for people who stay with those projects. Other people talked about priorities and intentionally limiting the number of hours they worked in order to make time for other things, their happiness with their decisions, and the support they received from the company. It made me think about what work I love to do and how I want to live.
I'm getting a better idea of the work I enjoy doing. Here's a rough sketch:
- I love sharing what I'm passionate about, helping people learn more and become more effective, and encouraging people to grow. In my current role, I get to do plenty of presenting, conducting workshops, coaching, and writing. People appreciate not only the information I share but also the enthusiasm with which I share it and the thoughtfulness with which I help people learn.
- I love learning about all sorts of things. I'm currently working on visual literacy, and I'm looking forward to using the Cintiq tablet to experiment with graphics even more. I also love learning about social networking, communication skills, and other topics that I can share with people around me.
- I love connecting people with other people, ideas, or tools. It gives me a thrill whenever I can introduce people to just the right person who can help them do what they want, to a book or article that fits their interests, or to a tool they'll love.
- I love exercising my creativity and helping people brainstorm. As part of my work, I often get to help people brainstorm Web 2.0 business ideas, and I really enjoy bringing in things I've learned from all the different aspects of my life.
- I enjoy working on lightweight projects based on open source technologies with vibrant user communities. I get to do this with my Drupal-based project and with my Emacs book. I love being able to read source code and learn from other people's contributions. I love sharing tips on my blog and learning more from others. I love giving back to the community, too!
- I can write technical documentation better than most developers can. And I don't mind doing it, too, as long as it doesn't require me to keep changing applications or operating systems.
- I don't like working on front-end interfaces, such as designing graphics, writing CSS, or trying to make a page look exactly like the design. I can do it, but I'd rather do a simple design.
- I really don't like working on cross-browser or cross-platform issues.
- I really don't like dealing with inconsistent, fiddly, or frustrating things such as bugs in one's operating system (really, my mouse should Just Work) or convoluted administrative paperwork. Some people enjoy solving problems like that. I don't.
I'd like to explore sales at some point, too. I want to find out if it might be a good fit for me, too, and I like the idea of helping people find the right solution for them.
So that's a general idea of my strengths. I love helping people be more effective, whether it's by sharing ideas or tips, connecting them with others, or building or tweaking tools for them. I enjoy software development and technical writing too, but mainly as a way of supporting my ability to help people be more effective. Those are the "whats," at least right now. What about the hows?
I don't see myself working on projects with unrealistic time expectations. I don't see myself sacrificing life for work or for career advancement. If I did, I'd be going up the ladder, yes, but it might be the wrong ladder for me.
The things I love doing and the things that make me special all require me to be happy and passionate about my work. I believe that I can be successful at them while living according to my values. I'm looking forward to seeing the kind of life I can build. =)
Have you thought about your whats and hows?
Mouse woes on Ubuntu Hardy
It's really quite odd. I've tried two USB mice (one wireless, one wired) on my Kubuntu system. They work well… once. The next time I try to use them, I'm lucky if I manage to get a minute of use out of them. Something is very wrong. =(
Anyway, that's enough time spent on mouse issues–one hour today, one hour yesterday! Pfft. I'll try it again later.


