2006-03-31

A Cry for Help

Filed under: Uncategorized — D. Moonfire @ 15:31

One morning, I really wanted some tea, but I didn’t want to keep going downstairs for more than one cup. So, I found one of the large polycarbonate pitchers the company has, filled it to the brim with milk, sugar, and hot water and a single tea bag. It was just the perfect amount that I could leave the bag in, plus I had tea for the entire day which was nice and sweet even when it got cold.

The first time I showed it to fightertype, she said it looked like a cry for help. So, the name stuck. Now, a Cry for Help is any large pitcher of tea. I’ve tried to use a couple different pitchers for a CFH. Glass ones are bad, they crack. Water bottles just collapse. The best I’ve had are the polycarbonate ones, like the pitchers they have at resturants. Those handle the heat of the searing hot water without cracking or warping.

2006-03-30

log4net and Tao packaging

Filed under: Technology — Tags: — D. Moonfire @ 21:00

Packaging log4net and tao is fun. Hopefully, I will actually finish when the Debian CIL policy stablizes on 0.4.0. I’m pretty proud of something I did, dh_installcligac, which sets up a late install of the GAC files, which means we don’t have to package the already installed .dll as part of the package.

2006-03-22

Assembly Versions

Filed under: Programming, Technology — Tags: , , — D. Moonfire @ 16:42

Packaging assemblies is always a pain in the rear. More so when you are doing it without being one of the developers. On the #debian-mono channel, I got into a discussion about how to handle breaking stuff. One of the things that came out of that inclusive thing is how to map versions to other versions.

The main part is if you have version 1.2.9 and 1.2.10. Files linked to 1.2.9 won’t work if you uninstall it for 1.2.10. You can create a policy file to get around this, though, which works out very nicely.

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
   <assemblyIdentity name="bob" publicKeyToken="0499830f33a4a9f7" />
      <bindingRedirect oldVersion="1.2.9.0-1.2.9.9" newVersion="1.2.10.0" />
  </dependentAssembly>
</assemblyBinding>

This basically has anything in the 1.2.9.* range actually use 1.2.10.0. Obviously, you need to version your file when you do this. To create the policy, you do this:

al /link:b.policy /out:policy.1.2.bob.dll /keyfile:bob.snk
gacutil /i policy.1.2.bob.dll

The “1.2″ is important. “1.2.9″ won’t work and “1″ won’t work either. Of course, that means you have a couple nasty options. As an assembly writer, you really should have breaking changes be in the first two version numbers (x.y) because you can’t easily create a policy that changes half-way. If version 1.2.9 has a policy for 1.2.0.0 to 1.2.8.9, then 1.2.10 breaks things, then later you have 1.2.12 that replaces .10, then you’d have to have two policies.

Now, you can get around this by changing SNK files every time you break something. The policy is based on that, but it would require you do remember to actually test for breakage, then change your key, if you insist on doing a x.y.z breaking change. If you stick with x.y breaking changes (or my preference of x), then the package builders can do something easily (without changing the key).

2006-03-21

Wordplay is mostly done!

Filed under: Programming, Technology — Tags: , , — D. Moonfire @ 23:41

Worked on Wordplay for the last couple of days. Ended up redoing most of the theme, to make it look more like a tile game instead of just random vector graphics on the screen. Okay, they weren’t that bad, but the fancy font made it hard to read the tiles properly.

I ended up doing the MfGames.Sprite stuff to isolate the engine, but slomo said that it was taking too much CPU. Of course, the same set only took ~30% of my CPU took 100% of theirs. Dropping it down to 2 FPS took 4% of my CPU but 30% of theirs. Very interesting, but it might explain why I cannot find a single Gtk sprite engine (managed or not) anywhere.

ss-001.png ss-01.png ss-02.png ss-04.png ss-05.png

The two major features are the high scores list, which I’m pretty happy with. It stores the files in working directory of the game, but keeps the configuration options per-user. The other bit are the additions to the preferences screen. The FPS comes from the work spent on the MfGames.Sprite engine and really simplifies the code.

