Thursday, May 29, 2008

Are deadlines today's modern minefield?

Modern Minefield has been posted on Blazing Games. I just got back from a trip out of province for my nephew's graduation. I am not entirely sure why the graduation ceremony was in May when school does not finish for another month but I suppose that big city schools have to schedule things when they can. It was a very short stay though the drive was not a short one but podcasts made the drives much easier. Of course, I do have deadlines approaching which makes things quite hectic here so I am keeping this entry quite short. Next week I will try to have a more substantial post.

Thursday, May 22, 2008

The Landing Bay has Landed

One of those Weeks episode 38 has been posted to Blazing Games. While I was thinking of dropping the RSS feed and having just a single blog, I have decided that the two different blogs serve different people. The site rss feed simply alerts people to the fact that some new content has been posted, while this blog goes into more detail about what I am working on and details about how the games on the Blazing Games site are created.

One of those Weeks, as I have mentioned a few times before, started out as an outline for a novel that I was going to attempt to write but for some reason (insanity most likely) I decided to make the story into a multi-episode adventure game. While some deviations from the original story outline had to be made, for the most part I am following my story outline while somehow managing to come up with game-like puzzles and activities. There is not that many episodes left, but still a big twist in the story. A fair number of people still seem to be playing the episodes so the twist in day 5 probably didn't destroy the game. Still, it would be nice to get feedback but I guess Blazing Games is just too small (in number of visitors not site size) to get that much feedback.

I still have my hopes that I will be able to finish the remaining episodes by the end of the year. This shouldn't be a problem as I have a few of the remaining episodes ready already and have started on some other episodes. With everything that has happened lately I know that nothing can be guaranteed.

Sunday, May 18, 2008

Spiking a Path

I have posted the release candidate for Classic Monster Hunter on the Ultimate Retro Project repository so anybody who can compile Java can try it out. Those of you who don't know how to compile programs or just don't want to put the effort in will have to wait until June. I have still been thinking about what I am going to do with the site and my thoughts have started forming a series of plans. One of these plans directly relates to this development blog so I will outline it first.

Right now I have a separate RSS feed for Blazing Games announcements and the feed that Blogger automatically handles for this blog. I am thinking that I may drop the sites feed and simply have all my announcements here. I would also probably cut back on my posting to every Thursday with the only other posts being shorter announcements for things such as the repository update above and industry news that I think the people who read this would care about.

I have a bunch of thoughts on how to better monetize the site which I will be trying to test out over the next year. If I am lucky one of my plans will actually pan out and I will be able to turn Blazing Games into a real company.

One of the things that I have been trying to do in the past but never quite got working was the idea of releasing early builds of games. Making a game is a lot of work, with a weekly release schedule being a heavy burden, so if I can take a game and slowly build it out to what I want it to be over a number of revisions then visitors will still be able to play new material every week even if it is just new enhancements to an existing game. The first game to get this multi-release treatment is Thirteen Spikes Unlimited. Here is the revision and release roadmap for Thirteen Spikes Unlimited:

  • 0.1.0 internal development release
  • 0.2.0 First official release on June 13, 2008
  • 0.3.0 Development build for Skinning support
  • 0.4.0 Official build supporting skinning targeted for February 13, 2009
  • 0.5.0 Development build where campaigns are tested
  • 0.6.0 Official build supporting campaigns targeted for March 13, 2009
  • 0.7.0 Development build for built in campaign editor
  • 0.8.0 Official build supporting campaign editor targeted for November 13, 2009
  • 0.9.0 Development build for 1.0 version
  • 1.0.0 Targeted for August 13, 2010
More details on my other plans will be posted when I am closer to actually implementing them.

Thursday, May 15, 2008

Minefields and Graveyards

Classic Minefield has been posted. I am still trying to figure out what to do next week. Do I leave the vague description for One of those Weeks 38 or do I put the correct picture and better description of the episode? When you think about it, the description of the episode probably won't spoil the previous episode for those people who only visit Blazing Games infrequently.

The funeral went fairly well, considering it was a funeral. I was a pallbearer so my biggest fear was that I would trip or drop the coffin. I know, I have silly fears. The funeral has me thinking about my future and I am wondering if it is really worth spending so my time on Blazing Games. If I was actually smart enough to have a successful company and was able to pay myself a salary or wage for my work it would make sense. I do enjoy programming and creating games but do tend to put way too many hours into Blazing Games. I will make my decision about the future of Blazing Games once I have finished the existing projects that I am working on.

Friday, May 9, 2008

Shining some light on Light Box

With my Grandmother's funeral on my mind I forgot to post this yesterday, though I did remember to update the Blazing Games site. I am finally going to post my guide to Light Box, but lets first take a look at what was posted on Blazing Games. The first of two episodes of One of those Weeks for this month was released. I plan on having another double release in July and one episode every other month so One of those Weeks will be ending this year. The making of One of those Weeks will take a little longer and I have another thing One of those Weeks related that I may be doing but won't go into any details until I know for sure I am going to release it.

Light Box is a black box style of game and as such reverse engineering of an object strictly by studying the inputs and the outputs. The goal is to recreate the original light box results, which may not necessarily result in the same layout but due to the simple nature of this game more often than not your clone box will be part for part identical. One of the nice things about this game is that there are many ways that one can use to solve the puzzles. The most entertainment comes from figuring out your own procedure for solving the game yourself, but today I am going to go over my procedure for solving the game.

