TinyXML is a great little library (tiny, even) for loading and parsing XML documents. Here I’m going to introduce the basics of getting all your data out of (and into) XML files. Part 1 is quick and simple. In Part 2, I’ll use a more complete solution.
Author Archive
All the silence is due to… Hard work, of course!
My priority was shifted a while ago to working on a game called “Don’t Blow It!”. I mentioned it in a long ago post when I had first made the prototype for Ludum Dare 20 last year.
I recently bought a wired XBox 360 controller to use with my Steam games on my PC. It works very nicely, so of course, I had to use it in my own code eventually.
Here’s the first place I’m using it. I made a little library called XController that wraps XInput in a class. It makes the interface to the controller a lot friendlier in C++ and does not require you to include the dreaded windows.h (or XInput.h for that matter).
Next, I might try to update StickyInput to use a similar interface. Then I could have support for these controllers in all of my games.
You can find XController on Google Code!
I missed it by a few days, but Merry Christmas, nonetheless. It’s not really about the day itself, right?
Tonight is New Year’s Eve. I guess that means there won’t be another update for either NFont or Sprig this year! Regardless, it’s been a good 2011 around here. Lots of changes for our family and lots of opportunities that we’re really thankful for. Props to Samaritan’s Purse for a great way to give back and show our kids the way it’s done.
I hope you had a great Christmas and have fun in 2012. Here’s hoping for some game releases from Blue Dinosaurs… 😀
It’s been a while since NFont was updated. While working on GigaSun Jet, I had added a couple of very useful features. It seems like it’s time to show NFont some official love. 🙂
I started working on the new version yesterday, but I’m nearly done already. All the hard work was done before. I will be pushing the version number up to 3.0.0 due to some serious changes to the API. Most importantly, NFont now controls the surfaces that you give to it. It will take care of freeing the memory.
Other nice things should be apparent from this screenshot:
As I’m working on GigaSun Jet’s first campaign story, I had some thoughts about writing stories that I felt like jotting down. I’ve decided to treat my time on the story as if I’m writing a novel. It really could end up being a real novel (I’m at about 10% of a short novel now, 6000/60000 words) and then I would have some interesting marketing options. I wish I could start talking about my story here, but I’ve promised myself that I’d wait at least a month so I could get a solid start.
Writing a story and writing a game are fun creative tasks, but they’re also full of frustration. One specific form of frustration that is common to both is simply getting started. Without some sort of structure, getting started can be very tough.
This frustration is a symptom of a problem with many creative endeavors: Too much freedom. That’s why Ludum Dare works so well. It gives you some restrictions (time and theme, mostly) that focus you into a creative frenzy for a small product. There are writing competitions that work in the same way, but I’m not quite part of that big community yet.
Of course, books and games have a few major differences that change how well certain limitations work. The way that stories are communicated is simply through a collection of specially chosen words. There are even fewer natural limitations than a game (though games can have true randomness and procedural content). A game has to be logically consistent to some degree since the structure is based upon logic. Words in stories, on the other hand, can easily conjure up ideas that can not exist in any reality (i.e. irrational concepts, logical fallacies). Sometimes, the author can hide the inconsistencies well enough that they don’t interfere with the story. I won’t get into that any further yet. That’s a big can o’ worms.
So, my recommendation for you… If you’re doing something creative, try to brainstorm up some fun restrictions and limitations. That will help you focus instead of reading silly blogs like this one when you should be working.
I’m starting off this month working aggressively on the story for GigaSun Jet. It also happens to be National Novel Writing Month. I’m not going to officially participate, but the feeling is still the same. My “novel” might be half novel, half script and I won’t be crunching to hit 50k words (which sounds crazy!!! Ahhh!!!). I’ll just be taking what I already have so far and deepening, expanding, and directing it.
I’m excited about it all. I have a great plan for the point of the story and a very high level plot. Even just today I made good progress on the ending (that’s where I’m supposed to start, right?).
Concerning the story… I’m trying to make it as unexpected yet natural as possible. I’ve never read this kind of story and I’ve never played a game which breaks out of the stereotypes of the meaning. One big problem lies in how I can write about the story here… How much should I discuss? Surely I can’t give away the meaning, since that’s vital to the ending. We’ll see how I do, either way!
We’re just coming back from a surprisingly widespread power outage around here, and I actually managed to get things done. This was a big thing, too.
The new GigaSun Jet level editor is done, for now. “New” because I had another one I made long ago. “For now” because it’s far from polished and could be plenty more intuitive.
The old editor was a stand-alone application I started a couple of years ago. It could fill map tiles with walls, ships, or turrets. That’s basically it. Well, it could edit objectives in a limited way, too. It was a serious pain to keep the level editor up to date because it used a completely separate codebase. It was not much fun to add new features because GSJ was a moving target back then.
Now, I’ve finally cut loose the old editor. I mentioned it before, and now it’s gone for good. The new one can do way more (actually, just about everything one could do by hand-editing the map files… but now you can see it!). There’s also an interesting twist to this accomplishment. I used some code from a nearly dead project to try to get a flexible system of buttons in the level editor GUI. I struggled with the code for a while, hunting down the logic errors and memory issues until I found it: a way to make it work just as intended. To make a long, technical story short, I improved the code considerably and refined its focus so much that it might lead to a revival of that old project (err – when I have the time).
Beside all that, the important point remains that the story can now begin being expressed in the missions. What is the story? Well stick around and you’re sure to hear.
Hey, I just wanted to point you to gamedesigncenter.org, in case you haven’t heard about it yet. If you’re an aspiring game designer, you want to make games in your spare time, or you already make games, I think it’s worth a visit and a bookmark. I don’t know exactly what will be happening over there, but it’s building up to be another great resource for game design tips.
I just wanted to point out that the 2012 IGF Pirate Kart has been released. It’s not very piratey, but it has tons (> 300) of free (and legal) little games in it. Beware, however, since several games are extremely inappropriate. There’s a review at Rock, Paper, Shotgun that mentions a few of the ones to avoid.
Also, there was a humorous little Twitter meme going on earlier between some game developers, called #simplegames. Here are some of my favorites:
@JonBaker – Farmville: troll friends with incessant updates
@S0phieH – Gran Turismo: buy fastest car, use walls to turn.
@JonBaker – Tecmo Super Bowl: Touchdown Bo Jackson
@benhowgill – Call of Duty: Point and Click before other players do the same to you.
@Freakcion -Portal 2 : put holes in white surfaces, jump through them to win
But I better not get carried away. That does remind me, though, to mention the ways you can keep updated with the news here at Blue Dino Code.
My personally preferred method is RSS. There is an RSS feed for the News page (see orange RSS icon?). Subscribe to that in your favorite RSS reader (I use Google Reader).
You can also keep up with Twitter. You will see links to my new posts if you keep an eye on @GrimFang4.
And the last way is Facebook. Well, I can’t help you much here if I don’t really know you… But if we are actually friends, then you might see my new posts there.
I’ll probably do something with Google+ eventually, but not right now. It is better for keeping personal friends and acquaintances separate. Anyhow, see ya around!