You can see from the third image, that water tiles are looking much nicer now.

If you want to try it out (please do) and give feedback (please do), try this link:

2006-03-20

MfGames.GtkExt and MfGames.Sprite

Filed under: Programming, Technology — Tags: , , — D. Moonfire @ 22:11

After some discussion, I decided to rename my Gtk# library to MfGames.GtkExt. It is easier to type than MfGtk which I always get wrong. I also took the sprite library and isolated. For starters, it needs gmcs (C# 2) since I love generics and they fit well with the system.

This weekend, I worked on getting an isolated sprite library working properly with Gtk#. I managed to get it to handle 40+ sprites moving around at 30 fps without killing the CPU. It handles partial updates and actually works pretty smoothly. Overall, I’m very happy with the progress. Of course, I only have a week left to finish Wordplay, but that is the price for making libraries.

I’m also redoing the sprites for a more proper appearance for Wordplay.

ss-00.png

2006-03-19

lurfagrin

Filed under: Uncategorized — Tags: — D. Moonfire @ 17:04

lurfagrin comes from Lojban, one of my favorite constructed languages. The basic components are “lur” which is the short form of “lunra” which means “moon” and “fagri” which is fire. Put together, you have “lurfagri” or “moon type-of fire” or moonfire. The trailing “n” is to make it a name.

It occured to me, I was using “lurfagrin” on the chat rooms lately, but using “moonfire” or “dmoonfire” everywhere else. So, I decided to wander back to a name that actually fits “Moonfire Games”, this domain, and everything else. I’ll still use “lurfagrin” occasionally, but I really should be consistent. Consistent is good.

2006-03-18

Namespace Collisions

Filed under: Programming — Tags: — D. Moonfire @ 17:57

I was playing around with MfGames.GtkExt (new namespace) and the sprite library. I’ve always had a problem with the namespaces, mainly since I want to use “.Gtk” but it caused problems with the “Gtk” namespace from gtk-sharp. So, I decided to figure out the exact limitation.

namespace Bob
{
	public class AA {}
}

namespace B.Bob
{
	using Bob;

	public class BB : Bob.AA {}
}

The above doesn’t work. It gives an error, but interestingly, the following works:

namespace A.Bob
{
	public class AA {}
}

namespace B.Bob
{
	using A.Bob;

	public class BB : AA {}
}

So, that means you can’t have a sub-namespace with the same name as the top-level one. So, if you have “Gtk”, you can’t have a sub-namespace of “Gtk” because both the VS and mono have a problem with it. On the other hand, I can use “GtkExt” for both the sprite library and the MfGames.GtkExt without a problem.

2006-03-17

Review of “Ultra-Violet”

Filed under: Reviews — D. Moonfire @ 13:37

Now, I’m fond of bad movies. I’m really fond of bad movies, but I saw this review on Venus Envy (a comic about bi, gays, lesbians, and transsexuals, so might not want to go there, but I love the emotions in the story):

‘Ultra-Violet’ was the movie I had actually been looking forward to seeing the most. It was bright and colorful, which is actually something I really like in a movie (that and shiny aluminum foil), and looked ‘over-the-top’ bad, which is always fun. I can say this much: If you want to see a bad action movie, DO NOT PAY FULL PRICE to see ‘Ultra-Violet’; go to a matinee, sneak in, break in after hours and run your own screening, or just buy s $3 bootleg DVD on your next trip to Hong Kong, but don’t (for the love of god and all things holy) send money to the people who made this movie, or they’ll just use it to make more.

‘Ultra-Violet’ is set in a world where, I shit you not, the government created a highly-contagious virus that gives everyone who gets infected (and you can get infected by touching blood, being cried on, or possibly even from getting a dirty look, apparently; sort of a Fristian AIDS) super powers, and rather than say ‘This is a great leap forward for mankind; we’ve developed a virus that makes us healthier and strong and universally attractive”, they decide to go ape-shit, let the CDC take over the government, and start herding ‘hemophages’ into concentration camps… because apparently it’s very, very easy to round up everyone in the world who is infected with the most contagious disease since the common cold. The kicker, though, is when we find out that the super-virus is actually VAMPIRISM, which is something they mention repeatedly throughout the story but never actually has any bearing on anything, because these vampires can walk around during the day, don’t drink blood, and have no aversion to churches or even spicy food.

