Page top

2011/04/23 (Villainmad): I Like To Move It Move It

Created: / Modified:

Always use secure-HTTP / Secure HTTP / Permanent Link

So, in addition to playing Portal 2, the Ten Desires demo, and distracting myself with miniature projects of no practical use whatsoever (such as a webcomic), I've been poking around at doing this project some more. Here is the latest build; here is the latest source; you still need XNA, DirectX9, and Windows 7, Vista SP1, or XP SP3.1

First major change that isn't covered in the comments-section of previous posts: I've added sound. You can arbitrarily play individual sound effects. You can play a background theme, pause it, play another one, and stop the newer one and resume the previous one where it left off. This is therefore more advanced than the background-music in the Touhou games before Ten Desires.2 Todo: add "get/set position" business for BGMs, so that I can be as advanced as Ten Desires. Currently, the BGM format has to be big huge WAV files with loop-points set in Wavosaur, because that's the only way I can have looping BGMs in XNA, which means BGMs are going to be bighuge-like-Touhou. Todo: find some sort of library which allows conversion from, I dunno, OGGs with a "LOOPOINT" data-tag (or something like that) to something XNA can use, or a better way of doing this. (I can't use WMA, which XNA does support, because the way WMA works, loop-points are physically impossible.)

Second major change is, I have begun work on user-input, which will be invaluable for menus and player-actions. I've started by setting up Application Settings for each individual key the game will let you press on the keyboard (todo: set it up so I'm using DirectInput for the controller, rather than XNA's "lol must be Xbawks controller"): arrow keys, esc, enter, Z, X, C3, left-shift, ctrl. And the game is able to keep track of each one! Now I just need to set up input-handlers for each one (including a special case for directional-movement, so you don't need an entirely different method for each arrow-key), and we'll be closer to business!

1Which is incidentally mildly bugging me. I mean, yeah, it's not like they requirements are ardurous compared to what XNA requires to begin with, and of course it's just good computing practice to have the latest version of your operating system, but. I guess there really isn't any other way of doing it, though, unless I want to dive back into using some kind of scripting language ...

2I still think that this is the main reason ZUN forced you to start over the whole level if you continued in MoF through UFO: he couldn't have you play the game-over theme and then resume the stage-music where it left off.

3Random gameplay idea: X is for "bombs," which you have in stock and which kinda suck and penalize your score, and C is for "super moves," which you must fill up a super-meter to use and which are awesome (but don't make you as invincible as bombs do).

9 Comments (auto-closed) (rss feed)


todo: set it up so I'm using DirectInput for the controller, rather than XNA's "lol must be Xbawks controller"

Yeah, that pisses me off about Audiosurf. I want to be able to use any joystick with it, rather than having to use Joytokey.

Hunter 1

Zemlya: Yeah, I know. I prefer my Logitech Rumblepad 2 for use on my PC, instead of my wired 360 controller (by doing so, I can keep my wired controller plugged into my 360 and save a bundle on batteries for my wireless controllers).

And I know it's not all that hard to do, Beat Hazard can use standard USB gamepads, and that was released for the 360 first!

Kimiko Muffin

Fortunately, it looks like I could use Nuclex to deal with the controller issue. Might be useful for the audio dealies, too. I admit I've only given it a cursory glance, but this just might help with a bunch of things.


wow Nuclex does a lot more now then when I last looked at it!


Will the player be able to reconfigure the keys? Because it's kinda annoying to change the keyboard settings every time I start playing only because mine has a QWERTZ layout.

Kimiko Muffin

Yep. It'll be my first priority when I implement menus.


your link to the latest build is broken.

Kimiko Muffin

Whoops, should've been capitalized. There.

Kimiko Muffin

Actually, I just had a better idea than leaving it to an ingame options-menu: a separate Config.exe dealy!