Monday, April 30, 2007

Crying Wolf

Imagine me trying to capture a screenshot to prove this weird bug I mentioned in my first post. Then picture me realizing that emuKon wasn't going to have anything to do with screen captures, and instead loading up Meka. Finally, picture me trying to have both characters assert a diagonal direction while my wife had her fingers primed to press SHIFT and PRTSC, while I tried combination after combination of diagonal directions, until I realized that there was no problem if I used Meka. I think I am going to have to plug my SMS into a TV and try this out on real hardware.
By the way, I can't seem to get emuKon to capture videos, though this might be solved by reading the manual. In the meantime, enjoy the screen capture. There are two more characters already done (gold stars if you guess correctly!) and a total of 41 foods completed.

Sunday, April 29, 2007

Welcome and Master Chef overview

Welcome to my blog! I'll warn you that the purpose of this blog is self-indulgent: it's really mostly for airing thoughts (mostly half-baked) out into the ether in the hopes that this process will aid in their development. Secondly, the presence of an audience (likely imaginary) is a way to trick myself into feeling some sort of accountability for my SMS projects.

That's okay. As far as I can tell, most blogs are self-indulgent anyway. I would hate to pollute the development forum at SMSpower with my dribble, so here I am. Incidentally, if you really are interested in developing for the SMS, you should check out smspower.org/forums/development, as well as the whole smspower.org website.

Right. You've cleared those first two paragraphs, yet miraculously, your interest is unabated. I might as well talk about the main project I am working on: Master Chef.

In the autumn of 2002, after my evil grad school (rhymes with Wail) was so evil I could take no more and quit, I spent, oh, six hours a day playing Puyo Puyo 2 on my Game Gear. I started thinking, why are all puzzle games pretty much a variant of Tetris? No disrespect towards PP2, which obviously I love, but can't there be more variations? This was five years before I discovered Twinkle Star Sprites, so forgive my ignorance.

Anyway, at the same time I became obsessed with Iron Chef. So I thought, why not a Master System game with the same idea: a cooking competition? Thus, Master Chef was born.

Two players enter (I may someday add AI for solo playing); two players leave with steaming hot plates of food. Two conveyor belts convey pseudo-randomly selected raw food items (though nothing will stop one player from taking the other player's foods). Additionally, a table with a limited number of the "secret ingredient" will be available - every dish requires this ingredient. Players take raw food items to appliances or a sous-chef for frying, baking, roasting, chopping, etc. Every raw food has stats - sweetness, sourness, savoriness, texture, etc. - and the various cooking processes alter these stats. Mixing food items will also alter the stats. This should result in an infinite variety of final dish possibilities.

So, where am I right now? Well, I have two fully animated characters controlled by two players. I have one procession of foodstuffs (the conveyor belt will be palette cycled background tiles - an idea contributed by my brilliant graphic artist collaborator, DMEnduro).

What I am working on right now is decreasing the number of writes to VRAM to avoid graphical glitches. As you probably know, the SMS VDP is pretty sensitive to VRAM writes - I learned this in a really brutal manner when I spent six months working on a game that updates the entire screen every frame before I realized the VDP is not up to the task. Anyway, I have eliminated all glitches except when one player makes tight little turns (and probably a second as well - I've been testing on a Game Gear).

I decreased the number of foods per conveyor belt and am now including a check for whether y coordinates need updating and a separate one for x coordinates. This should help.

But a bug came to light - basically, there are some diagonal directions that are impossible with both players. It's all very complicated, and I am going to have to sit down and tabulate which ones don't work. I'll get that in my next post. I will also try to grab a video using emuKon (which I think can make videos) and try to post it using youtube, which seems to be what all the kids are using these days.