I’m doing something unusual because it’s my blog, my experiment, and because I can: I’m playing a game for which I don’t need to gather data for MobyGames. I bought Restaurant Empire some years ago with the honorable intention of actually playing it. Tonight I finally tried.
I figured that my experience with Skateboard Park Tycoon should have prepared me for this virtual restaurant simulator. True, it did help me get into the genre and pump me up in anticipation of this game. But in the end, it just turned out to be completely dull. I’m not sure what I was expecting exactly. I think that maybe I got the impression from the jewel case copy that the game also served as a database of the 180 recipes that you had at your disposal at various junctures of the game.
The game’s story (I didn’t realize simulation games needed those) is that you were inspired to attend chef school by helping out in the kitchen of your uncle’s fancy-schmancy Parisian restaurant. After graduating with honors, you visit the uncle to learn that he retired from the restaurant business 4 years prior. And that he has retained ownership of the piece of prime Parisian real estate and has essentially left it uninhabited for that duration. See, it seems that OmniFood — apparently the Electronic Arts of the gourmet food biz — is gobbling up the gourmet restaurant market. Our determined, yet inexperienced chef, sets out to challenge OmniFood and set up a competing empire.
The first step in this grand master plan is to — sigh — decorate the interior of the old restaurant that your uncle says you can now run. SimInteriorDecorator. What can I tell you? This just isn’t what I was hoping for in any video game in this experiment. I mean, it’s not as bad as an I-movie, don’t get me wrong. But when I have to choose between a rosewood side table and a redwood center table and decide where to put it, that just doesn’t mesh with my personal gaming tastes, and you know that I’m willing to put up with a lot for the sake of this project.
At first I was a little concerned when I could not locate the game’s manual. But that’s no matter since the game has a thoroughly hand-holding spoken tutorial to guide you through every aspect of the game. On balance, I think I preferred SBPT’s approach of just letting you have at it and trying all the buttons until you gradually figure things out. This game is every bit as micromanaged as SBPT, though, right down to the different fonts used for the header vs. contents of the menu you must lovingly assemble. I chose stuffed peppers for the main course of my menu, something that has a cost of $1.04 but retails for $16. Impressive. But that’s because there are plenty of other costs involved in running this restaurant. Like a $20K booze license if I should want to serve the stuff.
Maybe one day I’ll get back to this one, perhaps after I have given Skateboard Park Tycoon a more thorough examination.
I took a brief look through the data files installed onto the hard drive — I was curious what was occupying ~650 MB of disk space. There are many straightforward text files which merely contain scripts in some language I don’t quite recognize. I imagine it’s some proprietary matter. The scripts define object movements and placements and even dialog trees (more like dialog trunks since they don’t branch in any meaningful way). Here’s the script file labeled ‘Explode.txt’:
ParticleSystem "CandleFlame" 1.00 { Position = XYZ(0, 0, 0) EventSequence "BOOM" { LifeTime = 1 EmitRate = 1500 EmitRadius = XYZ(random(-5,5), random(-5,5), random(-5,5)) Gravity = XYZ(0, 0, 0) Texture = "P_Glow_01" NumParticles = 100 Initial Velocity = XYZ(random(-20,20), random(-20,20), random(-20,20)) Initial Size = 10 Initial Color = RGBA(255, 255, 255, 230) Fade So At 1 Size = 1 Fade So At 0.25 Color = RGBA(Random(245,255), Random(111,121), Random(111,121), 180) Fade So At 0.5 Color = RGBA(Random(245,255), Random(53,63), Random(53,63), 125) Fade So At 0.7 Color = RGBA(Random(245,255), Random(53,63), Random(53,63), 60) Fade So At 1 Color = RGBA(110, 81, 253, 0) Fade So At 0.25 Velocity = XYZ(random(-50,50), random(-50,50), random(-50,50)) Fade So At 0.5 Velocity = XYZ(random(-70,70), random(-70,70), random(-70,70)) Fade So At 0.7 Velocity = XYZ(random(-100,100), random(-100,100), random(-100,100)) } }
Further, there is an anim/ directory that has pairs of files: the first has a .am2 extension and the second has a .am3 extension. The .am2 file is large (megabytes) and the .am3 file is small (kilobytes). I postulate that the latter is an index into FMV-type compressed data stored in the former. But quick exams of both file types reveal that they are more likely to be 3D engine data.