HamQuest’s Road To Silverlight

February 9, 2010 by playdeezgames

After moving JetLag over to Silverlight, I figured I’d get started on HamQuest.  It was well positioned to do so, due to the humongous refactor I did a while back to split out the game and rendering logic.

From the looks of things, the rendering part is going to be the easy bit in Silverlight, as HQ is really nothing more than a big bunch of stacked bitmap tiles that get swapped out. Silverlight is well suited for the type of rendering I am doing… way better than the .NET WinForms stuff using a PictureBox.

One part that wasn’t quite as smooth as I’d have liked it to be was the configuration files (creatures.xml, items.xml, and terrains.xml). I had originally used the XmlDocument/XmlNode set of classes to go through them. Silverlight doesn’t much care for that, and instead uses XDocument and XNode, which has a just different enough syntax to make a person crazy.

And another challenging part were the map files (they have a file extension of .cqm, and they are binary files I have used for very simple map structures since my Cybiko days. CQM stands for “CyQuest Map”, for the vaporware CyQuest, which would have been a lot like HamQuest, so the file format is a fitting homage).  In the WinForms client, I just open a filestream. In Silverlight, they are resources, and I had to determine the correct way to open them, which took a while to research.

Now the configuration files and map files load. The maze generates. We’ll see how well things start to get drawing.

Silverlight JetLag For Real

February 8, 2010 by playdeezgames

I added the silverlight section, which basically consists entirely of JetLag.

Still having the minor issue of keyboard focus not going immediately to the game, so it has to be clicked on first, but I’ll get there.  It probably has something to do with how I dynamically create my pages with JavaScript.

I also update HamQuest. We are now at version 1.1.0.1, which hopefully will fix some of the issues that have been reported and/or found by me.

The general idea that I’m getting about HamQuest is that it is now officially too hard, so it is suffering from balance issues. Dunno yet if I’m going to make the enemies weaker or the player stronger to compensate. I need more playtesting.

Silverlight JetLag

February 5, 2010 by playdeezgames

So, Silverlight JetLag has now achieved feature parity with JetLag: Crystal.

Which completes milestone #1 of Silverlight development: be able to do it, upload it, and have it work.

Milestone #2 is to make use of the “isolated storage” in some way, probably just to keep a local high score.

Milestone #3 is to move into Ajaxy goodness, and plug it in to the same system that JavaScript JetLag does.

Milestone #4 is to put the game on the PlayDeez.com site proper, and integrate it into everything else.

So this leads up to the issue of why I have so many (currently 4, Silverlight makes it 5) versions of JetLag. There is, or has been, a Yahoo! Widget version, and XNA version, and an old PocketPC version that I don’t showcase on the site.

JetLag can be written from nothing in a few hours, which makes it a really great straw man for a software delivery platform. Since Silverlight is one of the targets eventually for HamQuest, this is my slide towards the platform.

In other news, I have been gathering statistics on the site in general for about a year now, and it comes time to retire some of the sections of the site… namely Yahoo! Widgets and Scratch. The games are found elsewhere(on the particular sites of both platforms), and are not terribly active pages, and will never, ever see an update. Generally, nobody will miss these… not even me.

I’ll probably wind up doing some sort of “Old Games” archive page, though.

Assembla Message Board

February 5, 2010 by playdeezgames

It looks like the messages feature will work for a public way to submit bugs on HamQuest, so I opened it up:

http://www.assembla.com/flows/flow/cCJdoIJrSr3OLreJe5afGb

Also:

One of the reasons I have been working in C# is to make stuff that works on a PC desktop, as well as on the web via silverlight, and even the XBox360 through XNA.

So, I set up once again for silverlight development, into which I have never really had opportunity to foray very far.

As usual, I go with the scrolly block demo for a jetlag game, which I have HERE.

Assembla Does It Almost Right

February 4, 2010 by playdeezgames

I like assembla. All of the stuff I’m currently working on is housed there in a public space.

The other day, I noticed in the Security page that I could set individual permissions for various types of user for different activities.

Mainly, I was interested in allowing public access to adding tickets. Yes, I know that stuff would wind up being spam, but there are certainly good things that can come from getting bug reports from people without requiring that they have an assembla account.

But the permission levels are view and edit. So, while I’m probably going to see what a non-logged in person can do, if they can indeed edit tickets, then this is no good, as griefers can come in and destroy my tickets.

There is also the possibility of using the messages tab for something like this, and I can generate tickets myself from there.

