August 10, 2008

Come Play With Me

Filed under: Games Development,Pandemonium,XNA — bittermanandy @ 4:28 pm

The first few articles on this blog have been written with the intent of sharing ideas, information and best practices with everyone else out there with an interest in developing games. It sounds like at least some of you are finding it useful, and I’ve been getting some great feedback, as well as ideas on how to make it even better.

I hope you will forgive me if I take a moment to be rather more selfish, and shamelessly publicise my in-development game, Pandemonium. That said, as well as showing off (the very early stages of) my game, this video also demonstrates several of the techniques I’ve talked about previously, most notably Kensei.Dev.Options and using PropertyGrids to rapidly tweak game variables.

I know, it’s not exactly full of eye candy! At this stage it doesn’t worry me. You can probably tell that Pandemonium is going to be a third-person platform game, very much in the vein of the classic Mario 64 or Banjo Kazooie games. The key to this genre of games (as with all games, really!) is the character control – if the player doesn’t enjoy moving their character around, they’ll never enjoy the rest of the game; and I’ve therefore decided to concentrate on honing the control first, before I start worrying about graphics, models, shaders and other such trivialities.

To this end, I’ve knocked together a small test level, which I’ve called the Playground, that contains a whole bunch of geometry for my avatar to run and jump around. I’ll use this level to refine how my character moves, and establish early on how far it can jump, how fast it can run, and other constraints that will make later level design much easier. Over time, as I add more features to the game, the Playground will get expanded; by the end of development, I’ll be able to load up the Playground and instantly test or demonstrate anything the player can do on any level of the game proper.

I mentioned SketchUp (the 3D design tool I used to create the Playground) before, and I used Bulent’s Screen Recorder to capture the video.

“I think I can make an entirely new game experience, and if I can’t do it, some other game designer will.” – Shigeru Miyamato



  1. Ooo…

    Very, very nice… are you going to do a detailed post on how you folded in Property Grids?


    Comment by MCDOWALL — August 10, 2008 @ 4:59 pm | Reply

  2. Quite possibly, at some point, but I’ve not used them much myself yet, so I’m still exploring what can be done with them. Once I feel confident that I know what I’m talking about, I may write up what I’ve discovered. There’s some discussion after one of the earlier articles where a few good ideas have been thrown around, if that’s of interest.

    Comment by bittermanandy — August 10, 2008 @ 5:06 pm | Reply

  3. Nice. It looks a bit more than just very early stage. 😉 Are you using (or plan to use) any physics engine or coded all collision detection yourself?

    Comment by Luke — August 10, 2008 @ 6:40 pm | Reply

  4. So far all it does is line-to-triangle and swept-sphere-to-triangle simple collision tests, which were straightforward enough to code up myself – it’s just a bit of maths. Things will inevitably get more complex, and as I have to start handling proper collision responses, rather than merely detecting them, I may decide to use an existing engine. I’ve not decided yet; but it’s something I expect to decide sooner rather than later, and another good reason to get the Playground up and running before worrying about the graphics.

    Comment by bittermanandy — August 10, 2008 @ 6:52 pm | Reply

  5. Excellent work sir. Implementing now.

    USB keyboard to Xbox is an awesome thing to know.

    Comment by nsthsn — August 10, 2008 @ 11:42 pm | Reply

  6. Looking good. It’s always nice to see platform games in development, there just aren’t enough of them about in my opinion. I look forward to seeing the project progress 🙂

    Comment by toris — August 11, 2008 @ 12:22 am | Reply

  7. Either a glitch with my system but as of 15:00 BST the video feed is not available.

    Comment by Antony Kancidrowski — August 12, 2008 @ 3:07 pm | Reply

  8. Hmm, not your system, no longer working for me either. I’ll check back again later, if it’s still down I’ll contact Google to find out what’s up…

    Comment by bittermanandy — August 12, 2008 @ 3:48 pm | Reply

  9. Seems to be working again now.

    Comment by bittermanandy — August 12, 2008 @ 8:54 pm | Reply

  10. Yes, just had chance to watch it. Motion and movement looks good to me. Like the use of the property grid for tweaking parameters. I’d be sooo tempted to get some models in there. 🙂

    Comment by Antony Kancidrowski — August 13, 2008 @ 12:29 am | Reply

  11. All in good time! 🙂

    I know that models/animation will be heavily influential on how the movement “feels” but I want to get the basics down first (I confess… there are some known issues I decided not to show in the video), and adding models/animation will be the next step.

    Comment by bittermanandy — August 13, 2008 @ 12:53 am | Reply

  12. Great posts, enjoy reading your blogs.. Very enlightening and helpful tips.. 🙂

    I was wondering if you’d care to elaborate a little about your overall structure of your game/code.. Im thinking, scenegraphs, datastructures, how you structure your collision detection versus “normal” updates (is it intertwined? Is it separate and run after all objects have updated themselves?), how you plan to implement the objects (entity based system, component based system, or something else entirely?), etc..

    Looking forward to your next posts..


    Comment by Caion — August 13, 2008 @ 12:54 pm | Reply

  13. Hey bitter, I love reading your blog and seeing the developments of Pandemonium.

    Please, keep up the great work!

    Comment by Kyle — August 13, 2008 @ 3:39 pm | Reply

  14. I must say, even for being in the ‘preliminary’ stages, it’s looking pretty good! That, and I’ve loved the things you’ve posted so far. After reading them, it made me do a bit of a face-palm and wonder why I hadn’t done something like that earlier!

    Comment by Joel — August 13, 2008 @ 5:44 pm | Reply

  15. Caion – that’s quite a wishlist! 🙂 In all seriousness though, they are very important topics. It’s even possible I’ll write about them one day… but not yet. As mentioned, Pandemonium is still in the very early stages, and I’d feel like a fraud writing about something before implementing it myself. (Many of the sites linked to in my sidebar discuss them at some length though).

    For example – from what I have read over the years, I am convinced that you should “prefer composition to inheritance”, but – partly because people “get” inheritance more easily, partly because it’s easier to write, and partly because it’s just the way it’s always been done – all the games I’ve worked on in the past have had sprawling, deep inheritance trees, with all the problems that they bring. So, while I plan to favour composition, I don’t feel ready to write an article about it – as the whole content of the article would be “inheritance is bad, and I’ve been told that in theory composition is good”, half of which is negative and half of which is unconvincing.

    But stick with me, I’ve got plenty more planned that I can talk about!

    Comment by bittermanandy — August 13, 2008 @ 6:49 pm | Reply

  16. Indeed it is, and honestly, I wasn’t expecting details on all of them.. In reality I was looking for a overview of the structure of a game, the reason being, that I’m not quite “getting it” just yet.. Im somewhat familiar with the structure of various parts of the system, but missing a few pieces of the puzzle in order to “get” the – so to speak – interplay between all the different parts.. The “wishlist” as you call it, was simply some areas of interest :)..

    Hopefully we will hear more about this in the coming months, as Pandemonium starts to take form..


    Comment by Caion — August 13, 2008 @ 8:13 pm | Reply

  17. Hey your game is looking good! I want to second the praises you have received on your earlier posts; they are quite helpful and its always good to see someone giving back to the community! Keep up the good work and I look forward to any posts you may do in the future!

    Comment by Shawn Lehner — August 16, 2008 @ 1:34 am | Reply

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

Create a free website or blog at

%d bloggers like this: