I’ve been sick and stuff recently, so I haven’t worked much on PonyQuest, but I have been slowly but surely chipping away at the UI for StoryQuill. The script editor is now in! Don’t expect PonyScript syntax highlighting or anything, but hey, you can totally type stuff in and it almost saves properly.
I think eventually I am going to have buttons you can click to help you construct PonyQuest statements, though. Like, you click some sort of “give item” icon button and it gives you a list of all items in your story, and you pick “red balloon,” and then StoryQuill fills in
* giveitem "red balloon"
But that all comes later, if at all. I really, really gotta get the basics in first. I’m possibly just a few days away from having StoryQuill actually let you make rudimentary stories!
Well, except for the Stage editor. That’s going to be by far the most complicated thing in StoryQuill. Whereas the rest of this is all just reading and writing data to and from text files more or less, the Stage editor is going to have a nice interface for you to draw out NavMesh polygons and place Actors and Props. I’m not gonna have you, like, type in the X and Y coordinates for every Actor and Prop, much less every vertex of every polygon in the NavMesh. That would be silly!
But yeah, that is going to be the hardest part by far, and I’m not even 100% sure that you can, like, dynamically draw lines over an image using WPF. But I sure will try!
More work on StoryQuill today! Still just doing UI layout stuff, nothing actually does anything yet. See how the “Invalid combination” field is a drop-down menu? That’s because it’ll list all the Scripts in your Story, so you can choose one there, or just type in a line of dialogue if you want that instead of a script! This feature will be all over the place in StoryQuill (ugh, we really need a better name).
But yeah… I’m dreading actually making any of these fancy little widgets do anything.
Today I started working on the PonyQuest story editor, temporarily titled “StoryQuill.” If anyone has a better punny pony name, post it in the comments and I’ll be happy to use it.
I’ve never made a Windows application before, so this is all new to me. I’m using Microsoft Expression Blend to design the interface, and it’s surprisingly easy. I get the feeling that actually making the interface do things is going to be difficult, though.
Why did nobody tell me about Celestia Medium Redux before? I put it in PonyQuest today, so now we have a great public domain menu font in place.
Yes, the everything else about the menu looks like balls still. (Those black boxes are going to be invisible, it’s where you click to activate that menu option.)
I’m trying to figure out how to best lay it out in a cool way, to avoid looking like the old Team Fortress 2 title screen and make it look more like the new one. (Fluttershy being in the background of that one is entirely coincidental; it’s the first thing I got when I searched Google for “Team Fortress 2 title screen.”)
Oh, and if you’re an aspiring XNA pony game creator or something, feel free to use this bitmap font I generated using SpriteFont 2.
Did a ton of work on error checking, specifically PonyScript error checking. I think it might be just about impossible to crash PonyQuest from making mistakes in your scripts. The debug console now shows you exactly what error you made and what line of what file it’s on, too.
Yeah, not much interesting going on over here. On the upside, I think I’m going to start working on the story editor soon, but I need a catchy/clever editor name first. Nothing will probably be able to top DoomED, but hey, with a fanbase so good at making pony puns, it should be easy, right?
I just spent the last four hours making a developer console thing to show errors and warnings and stuff for story loading, and I’ve only scratched the surface of covering all of the potential errors that could come up.
This is where PonyQuest is going to be much harder and take much longer to make than, say, Cutie Mark Crusade: A Dash of Adventure. Since I’m going to be releasing this into the wild (eventually) for anyone to make their own stories, I have to cover as many possible places where the story writer could screw up as possible.
If the story writer makes some sort of mistake that I haven’t covered, like, for example, defining a character with the same name twice, or referring to a Sprite that doesn’t exist, the game’ll just straight-up crash. If I catch the error, though, I can hopefully show you what you did wrong and sort of handle the game from there. I’m trying to do my best to make the game still “play” regardless of how badly you screw up. If you try to make a prop have a Sprite that doesn’t exist, for example, I’ll just throw in an error texture (that’s what that checkerboard thing in the screenshot is), so you can still click on it and interact with it and stuff.
Oh, and since the console is just for story debugging and stuff, it’s not drawn at 320x240, but at whatever native resolution you’re running at.
I am uploading a 793MB demo movie to YouTube right now, because I am so very stoked about the progress I’ve made. NavMeshes are now implemented, meaning that you can only move around in certain areas of the “stage.” Your character doesn’t yet “scale into the distance,” but that’s next.
Anyways, here’s a screenshot that probably won’t do anything for anyone but me. Just know that about four hours of work went into this crap.