Anyway, assembla almost has a complete set of free tools that I like. Yes, I had considered sourceforge. I decided against it.

Pathfinding At Last!

February 3, 2010 by playdeezgames

I probably mentioned before (or maybe I didn’t) that the monster AI in HamQuest was rather simplistic.  It was essentially the following:

1. Flip a coin

2. If it lands on heads, move the creature randomly

3. If it lands on tails:

3a. If creature y > player y, move north, and done

3b. If creature y < player y, move south, and done.

3c. If creature x < player x, move east, and done.

3d. If creature x > player x, move west, and done.

Naturally, while this gets the monsters generally towards the player over time, it mostly just made the monsters line up, and it was easy to manipulate their movement, especially because they could not move through items.

So, I implemented a very simply A* based system that allows the monsters to look at the “how far away am I ” value of its neighboring cells, and move to the one with the lowest value.

And I tried it out, and the monsters swarmed the player, quickly overwhelming and killing him.

So I put the random factor into the movement again, but made it a different chance of random movement for the various monsters. Goblins and thieves move more randomly, whereas the undead move dead on for the player.  The summoner and necromancer move the most randomly, as their job is to throw monsters at the player.

I also haven’t won a game in a really long time, and I have NEVER managed to kill a dragon.

HamQuest 1.1.0.0

January 30, 2010 by playdeezgames

http://code.assembla.com/hamquest/subversion/nodes/publish/v1_1_0_0.rar

Decided to dink the minor version, as there have been significant enough changes to the way it works.

This is also the first release built with VC# 2008 Express, so we’re testing that as well.

Triumphant Return

January 30, 2010 by playdeezgames

The standard turn of the year sabbatical has ended, and I am back.

Between school, turkey day, Christmas, and so on, pretty much the entirety of November and December are dedicated to Other Things that are not Game Development.

Usually, this extends quite a bit into January.  About the first half of this month, I was doing Nothing Game Development Related.

Part of the reason for this is that I am a new NetFlixian, and with my Mac hooked up to my TV, this means that I can stream a whole lot of things into my TV.  So I watched a couple of serial dramas, including Jericho and the first few seasons of Heroes.

However, this doesn’t mean that absolutely no game development has gone on since my last post, just not a whole lot, and definitely nothing releasable.

I have worked on three games: TextQuest Lite, Island Interloper, and Medieval Micromanager.

Now to temper this a bit, I am attempting in most cases to learn the lesson of HamQuest, which is to break out my game logic from my client display logic.

I still actually have to do this for TQLite, but it is early enough along to be able to do so without weeks of pain.  Likely, this is the next task for this game.

Here’s a breakdown of all of the games I am working on and where they are at:

HamQuest: I haven’t put an updated version up in ages, and that should probably be the next thing I do. While it is not in a perfect state, I don’t know how much energy I’ll be putting into it, and it is relatively stable at this point.

Assembla Space: http://www.assembla.com/wiki/show/hamquest

Island Interloper: I have the rudiments of a back end and console client going. I can navigate from one island to another, and the seeds of a commodity system are in place. Still can’t buy and sell commodities yet, but that’ll be next.

Assembla Space: http://www.assembla.com/wiki/show/d_-FIkM8ar3OV0eJe5afGb

Medieval Micromanager: Another rudimentary back end and console client. Currently, I can manage units and look at commodities. Next to put in in the land manager, at which point it’ll be close to functioning state.

Assembla Space: http://www.assembla.com/wiki/show/pdg-medievalmicromanager

Text Quest Lite: Not yet separated into back end/console client. I’ve gotten to the point of being able to perform a single action (Chewing Gum… takes 1 action point, and earns 1 experience point)

Assembla Space: http://www.assembla.com/wiki/show/tqlite

Robotech, The Time Tunnel, and Batman

October 30, 2009 by playdeezgames

I recently noted that I hooked up my mac mini to my TV.

I then started watching hulu on my TV.

Two of the things I’ve been watching are The Time Tunnel (done by the same guy who did Lost in Space, and it shows), and Robotech, which I watched as a child. I’m starting with the Macross stuff, and planning to go in order of the three wars.

I find that I like the Time Tunnel, even though it is absurd and campy.

I find rewatching Robotech at this age a bit difficult.

For a comparison, I watch Batman (the Adam West/Burt Ward series) on a classic TV station, and still like it, and I have attempted to watch Greatest American Hero, and didn’t like it the second time around.

I also have the V miniseries, as well as V: the Final Battle. I like both. I also have V: the TV series, which I also still like.

