Posted:
4 months ago
(2010-04-29 06:22:44 UTC )
Finally, the game is basically playable. There are multiple levels, and each starts with a description of what you need to do to finish the level. There is feedback on whether or not you got it right. There's a simple end-of-level indicator.
Of course, it still looks bad. But hey, more prettiness can happen next release. That's the plan with Inkscape, in fact.
Posted:
4 months ago
(2010-04-28 02:41:57 UTC )
It's time to make Shanna's Pizza prettier. It's also time to talk about its goals.
There are several things which, long-term, stand to make Shanna's Pizza more than a retread of The Learning Company games from the 80s (not that there's anything wrong with them -- they rocked).
One is that I'm intentionally trying to minimize, and then eliminate, the amount of text happening there. I figure that's a one-off... If Shanna's Pizza were to get big, I'd probably use more text along with more complexity in the next game. But I think having a zero-text-gameplay game of this type potentially fills an interesting market niche for non-English-speakers and young children, as well as making for a more distinctive experience.
The other is that I plan to have some more complicated objects to wire up. The Learning Company games, even Robot Odyssey, had only pretty simple objects by and large. Some of the chips were complex-ish, but I can imagine some more interesting things to do. The robots themselves were an exception to this -- they were pretty complex, but you also wired them up from inside, giving a whole different experience.
Anyway. Word-free should come before complex objects. Complex objects should have a playtest audience, and I think word-free can help gather that audience.
However, word-free requires more expressive graphics and animation, because I have to be able to explain a concept like "Shanna wants pineapple on her pizza right now, but no sausage" or in the extreme case "Shanna wants pepper or sausage or both, or pineapple, but not pineapple *with* pepper and/or sausage." That's potentially a fairly complex little animation (though players will be able to have the pizzas roll by and see what she accepts and rejects, if the animation fails completely).
My current setup, using LibSDL, is just not going to cut it here. No good rotation of images, for instance, is probably a deal-breaker by itself.
I've rolled a nice little animation framework, of course. But debugging an animation framework in SDL in a non-memory-managed language is just not a good use of my time here.
Clutter is probably my best choice. I'm familiar with it, it has good animations, it does a fair bit of (non-garbage-collected) memory management, it's fast and compact... It's even available not just on Windows and Linux, but also in experimental form on iPhone/iPodTouch/iPad, which might be a big long-term win.
It means requiring OpenGL, but I think I'm going to need to do that for good animation in any case. So if that's a sunk cost, it's not clear that there's any disadvantage to using Clutter. I've been missing GLib and GObject for most of this project anyway, though I dislike how much boilerplate they require.
Of course, the GObject boilerplate isn't a guaranteed cost. Specifically, Vala actually makes it quite nice to have a lot of GObjects around, interfacing with various appropriate C code.
So that's probably where I go from here. Inkscape will still let me create static objects, frames and textures, and is still basically a good idea. However, it's worth considering more 3D animations for objects, and simple animations for describing what Shanna wants. End-of-level and similar animations may be either sort -- I'll decide as I go.
Posted:
4 months ago
(2010-04-18 08:10:40 UTC )
The current release of Shanna's Pizza is getting perilously close to playable.
Pizzas roll out and I check if you got the answer right for the toppings. Animations appear and disappear. All the gates and wiring stuff you need exist and work.
Now I just need to describe *what* the conditions are for the given level, and add a few more convenience bits (say, a quit button).
You could go download the latest version of Shanna's Pizza now, if you wanted. It's still Windows-only. I'll fix that after it actually works.
Posted:
4 months ago
(2010-04-14 06:47:02 UTC )
I've done a fair bit of work on the animations that happen when you hit "go". The pizzas are now rolling out in all eight (current) combinations of toppings, making it to the end of the conveyor, and blinking acceptance.
Better yet, the topping selectors are sending out true and false signals at the right times when that happens.
Of course, they're not actually checking to make sure they're correct yet. That'll come pretty soon.
There are also no cute pictures of Shanna to say yes or no yet. That'll also come pretty soon.
This will be a good-looking weekly release, and make for some pretty screenshots. I should figure out what day I want to aim for releases happening and do it every week. But the next one will look like real progress, which is very nice.
Posted:
5 months ago
(2010-04-08 05:08:14 UTC )
I've been working slowly and steadily for awhile on a new project called Shanna' Pizza, which is currently a simple circuit-simulator, and will soon have a bit more of a game built around it.
I realized that I'm used to working on my open-source stuff and chattering here constantly about it, and I haven't been doing that with Shanna's Pizza. However, the fact that I'm not making the code available to all and sundry shouldn't actually stop me from talking development more frequently.
At this point, there's an initial web site set up, very basic, and you can download a Windows installer. It's simple, the game's not complete, but you can play with it now, which is more than I've mentioned here in awhile.
More recently, I started working on the basics of an animation framework. On the one hand, I kind of miss Clutter for this kind of thing. On the other hand, this should run on absolutely any semi-recent computer without a hiccup once I've done even a little bit of debugging. Tradeoffs, tradeoffs.
Also, VirtualBox and MinGW are absolutely the best way to develop for Windows that I've come anywhere near. Thanks to all who've made that possible over the years...