The first step in my procedure is to simply to take a look at the test results and see if there are any correct entries which match up horizontally or vertically. The thought here is that these columns are statistically highly unlikely to contain any prisms. While it is certainly possible for there to be a multi-prism layout that fakes this result, this will happen fairly infrequently.

The next step is to take a look at the test results that are only halfway solved. The most common cause for this is a prism that has it's point towards the matching slot. While this may not always be the case, when it is, the placement of the prisms becomes abundantly clear. Some of these may be overly complex in which case I tend to just make note of them and continue on.

My next goal is to go through all the remaining non-matching slots and see if there are any obvious prisms. If there are only one or two outputs then it is simple to find the obvious placement of a prism that will give you the desired results. The nice thing about this is that often the solution to the more complex non-matching slots will become clear as you solve the simple slots.

Finally comes the assembling of the complex slots. Occasionally you will find a slot that simply will not work with the existing layout of prisms. In these cases, removal of some of the prisms is required and re-thinking of the prisms is required. While this is frustrating when it happens, actually solving these puzzles tends to be really rewarding.

Sunday, May 4, 2008

Spiking mxmlc

First, the ultimate retro project repository has just been updated and now contains a playable version of Classic Monster Hunt. I still haven't wrote the instructions and I still want to clean up the code a bit but it is fully playable at this point. That being said, I didn't spend that much time today working on it but instead spent my time playing with mxmlc.

For those of you who don't know what mxmlc is, it is the command line compiler that is included with the freely available Flex 3 SDK. While it is certainly much nicer to use Flash CS3 or FlexBuilder to create swf files, both those options cost money and since I want my open source releases to be usable without the requirement of expensive tools I wanted to see how much work it would be to create a game without the expensive tools. I have taken some baby steps by trying to keep my source code outside of my flash file. With 13 Spikes, however, I am creating the entire game using the command line compiler and a text editor. For those who are curious, I am using jEdit for my editor.

Using the command line compiler and debugger is not that difficult, so anybody who wants to create flash applications but don't have any money certainly could handle it. The thing that is not made as clear as it should be is the fact that you do not need to create a flex program to use mxmlc but can instead write your program entirely in ActionScript 3. In fact, if you do not need the flex library you might be better off without using mxml as there is a bit of an overhead for the flex libraries.

I can't say that my first few hours of only using a text editor and command line tools was not as productive as it should have been as I had a lot of problems getting my Spike sprite class to work properly. This was my first attempt at overriding the Sprite class as I normally use the MovieClip class but sprites are suppose to be much more efficient. My problem was that I was trying to set the width and height of the sprite. Why that would stop the sprite from drawing itself is beyond me, but once I removed the code that set the width and height of the sprite it started working fine. It appears that width and height are internally used, as once the sprite was drawing, printing out the sprites width and height came back with the size of the object that I was drawing.

Thursday, May 1, 2008

Open Screen Project

I am writing and posting this early so Blazing Games has not been updated yet though I will be doing that this evening. I am going to be delaying my Light Box strategy guide again as there has been a rather interesting announcement today from Adobe. The Open Screen Project ( http://www.adobe.com/openscreenproject/ ) is the continuation of Adobe's open sourcing of Flash. The biggest part of the announcement, at least to me, is the removal of restrictions on the use of the SWF specification. SWF is the binary format that Flash and Flex compile into. The specifications for this format have been available for a long time (since Flash 3 if my memory serves me correctly) but the licensing agreement in order to use this specification did not allow the licensor to create their own player. This meant that an open source player, such as Gnash, were not able to use the official specifications but instead had to create their players using reverse engineering techniques making the work take significantly longer and reducing compatibility.

The reason that I am using flash for a good number of my games, and once the Ultimate Retro project is finished will probably develop all of my client side games in Flash/Flex, is because it is currently the best solution for rich internet applications. My biggest concern with Flash has always been the fact that it was controlled by a single company. Now that the specifications no longer have restrictions, this is no longer a fear. I know that some people will argue that Microsoft Silverlight is technically superior, I really do not trust Microsoft with a cross-platform standard as they tend to want to force people to use their Windows operating system. Sure they are supporting Macs right now and not threatening the Moonlight project, but that could change if Silverlight no longer had viable competition.

By having the open specification for SWF, I no longer have to worry about Adobe abandoning Flash/Flex (not that it was that likely at this point) so can develop my games without having to worry too much about them suddenly not working in the future. My only complaint at this time is the lack of proper 3D hardware support in Flash. While projects like Papervision 3D are quite impressive with what they can do using software 3D, support for an open 3D standard like OpenGL ES would greatly increase the power of Flash. That, of course, is a different rant which I have made before.

I should also probably point out that in addition to removing the restrictions from the SWF format, the FLV format was also released as was the Flash Cast protocol and the AMF protocol. Finally, Adobe is going to be removing licensing fees in the next major release of Flash Player and Adobe AIR for devices meaning that Flash should be appearing on a lot more mobile platforms. From a Flash/Flex game developer's perspective, this is indeed great news today.