Saturday, December 31, 2011

Happy New Year all you Imps.

Zero Punctuation - Imp Hoody @ SplitReason.com
Zero Punctuation - Imp Hoody design @ ©

Friday, December 30, 2011

Doors




Well, we are in the midst of the holidays. Everyone is sick. And work is getting ready to gear up for the New Year crunch. I finally had a moment at a coffee shop this last week, while waiting for someone, and got in a quick 20 minutes on the WishfulRPG! That's the true beauty and fun of this ridiculous project. It's only 20 minutes stints.

Doors. I implemented doors.

They are a deceptively tricky game feature to do. They essentially amount to all sorts of special case code dependent on events and so forth, but this is exactly the kind of feature you want to implement to see if your game code is structured correctly.

In short, mine isn't. Yet. But I know what to fix. For now, it works, and working goes a long, long way when you are rapidly prototyping things. You are better off throwing things together quickly and getting them working, than spending hours or days or weeks pontificating on elegant designs.

Partially, this is because elegant designs unveil themselves with experience. And partially because when making digital creations, we are not making physical castles. It's easy to change things and throw things out (provided you haven't accrued too much code debt.) It's also very easy to over design something before you build it.

So doors are working, crapfully.

The problem is that all the terrain is tiles, but a tile is just a sprite that can be rendered. And there is a collision model provided by pygame. Really, what we want is a snap-together component model for game objects. That is to say, you can add on the ability to collide to an object. Or an object can be a tile. And it can be a trap. And a animated particle system. And it can play a unicorn fart noise when the avatar steps on it. Etc and so on.

So this means a fundamental rewrite and some foundation work to get a component system going for all these attributes and event responses and so forth. But I am going to put that off, and instead implement some portcullises, and sliding blocks, and triggers and other things. In a nasty and messy way. This should let me have an idea of just how I want everything to be cleaned up. So once I have some non-trivial stuff working, then we can fit it to a more elegant weapon for a civilized age. I should probably put a mob in there as well.

Tuesday, December 6, 2011

Company Killers




It's been a little while since I put up an update. I made a huge amount of progress on the last prototype, getting a nice set of basic needs features in and cleaned up. Also, I set up a local code repository so that I have some history and won't worry about making changes or losing code. More on that another day.

This is a quick post on the nature of RPGs with regards business. Part of this blog premise is that everyone -- and by "everyone" of course we refer to a small set of Games Industry people who grew up with a deep seated love for one or another great old RPG, from the most dedicated junior QA guy to the jaded exec producer who has seen it all -- everyone wants to make an RPG.

Whether the concept is the classic quartet trope of fighter-priest-archer-mage or a "innovative" romp into the realms of a futuristic science fiction "twist" never before seen that turns the RPG on its head, they are all laden with scads of items and weapons and toys and rods and monsters of every shape and dimension and hidden villages in the obligatory lava-ice-forest-desert locale.

The key word here is lots. If you indulge anyone about their pet RPG, it's almost like asking about their D&D character. "Let me tell you about my dark elf ranger...." "Let me tell you about my Japanese demon RPG idea..."

"It's got LOTS of cool monsters and LOTS of great weapons and armor and LOTS of..."

When doing design on any game, you can usually spot poor design discipline in the concept of "more is better". If something is cool, then two must be cooler. And hundreds is mega-cool. RPGs are famous for this. Diablo is one of the best examples, and in those cases it really works.

But let's talk budget for a second. RPGs have monsters and locations and items and weapons galore. Often they will add skills and spells and mounts and classes as well. Each one of these systems takes time to design. And they take art to create. And they take programmers to implement. And if you are trying to do anything more than the most basic sprites with color changes (red slime, green slime, blue slime, meme slime), then this budget gets wildly out of hand super fast.

"Oh, but Square does it all the time", you cry! And what about Blizzard!?

Well these companies have nearly unlimited budgets. And truth be told they have extremely good design discipline. There are a lot of internal checks and balances. And they are also, simply-put lucky.

The title of this post is "Company Killers" which is the Industry slang term for RPGs. They are considered company killers because they suck such massive resources that the end result rarely is able to pay back the cost of development. There are lots of stories of otherwise healthy companies that have had a string of successful (critical and/or financial) games, embarking on someone's personal RPG (or more commonly these days MMO-RPG) and that is the last project that company attempts before closing it's doors.

So grab a mug of ale, join in on the wishful RPG meme, and raise a toast to all those past companies that tried and failed and are no more.