The movie has about ten minutes of dialogue, all slow, convoluted, and as painful to watch as it probably was to perform (“I have 700 armed men here gaurding me. What do you think you’re going to do?” “Kill them!”). The evil, Nazi-esque guards all wear heavy gas masks, but never think to use GAS on the scantily-clad vampire chick who’s mowing through them like an unruly lawn. The Magoffin is a ten-year-old boy whose dark secret changes every twenty minutes without fail. At one point, my girlfriend started laughing so hard and uncontrollably that she almost passed out, and the people sitting in front of us moved EIGHT ROWS up (ostensibly so that we didn’t ruin the movie for them).

All of these things, you expect from a bad action movie, but….

As a first-year art student who despises her CGI classes, I should not sit in a movie theatre and think “Damn… I could do better than THAT”. You go to bad action movies to watch corny, over-the-top action scenes, but the fights in ‘ultra-Violet’ weren’t fun so much as funny. Half the guards at the CDC carry ONLY katanas, in a world where everyone FEARS A BLOOD-TRANSMITTED DISEASE… and they don’t even really use them well. It’s like they randomly hand out assignments every week to decide who gets a gun and who get a sword. There’s never any question about whether or not Violet will win; She doesn’t actually take a hit until the final boss battle, and even then she doesn’t even start sweating, which takes away the tension (the only thing that normally keeps the comedy at bay in these movies) and the whole thing becomes more of an endurance trial than an action scene.

This is not a movie that was written, it is a movie that was randomly cobbled together from the screamings of a fifth-grade class. Possibly sixth grade. If you go see this movie, GO DRUNK.

So, to sum up: Low-budget foreign import about vampires: GOOD. High-budget domestic film about vampires: BAD.

Also, the state of the Union is NOT STRONG!

2006-03-16

MfGames.MfGtk.Sprite

Filed under: Programming — Tags: , — D. Moonfire @ 18:03

I originally wasn’t planning on trying to make an isolated sprite library for Gtk# (mainly because I’ve done it so often), but Wordplay is just simply too slow at the moment. So I figured it would be easier to create an isolated library/demo, get everything working up to speed, then put Wordplay back in.

What really made the point is playing Bookworm again, and seeing the eight word tile games that came out in the last six months or so. All of them have a few things in common, one of them is the sheer graphical presence compare to most of the Gnome and KDE games out there. Compared to the fancy games in Windows, most of the Linux games look so plain and uninteresting. I want Wordplay to be at least reasonable in appearance, so I need to add a lot more polish to the game. And that polish needs a good quality graphic engine. I’ve considering putting the system back into SDL.NET but I don’t really want to get lost in the details of making a GUI (again) so I’m going to stick with Gtk#.

One thing that is really obvious about the differences between Linux games and commerical games is an artist. As a writer, I noticed this too. There never seems to be enough artists for everything you want done. So, I might need to find an artist who works for little (read: free) to make it really good look.

Side Note

Actually, I went back to SDL.NET, just to see my old demos, and things changed and I never kept up with them. They don’t quite work the way I remember them working, and things seem off. I should probably go back and play with it, just don’t really have the time at the point. :(

2006-03-15

Credit Reports

Filed under: Uncategorized — D. Moonfire @ 00:50

Today, I had a strange message on my voice mail about someone looking for a job. Of course, that wasn’t very strange, except I got the same message at my job also, which implies Potential Bad Things(tm). So, I decided to get a credit report, just in case. While searching, I found this interesting site:

It’s a US government site and it pretty much says you can get three free credit reports every twelve months. Honest free, not the free and if you don’t remove us we’ll bill you for $9.95 type that you can find by doing a google search for “credit report.”

So, I figured I’d remind people that they can get it and it is a pretty good idea to do once in a while.

Older Posts »