Main Page » My Games » Villainmad »

2013/04/07 (Villainmad): You'll Notice That The Loading Screen's Fade-In/Fade-Out Takes Longer Than The Actual Loading


Always use secure-HTTP / Unsecure HTTP / Permanent Link

So, I figured, while I'm in the middle of trying to implement the replay-system and rearrange the menu-system before I even add text, that now is as good a time as any to post the latest build. There is currently no config-menu; you'll have to modify Villainmad.ini manually. The XNA version is here, XNA is here, the OpenGL version (for which gamepads don't actually work) is here, the source code is here. The OpenGL version is compiled with "the Windows OpenGL version of MonoGame," but might work elsewhere. I have no idea. (It should be noted that getting MonoGame to work on Windows 7 and below is low-priority for the MonoGame devs, because XNA 4.0 itself is still perfectly functional, and even runs on Windows 8 desktop.)

The first thing you're likely to notice is that tadaa, the screen has a native 1280x720 resolution! I looked at Touhou's 640x480 and thought to myself, why limit myself to that? And then I looked at Wikipedia's list of screen-resolutions and thought to myself, why not? Fullscreen resolutions fit themselves to items from that list; windowed resolutions can be any width above 640, but the height is always 16:9.

One thing to note is that I'm exposing more of XNA's stuff from within engine's framework. Before, for instance, I'd basically kept everything completely under wraps, with only the filenames available; now I have it set up so that you can actually get at the loaded Texture2D objects. The idea is that you can then use the loaded graphics in existing XNA libraries. In other words, I'm trying to set things up so that I'm working with XNA's built-in functionality, not against it. (Audio is another matter, since sound in my engine is exclusively stored as byte arrays for use in DynamicSoundEffectInstance objects, but you can get XNA soundfiles out of them.)

I've also set things up so you can load other data for images: specifically, rectangles, X/Y-coordinates1, and numbers. My reasoning was, if you make a sprite sheet, why not include the coordinates for the sprites in the image itself? (I also got rid of "preprocessing" from the OpenTK version, on the grounds that it was just a pain to get to work and wasn't really necessary.)

My to-do list is in the source code, but here it is:

  • Stage-replays
  • Text
  • Finish rearranging the menu-functionality
  • Futzing around with framerates
  • Get the Nuclex Framework for the XNA version so that my game can comprehend the idea of controllers which aren't Xbox controllers
  • Possibly rework the audio-system in the OpenGL/OpenAL version so that my kludged-together fakey-pretend version of DynamicSoundEffectInstance is built into the functionality of my sound-instance class, instead of being a separate class that will never see the light of day otherwise. (Or just make an actual "official" DynamicSoundEffectInstance implementation?)
  • Todo eventually: loading from archive-files, 3D graphics, and maybe eventually console/phone functionality.
  • Actually making the game!

I guess we're right back where we started, then. But man, I feel like I'm tearing through the base framework at high speed!

1I made my own implementation of XNA's Point type, solely so I could add things like adding and subtracting values, and automatically converting to Vector2.

1 Comments (auto-closed) (rss feed)

Formica Archonis

But man, I feel like I'm tearing through the base framework at high speed!

Ah, that is always an awesome feeling.:)