Main Page » My Games » Villainmad »

2011/12/09 (Villainmad): And (almost) back to where we were.


Always use secure-HTTP / Unsecure HTTP / Permanent Link

Well, well, well. We're now just about where we were before. Here is compiled-game; here is source; if you're on Windows, you may need .Net, and if you're not on Windows, you may need Mono. Don't worry if you get an error message about the Config the first time you run it, that's just a thing I added for testing purposes.

I rearranged everything again! Config.exe, in addition to the fact that you can run it, functions as a library for basic configuration-informaton; however, it no longer contains the entire rest of the engine, which is instead housed in VMEngine.dll. Each class is now only contained in a single file instead of spreading everything out randomly, and I heavily used the #region preprocessor-directive to keep things organized. Oh, and I successfully figured out how to take a "screenshot," which certain menus will now use as their background so the game doesn't waste time doing nothing-in-particular while it waits for the menu to play.

I've also created a struct called Color4 for dealing with the fact that OpenGL lets you tint images with up to four colors. If you use a System.Drawing.Color where it asks for a Color4, it gets automatically converted. One of the places you'll notice this is in the new "draw rectangle" code in both the menus and the Collision Shenanigans Test. Which, by the way, demonstrates that I have added support for rectangular hitboxes in addition to round ones! I figured they'd be useful for when you fly up right into the Spell Card title or other UI stuff you want to appear in the game-field. (Not demonstrated: the "draw triangle" code and the Color3 struct, which can take any arbitrary set of points arranged any-which-way. No, I won't make triangular hitboxes.)

My reimplementation of the text-stuff is currently Not Quite Finished, but I figure, eh, close enough for now. I'm using the QuickFont OpenTK-library. You'll notice, first of all, that I'm using Bitstream Vera Sans Mono instead of the Microsoft-proprietary font Segoe UI Mono.1 I think "Microsoft-proprietary" says everything you need to know about the change. However, I currently cannot change color/transparency at any point after the font has been set up, which is a limitation of QuickFont; I'll hack it in myself later, but for now, you get to see the "multicolored rectangle" as your menu-cursor instead of seeing the menu-items turn gray.


  • Fix up QuickFont so I can color text at render-time.
  • Do something about the Color4 struct, I think I could handle that whole issue better. Maybe have a "ColorCollection," or something, which could have an arbitrary number of colors ...
  • An idea I just had: making Layers as their own class of object, so you can Do Things To Them more easily.
  • Loading-screens and fade-in/fade-out.
  • Finishing up the config.
  • Text/language/font systems.
  • Saving score and replays, with the aid of XML serialization.
  • At this rate, I believe the engine itself will be done at some point in February.
  • Current projected release-date: July 2012.

1Or, failing that, you'll at least notice that I'm now using a different font from before.

1 Comments (auto-closed) (rss feed)


Hooray! Updates are what makes Xaltwind happies~
A question though, how long will theis game be in terms of Stages? Perhaps you haven't decided on that yet though, which would be understandable, considering the Engine and other Important Stuff aren't quite finished just yet.