So, I’m trying to come up with what it is, exactly, that I like or don’t like about things.

I always liked Lost in Space as a kid, which is I think why I wind up liking the Time Tunnel so much. I also like Land of the Giants.  In a similar vein, I like both Wild Wild West and Batman from that era, and have liked both since childhood. I also have always liked the Planet of the Apes movies, which I lump into the same genre.

So, in my “I like” column, I have to put “Campy Sci-Fi Made in the 60s”.  But I also like the Bill Bixby Incredible Hulk series, which isn’t as campy.

I really wanted to still like the Greatest American Hero. I really did. I just couldn’t. If you actually find someone with whom you can chat about this show with, you will invariably get a glint of reckognition when you say “The show where they guy was always flying into stuff.”  In the end, that’s all the show amounted to.  I think of this series in much the same visual style of somewhere between Incredible Hulk and V.  I suppose a stronger actor than William Katt would have been better. There might also have been the “you can’t do camp on purpose” factor in this, because I think they were trying to be campy here, but failed because they were trying.

I was also really pumped to watch Robotech again. I knew for a long time that it had been edited together from a different series, but the storytelling is just so poor that, even though I like the story, the presentation within the cartoon is itself unpallatable to me. Sadness. The animation seems almost but not quite as bad as filmation style stuff, which I actually like (Heman and Flash Gordon).

 

 

Sy Snoodles

October 27, 2009 by playdeezgames

When I was a kid, there was Star Wars. Actually, while I remember getting my first two Star Wars dolls (which I am now refusing to term “action figures”), one of which was R2D2, and the other being a rebel soldier with the goofy salad bowl helmet, I was not quite 3 in May of 1977, I do not actually remember seeing Star Wars.

Empire is a completely different story. I was about to turn 6 in 1980.

And I knew a lot about Star Wars. I knew all of the names of all of the characters, even the minor ones. Lobot. IG-88. Zuckuss.

I never got into sports as a child or an adult, but I’ve seen them do the same sort of thing with players and their statistics.  It really is no different than becoming a Star Wars, Star Trek, Comic Book, Anime nerd.  Wrestling, NASCAR, Football, etc. Memorizing a bunch of useless facts about stuff that doesn’t really matter, in any of the cases.

In the case of comics or other things like them, eventually there becomes established a “canon” of the literature, when the entire concept of a continuity within a fictional universe is at best silly.  Football has a continuity because it exists in the real world. Expecting something that isn’t real to follow the rules of real life is goofy.  But it is invariably demanded by the people who read the comics or watch whatever show.

This speaks of a basic human need for the things that they care about to be continuous in this manner. Things need to make sense. People have a need to have things that make sense. They require having the answers as to why thing are the way they are.

I became a Christian several years ago, which caused a severe paradigm shift from my old belief structure. I basically needed to change all of my perspectives on how the world made sense. Some of these changes were easier than others. Now I bridge two worlds, or at least that is what it feels like. I often find myself in the minority view when talking to other technical people, who have a tendency towards humanism, atheism, and other secular ideas. I know of plenty of tech people who do have a variety of faiths, but most of them are hindu, and a small minority of folks are Christian (and they turned out more numerous than I originally anticipated).

In the technical world, my beliefs are considered nonsense by many. I get asked lots of questions. Some I have the answer to. Some I do not, or at least not yet. I do not get into apologetic stuff, as I know that if a non-believer comes up to me with a stack of questions bent on tearing apart my position, he is not coming to have an open minded discussion on faith, to get me on the defensive as quickly as he can so that he can feel good about how much smarter he is than me. I know this because I used to do this. In these sorts of discussions, my tactic is to ask seemingly simple questions that have a much greater scope than what is originally asked.  For an example: “What happens to a leaf if you pluck it from a tree and throw it over your shoulder onto the ground?” My aim is not to convert people who are obviously dead set against my position. I might as well be shouting at a stone. If my questions and discussion can cause little cracks in the assumptions that the person has, then he will start to come to his own answers by himself.

In the church world, there is a complete lack of understanding as to how a person could not believe in God. Actually, even in those who are atheists that I personally have known, I have seen evidence in each person that betrays the fact that they do, indeed, believe in something and have their own ideas on how things “really” work. Many church folks I know will ask the question “How can you not believe in God?” of a non-believer in the same tone in which a football fan asks me “How can you not like football?” The fact of the matter is that the non-believer has bought in to the secular continuity of the universe, whereas the believer has bought in to the biblical continuity.

People need a continuity in life, apparently. Take great care in picking yours.