Wednesday, December 31, 2008

Ending the year with a Walk-through

I said that I would have a walk-through of my classic and modern Adventure games (Ultimate Retro Project episodes 57 and 58) in December, and while I am pushing it a bit, here it is. I am going to go to try to provide hints before providing the solution so if you are stuck, just read as much as you need to to become unstuck.

Enter the house by going north. This places you in the entrance were there are four possible directions to head. Heading north again leads you to the main puzzle of this game. You see, there is a weapon locker that is locked to the west. You don't have a key to the weapon locker. There is a werewolf in the forest so you obviously need to find a key so that you can get a weapon to use against the beast.

Go south and then east. There is a key, but the parrot won't let you have the key. If only there was some way to get the parrot to drop the key. Perhaps feeding the parrot. This parrot likes worms, but how do you get a worm?

Go west, south, and then west to arrive at the orchard. There is only one apple left on the apple trees and the apple is a wormy apple. But how do you get a worm out of the apple? Go east, north, and then west to arrive in the kitchen. There is a knife here. Use the knife to cut the apple. With the worm in hand go east twice and feed the worm to the bird. With the key you can head west, then north to unlock the weapon locker. Inside the weapon locker is a pistol and a bullet. The bullet, however, is not a silver bullet. As everybody knows, you need a silver bullet to kill a werewolf.

Head east to the bedroom where there is a silver bracelet. After getting the bracelet, head west, south, south and then east to the front yard grabbing the butane torch as you pass by it. Grab the clay in the front yard. Make a silver bullet (the clay and bullet make the mold and the bracelet and blowtorch finish the job). As you are now going after the werewolf, make sure you load your gun as you won't have much time when you find it.

To get to the werewolf from the yard (where you got the clay) head south, east, south, west, south, south, west. Shoot the werewolf to win the game.

Friday, December 26, 2008

Linking to a New Day

I forgot to post the link to the sneak preview of Dozen Days of Words episode 1. I am going to be working on that over the weekend and plan on releasing the episode on January 2nd but the first half of the development is done (though I am not as far along as I should be) but for those who are interested, the link is here:

http://blazinggames.com/table/dozenDays/words/makingScrambled/

Thursday, December 25, 2008

Merry Christmas

Merry Christmas and have a Happy New Year! I am quickly writing this after quickly posting the final episode of One of those Weeks. I am doing this Christmas Morning due to the fact that I have plans this afternoon and evening. I suppose I could wait until tomorrow morning to post this game but figured it would be safer to get it posted early. Enjoy. If you enjoyed One of those Weeks and want to see me create another adventure game (or even a sequel to OotW) then be sure to email me and let me know.

Sunday, December 21, 2008

Words and a map

The first thing I should mention is that Dozen Days of Words episode 1 has been started. The first block of work was completed. During that time I greatly enhanced the read-me file so that it explains the Dozen Days Pentalogy and the rules I am going by for this second season. I am going to be breaking the game development into 4 3-6 hour sessions. Due to the fact that I want the game released on the first friday of January, the other three blocks will be completed soon. My plan is to do the second block on the 26th, the third on the 27th and the final block on the 28th though it is possible that those plans will change. A sneak preview post will be made when I update the site later this week.

I found and scanned in the map for Ultimate Retro Project's Modern Adventure game. A small version is below. I will post a better version on Blazing Games when I update it this week.

Thursday, December 18, 2008

Dix Mille posted

I am running late today. You see, the original development journal for Dix Mille was not backed up properly. While I had multiple copies of the source code backed up, I only had the one copy of the design journal on my development machine. Somehow, I had ended up deleting that file so I ended up really quickly writing a new version of the development journal. It is not as good as the original, but in the future I will make sure I backup my document files as wel as my source files. Had the journal been saved in the same directory as my work, there would have been multiple copies of it and I would have at the most only lost a tiny portion of it. Of course, all the early builds of the game are viewable in the journal so those who are interested can look at how the game actually developed, but the new version of the journal is about a quarter the size of the original and doesn't cover the snow issue, which was mentioned several times in the original.

Sunday, December 14, 2008

Dix Mille shovels of snow

Yesterday I finished the final installment of Dozen Days of Dice by creating a version of Dix Mille. At the same time I had over 30cm (a foot for my American readers) of snow falling, which is significantly more snow than we usually get. Today I was going to start on the first episode of Dozen Days of Words but I am just too exhausted today so am going to take it easy.

Thursday, December 11, 2008

Plans Released

My plans for 2009 have been posted to Blazing Games. I have misplaced my map for Modern Adventure, but will post that as soon as I find it and scan it in. Really short post this time.

Sunday, December 7, 2008

A Change in Plans

Yesterday I was going to work on episode 12 of Dozen Days of Dice but a broken water main put my plans on hold. Today I was going to put together Friday's game but found out that I had already done a Christmas version of Dungeon Romp last year when I was unable to finish my planned Christmas game. It is really sad when you can't even remember what you released a year ago, though in my case it is probably because I have far too many things on the go than age. For that reason I am forced to change my plans for Friday and instead of a game I am going to have my plans for 2009. I was originally going to have a 2009 plans game that I would release on January 3rd, but there simply is not enough time to finish a game by Friday, at least not with the other things that I have on my plate at this time. So instead of having a sneak preview of my 2009 plans here, they will be revealed on Friday.

Thursday, December 4, 2008

December Scheduled

Making of One of those Weeks chapter 28 has been released as has the open source version of One of those Weeks episode 28. In addition the schedule for the month has been posted. Lets quickly go over the schedule and on Sunday I will start taking a look at my 2009 plans.

Christmas Romp is not the Christmas game that I was planning last year and had to delay. I am going to have to delay that again as I just have too many other things on my plate. In it's place, and using scaled down versions of some of the artwork for that future game, is going to be Christmas Romp which is a new version of Dungeon Romp but with Christmas themed weapons and monsters.

The final Dozen Days of Dice game has not been created yet. I hope to do that this weekend but with other things still potentially stopping this, it may not be created until next weekend or even delayed and done live on the site. I do have a good idea of which dice game I want to do for this game, though may change my mind when I finally sit down to create this episode.

Finally, the month ends with the final episode of One of those Weeks. The game has been worked out but the game is not completely finished yet. In particular the ending sequence has not been finished. It is a bit more extensive than in other episodes so I do hope that I have the time to do it properly and not have to skimp on it. And yes, "The Carmachoc Secret" is the real title for the episode.

Thursday, November 27, 2008

Modern Adventure posted

The final episode (well, the final game in the series to be finished since technically speaking there are two episodes after this one but those were posted quite a while ago) has been posted. Next month I will be posting a map and then a walk-through of the game. I will also be giving you a sneak preview of my plans for 2009. This post a short one, but there is a lot happening that I hope to be telling you about next month! And for the Americans reading this, Happy Thanksgiving.

Sunday, November 23, 2008

Ultimate Retro Finished

I just posted the source code for Ultimate Retro Project episode 58: Modern Adventure to the repository. Those of you who want to play it early and who know how to download from a repository and compile the java source code can play it early now if you wish. Those who don't want to be bothered can just wait until it is posted on Friday (late Thursday evening in B.C.). While this is probably cutting it a bit close, the game was in a playable state last weekend so today's work was simply finishing touches, bug fixing, and fine tuning. That said, there was a lot more I would have loved to do with the game had I more time to work on it. I suppose the reality is that there will always be more that can be done so having hard release dates does make sense. The question is how often should those be. More hours per game with fewer releases? I'll be making that decision in a little over a week when I officially close the poll on the Blazing Games site.

I do want to release a hint guide for modern adventure on this blog even though I don't really think the game is that difficult. I don't think next week is the right time to do so, but do watch for that shortly after the game is released. I haven't decided if I will create a good map for the walkthrough or just scan in my hand-made map. Perhaps the hand made map would give some insight to the design process, but if not it would be much faster to just scan that in. Besides, that sounds like a good excuse.

Now all the games in the Ultimate Retro Project have been completed so technically the series is done. I do still plan on doing a 3D version of Dungeon Romp so look for that next year.

Thursday, November 20, 2008

Toronto?

With today's release of One of those Weeks episode 45, there is only one more episode left in the series. I am planning on finally finishing One of those Weeks next month, though it will be a while before all the episodes are released as open source and all the chapters from the making of book are released. As those of you who filled out the poll on BlazingGames.com already know, I am considering writing a proper novel based on the game. When you consider that the game is based on an outline I wrote for a novel that I was considering writing, this would be an appropriate end to the series. If I do decide to do this, I would probably not release anything until the novel was completely done and then release the novel under a creative commons license. The time spent on the novel would be separate from the hours I am allocating to the site so don't worry about it taking away from the site because it wont.

This episode is actually rather interesting as it is the texturing version of my ray caster ported to Flash. This could be thought of as a proof of concept that I could get Coffee Quest 5 working in Flash, but now that Flash 10 is out and has some built in 3D support this is probably a moot point as using the built in Flash 3D primitives will probably prove to be faster than doing the ray casting. When I have time this will be something that I will be looking into.

Thursday, November 13, 2008

Really late update

Sorry for being so late in posting Dozen Days of Dice Episode 11:Everest to Blazing Games. I ended up getting sidetracked with other things and almost forgot that it was Thursday and that I should probably post the site so it is ready for Friday. As it is 8AM Friday using GMT, I am later than usual. It is almost midnight my time as I write this so I am going to call it a night. Sorry for the short post. I guess that 13 may in fact be an unlucky number.

Sunday, November 9, 2008

November preview

I have a bit of a confession to make. Most of November's content, 3/4's of it to be precise, was not ready before November. Regular readers know that I finished Dozen Days of Dice on November 1st, but One of those Weeks episode 45 and Ultimate Retro Project episode 58 were still not done. This weekend went a long way towards rectifying this situation, but I am still not in the clear. Of course, the contents for this month are Chapter 27 of Making of One of those Weeks, Dozen Days of Dice episode 11: Everest, One of those Weeks episode 45:Toronto and Ultimate Retro Project episode 58: Modern Adventure.

Chapter 27 has already been released so there is not much need to talk about it here. Episode 45 of One of those Weeks, however, has not been released. The screen shot probably should give the players an idea of where they have ended up. Those of you who are familiar with Canada may notice that the skyline does resemble the city that the episode is named after. I do wonder if I am about to annoy eastern Canadians, but know that western Canadians will understand the humour of the episode. Of course, that assumes that people actually share my sense of humour which may just be wishful thinking on my part.

Dozen Days of Dice episode 11 has been mentioned before, but it is an interesting game. The goal is to flag all the locations on the mountain first. Flags are earned by combining dice meaning that both luck and strategy play a part in this game. I do wish now that I would have spent the three hours I had remaining fine tuning the game, but with everything that is going on at the moment with me I am finding that I am getting exhausted after only spending 12 hours on the challenge (only 10 of which was work). I really do hope that the majority of people who care about the Dozen Days series want me to spread the hours out as it will result in better games while still retaining most of the spirit of the series.

The bulk of the artwork for the final Ultimate Retro Project episode has been finished by Mary Caton so I just have to do the coding and by the end of the month I should have the series complete. The Modern Adventure episode is the same story as the classic episode but with a graphical user interface. I should point out that episodes 59 and 60 were released quite a while ago and were done out of sequence because that was the game I really wanted to develop. I do still plan on creating a 3D version of Dungeon Romp, but that will not be showing up until next year at the earliest. Also likely to be postponed until next year is the Christmas special that I had to postpone last year. I will not know for sure until the beginning of December, but the odds of me having the time to finish it before this Christmas is very low.

Last, but most important, there is a four question poll that is going to be available until the end of the month. This is to get feedback on the direction the site should take next year. While the final decision for what I am going to do in 2009 is mine alone, the results of the poll will certainly help me make my decisions so it is in your best interest to let me know what you think.

Thursday, November 6, 2008

November Scheduled

The Blazing Games release for this week, Making of One of those Weeks Chapter 27, has been released. Likewise, the open source version of One of those Weeks episode 27 has been posted. Finally, the important poll that will determine the direction I take Blazing Games in 2009 has been posted. As it is the first post of the month, the schedule for the month has been posted. I would go over the schedule in more details, but posting took longer than I anticipated and I still have a bunch of other stuff to do so I will save the explanation for another entry which I will make when I have more time.

Sunday, November 2, 2008

Dozen Day 11 finished

Yesterday I spent 12 hours (10 hours of coding, 2 hours of breaks) putting together episode 11 of Dozen Days of Dice. The game I chose to do was Everest. I am trying to decide if I will have an early release of the development journal for readers of this blog or not. Quite frankly, next Friday's post (which I do Thursday evenings PST) is already quite a huge post as I have the Month's schedule, Chapter 27 of Making One of those Weeks, the open source release of One of those Weeks 27, and a 4 question poll that concerns the future of Blazing Games to post. I suppose it will come down to how energetic I am feeling this Thursday.

Thursday, October 30, 2008

Halloween game posted

Regular readers of this blog already know that the Halloween game for this year is Ultimate Retro Project episode 57: Classic Text Adventure. I don't know why, but to me a text adventure with a horror theme seems perfect for this time of year. While the Modern version that will have graphics would probably be preferred by most readers, that requires a fair bit of artwork. Mary Caton has volunteered to do some of that artwork so I am hoping to have the modern version of this game finished by the end of the year. If this does happen, and I finish One of those Weeks as I plan to, then this would mark the end of two of my bigger projects.

Next month is going to have a very interesting poll, which I will run from November 7th to November 30th. It will have four questions that will be used to aid me in my decision of what to do with the site in 2009. Note that the purpose of the poll is to get feedback and even if the majority feel a certain way I will make the final decision. To be honest, if everybody voted that I should cancel Coffee Quest then despite my fondness for that series I would probably listen to the results. Yes, the future of Coffee Quest is in fact on of the questions.

Sunday, October 26, 2008

Classic Text Adventure Release Candidate in repository

Well, I managed to finish my horror themed text adventure today and have posted the files to the repository so those of you who can't wait five days and know how to compile java can download and play episode 57 of the Ultimate Retro Project early (in the unlikely event that any exist). The development of this game was quite quick due to the fact that the two main parts of the engine, the room management and the parser, had already been written (at least partially) for other games in the ultimate retro series. Still, when adventures are concerned, the parser is very important. I opted for a simple two word parser which was used by a lot of adventure games.

A two word parser is actually one of the easier things to implement. This is because the format is very straight forward. You have a verb followed by a noun. Both the verbs and the nouns can be grouped into a list and you can then simply look up the command on the list and turn the command into a number representing the action and a number representing the object that the action is being applied to. My parser is slightly more sophisticated then this.

At the heart of my parser is the command class which holds a number that represents the verb and a number that represents the noun. The word, however, is not a single word for each command but a list of words that represent that command. The list of words are stored in a Word class that also holds other info about the word that I do not take full advantage of. A sentence class, which consists of a word class for the verb and a list of words that can be used for the noun (after all, some commands may have different nouns that can be used such as in the case of the move command) forms the basis of the command architecture. Finally, the parser class consists of a list of sentences that the game can understand.

After the parser command has processed the input string, you are left with a command. The ID of the verb is used to determine what to do and the ID of the noun is used to additionally quantify the action being performed.

While I was hoping to have a generic adventure creation engine by the end of this episode, puzzles tend to require a lot of condition processing. I was not about to spend far too much time writing a simple scripting language that could handle the condition processing so the final code is a bit too integrated with the data files than I would like. I think the time for text adventures is over and I have far better projects to work on so a general purpose text adventure game engine will not be coming from me any time soon, though there are already a number of them that already exist.

Thursday, October 23, 2008

Episode 44 and the weekend.

Episode 44 of One of those Weeks has been posted on Blazing Games. This episode does require knowledge from episode 43 but should be easy enough to solve. If I get a bunch of emails asking me for the solution then I will know that the puzzle is harder than I think, but I really don't think anybody will have that much problems with it.

This weekend I am going to be attempting to finish my Halloween game so expect an update entry Sunday or Monday. I am hoping that I will be writing to say the release candidate has been posted to the repository, but could very well be admitting that I have to go with my backup plan.

Thursday, October 16, 2008

Modern hotdog stand released

Today the Modern version of Hotdog Stand was released. While I may have a strategy guide for the game in the future, today I am just going to talk about the underlying simulation. Granted, understanding how the simulation works will probably give you all the information that a proper strategy guide would so if you want to finish the game without looking at a strategy guide then you may also wish to stop reading the rest of this article until after you have completed the game.

The heart of the hotdog stand simulation is the customer. After all, it is customers who purchase the hotdogs that are being sold in the game. The number of customers generated depends on a number of factors. First, there is the location that the player has chosen. This determines how many people will be there. Of course, different numbers of people will be present based on the time of day so that is factored into the chance that a customer will appear. If there is advertising for that day, an additional percentage of customers will be added to this base amount. All of this is added together and forms the chance per six seconds that a customer will appear.

When a customer does appear, the customer takes a look at the store. Based on the sign that is being used, the customer makes a first impression decision as to if they wish to consider purchasing something from the stand. If they are going to buy something, the customer then randomly selects which food combo they wish and what their price range is. If the food combo is under the price range then they will attempt to buy the item. If there is enough ingredients to make the requested meal then a purchase is achieved. If not, then the customer will divide the impression of the hotdog stand in half and make another attempt at analyzing the stand. This keeps up until the customer is not interested in the stand, in which case the reason given for not buying something (costs too much or not available) will be the result.

Sunday, October 12, 2008

An annoying Flash issue

While I am doing a lot of Flex development, I plan on still using Flash for the creation of animations. More importantly, my One of those Weeks series is being developed in Flash. There are only a few episodes left so there really is no point in moving that series to Flex. Flash and Flex are very similar, which is not surprising as they both produce code that is run in the Flash Player. Flex, however, is entirely driven by text files. While FlexBuilder has a graphical editor that helps you layout stuff, all the GUI work ends up being turned into an MXML file which is a text file. Graphics and other assets are separate files and can come from any tool. Flash, on the other hand, uses a binary format which embeds all the graphics. ActionScript code can be separate text files, which is what I have been doing.

When I was finishing up One of those Weeks episode 44, I came across a rather interesting bug. This was not really a bug in my code, but more of a quirk in the way that Flash handles animation. I had come across this quirk before so it didn't take me long to figure out what was going on. You see, when the player has solved the episode, there is a brief animation sequence that starts by zooming in on the background. Unfortunately, the background in this episode is scrollable by the user so the position of the background movie clip is changed by code. Flash, for some reason, does not handle hard-coded animations with symbols if that symbols location has been changed by ActionScript. The results were rather interesting, but not the ending sequence that I wanted.

Sadly, the only solutions were to use a different symbol for the animation or to do the animated sequence using ActionScript. If I was using Flex, the later approach probably would have been my approach from the outset. In Flash, though, it is easier to just create another symbol of the background and use that for the animated sequence. Actually, if I was doing this in Flex, I would have probably created a Flash .swf file that held all the assets and the end animation sequence would have just happened to be one of the assets as while Flex is much nicer for coding, Flash is way better at animation.

Thursday, October 9, 2008

Thanksgiving

Chapter 26 of Making of One of those Weeks has been released. This chapter is a good example of how lack of time can change the direction of a game. This is also part of the reason why I am experimenting with other approaches to getting content for the site. My Game in a Day series (Dozen days of) seems to sort of work as one Saturday a month is not that huge of a sacrifice and the pressure of trying to get a fully functional game created in a single day is somewhat invigorating. I have yet to start on November's dice game and will not be able to do so as this weekend is a long weekend in Canada as it is our Thanksgiving weekend. This thanksgiving is more special than usual for reasons that I can't currently discuss. That being said, I am writing a rather lengthy article that does go over the events of the last couple of months. Hopefully I will get permission to post that article, but if not at least I will have it for my own reference.

The poll results were rather different from what I expected. My guess as to the results of the poll would have been Card being the winner followed by Tile, Board, and closing out with Word. I suppose that technically I got the middle two correct. The fact that there was an interest in the Dozen Days of Words series for next year was a surprise, but I will listen to my visitors and have that as the Dozen Days series for 2009!

For those of you who are wondering, I was personally hoping that Dozen Days of Tiles would be the winner. There are a lot of really interesting games that use tiles. I consider Dominoes to be a tile game and that alone gives me a large number of games. Still, that will have to hold out until 2010 or 2011 depending on the polls (if I have them) next year around this time.

Sunday, October 5, 2008

Details on October

Modern Hotdog Stand has been posted to the repository. While there are additional features I would love to add to the game, my current schedule does not realistically allow me to do so. If the game is popular enough, I could always revisit it and add the features I desire but I suspect that will not be the case. The next task in the Ultimate Retro Project is the text adventure game. This would actually be ideal for Halloween as it does have a horror theme to it. Still, I do not know for sure if I will be able to finish this on time, so have an alternative planned out in case I am unable to meet the end of month deadline.

Speaking of October's schedule, I should probably go over my plans. Of course, Dozen Days of Dice episode 10 has already been released. One of the Saturday's in October will probably be spent working on episode 11 so I have it ready for November. I am going to try to keep the Dozen Days series monthly from now on which is why I am having the poll this month. I want to know which series will be following the dice series in case I have a string of free Saturday's and can get ahead in series development. Yes, I know that pig's can't fly but stranger things have happened.

Making of One of those Weeks is an eBook that only a few people read. I assume that most the people who read this blog also read the eBook but really have no way of knowing for sure. Still, Chapter 26 is ready to be released so I don't have to worry too much about it. I think this chapter of the book clearly explains the decision making process that I go through when I don't have enough time to focus on games for the Blazing Games site.

Modern Hotdog Stand was actually not finished before the month started. It was actually finished today, which should be obvious from the first paragraph of this entry. People who know how to compile Java and want to play the game early can grab it from the repository. The best I have been able to do is to finish the game in 7 days. I will be writing an article on how my simulation works which I hope to release shortly after the modern version has been officially released.

One of those Weeks episode 44 is in a functional but not finished state so I am going to have to finish it up before it is released. The neat thing about this episode is that it is simply the application of information the player obtained by playing the previous episode. I am hoping that the clues are sufficient, but because I know the answers I can't properly judge the difficulty. This is a problem that all puzzle designers have to face with the only real way of knowing the true difficulty of a puzzle is to expose it to a large number of people.

The final game of the month has not yet been determined. I probably should have placed some type of placeholder message on the schedule, and will probably do so next time I update the site. As I said above, I am hoping to have time to finish the classic Text Adventure which does have a horror story. My alternative plan is to do alternative layouts for Monster Hunt.

Thursday, October 2, 2008

Hello October

It is the start of a new month so the new schedule (and Dozen Days of Dice episode 10:General) has been posted. At least most of the schedule. There are five Fridays in October and only four are listed. The Halloween release has not been determined yet, but there will almost certainly be something for Halloween. Normally I would cover my schedule in more detail in this first post of the month, but I am really tired today so will hold off on my discussion until this weekend. I will, however, remind readers that the poll on the site is only for the first week of the month.

Thursday, September 25, 2008

Inside the Secret lab

Well the day seemed to be a good one today which for me is a rare thing lately. I have just posted episode 43 of One of those Weeks on Blazing Games. Only three more episodes left in that series so things are getting quite exciting there. I should, unless something unforeseeable happens, be able to finish the series by the end of this year.

For those of you who enjoy the One of those Weeks series, today's episode is kind of different. The information in this episode will be used in episode 44 and while it is theoretically possible to finish episode 44 without playing episode 43, the odds are quite remote. I was originally going to combine the two episodes together, but I felt that the story worked much better if the events in episode 43 were separated from the events of episode 44.

As for why my day was good, the things I was hoping would happen actually did happen. Of course, these things are part of the family business I was asked not to blog about so I won't. I really do want to write down the things but my family is more important to me so I will honor their wishes.

Finally, for those of you who like having a say in what appears on the Blazing Games site, next week there is going to be a very interesting poll on the home page. You will be able to decide which dozen days of x series will be developed in 2009. Yes, 2009 is getting close. The first week of November and December will also have polls. The amount of responses that the next three polls get will determine if there are more polls in 2009.

Sunday, September 21, 2008

General ready for release

I spent Saturday putting together episode 10 of my Dozen Days of Dice series. This series, as regular readers already know, is a game in a day series where each episode is created in a single day (technically 24 hours, though I only use 16 of those hours, with only about 12 of those hours actually writing code). I do allow myself to use code/assets from earlier episodes which does make the task much more manageable. The episode will be released at the start of next month so I probably will not have any early releases. I will decide this for sure on Thursday. The game is the category based dice game known as General.

The development of this game is the closest that I have ever come to failing a challenge as I only managed to get the final build to compile at 23:30. While there were a few more fine-tuning touches that I would have loved to add to the game, I do not like failing challenges so figured that the game was good enough. Those of you who want sound when rolling dice can feel free to email me and complain about my decision if you wish.

This means that there are only two more dice games left in the series. As regular Blazing Games visitors already should know, I have five different series of 12 games planned. So I am going to have to decide which series will be coming after the dice series. I am thinking that I will put this to vote next month.

Thursday, September 18, 2008

Piglette

There are a lot of subjects I keep meaning to write about, but I just don't have the time. So I will simply say that Dozen Days of Dice episode 9: Pig is out. Yes, I know this is a really short entry, but hopefully I will have time to write proper entries soon.

Thursday, September 11, 2008

Making One of those Weeks Chapter 25 posted

The Blazing Games site has been updated and chapter 25 of Making One of those Weeks has been posted along with the open source version of Episode 25 of One of those Weeks. The family situation continues onward, my deadlines rapidly approach (though I am ahead of schedule so am not overly worried) and today has proven to be a surprisingly productive day.

As promised on Sunday, here is the first half of the Dozen Days of Dice episode 9 development journal. http://blazinggames.com/table/dozenDays/dice/makingPig/index.php enjoy!

Sunday, September 7, 2008

Yesterday was a Pig of a day

The ninth episode of Dozen Days of Dice was completed yesterday. While I had meant to post this news yesterday, it kind of slipped my mind. The game is Pig and is an interesting game as it tests a player's greed and often punishes players who are too greedy. I am going to put up the first half of the development journal next time I update the site and will provide the link to readers of this blog.

Thursday, September 4, 2008

September is here

While the family situation is still going on, I am back and have posted the schedule for September, a new poll, and the Billy Spelchan Senior word set for Circle Word. While I would love to be talking about what the family situation is, I have been asked not to and will respect my families wishes. That said, the month does not look too bad (at least as far as I am concerned) though I still haven't had a chance to create the game in a day game for September.

The poll on the site will run until the eleventh and I urge all my visitors to try out episode 42 of One of those Weeks and let me know if a more elaborate version of Solid Light is desired. In addition to the poll, three sets of words for Ultimate Retro Project's Modern Circle Word have been created. These word sets are dedicated to my Father and are themes based on his interests and life.

One of those Weeks has episode 43 as well as chapter 25 of Making of One of those Weeks coming next month. The rather interesting twist has it's foundations in this episode. The twist might be a bit too obvious after this episode is played, but the twist is actually the whole point I am trying to make with this story.

Finally, Dozen Days of Dice needs a ninth episode. I am hoping to do this episode on the 6th or the 13th but if I am unable to do so then I may do the episode live on the 20th. If that is not possible, then I may reluctantly release the bonus episode that I created but felt was not fun enough to be released.

Wednesday, August 27, 2008

An early update

I am releasing the final game for August a few days early due to the fact that a family situation is going to be taking my time for the next few days and I may not be able to update my site or even have time to check my email for a while. The final game this month is One of those Weeks episode 42: Solid Light. At one time I was going to do a more elaborate version of this game and next month will have a poll to see if there is any interest in me doing an extended version of this game.

Saturday, August 23, 2008

Spoofed Emails

On Monday the 18th I received an email accusing me of sending spam. Actually, the email was sent a few days earlier but due to the family situation which I am not talking about at this time I never got the email until Monday. I responded immediately explaining that I did not send the spam and that the reason a blazing games email address was on the reply to field was due to the fact that spammers also spoof that address. I then suggested that they check out Security Now episode 79 which clearly explains this. I never did hear back from this person but did receive a rather strange phone call on Friday. While these things were probably unrelated, I really am dealing with way too much other things at the moment so don't need this type of crap. After thinking about things for a while, I thought that I should properly prepare a reply in the off chance that I get such an accusation in the future and am posting it here so that anybody else can use it.

Spam or phishing emails are sent by people who do not follow the rules. These are fake emails often with the intent of getting the recipient to go to a fake page that looks like the real one in order to steal their account information or try to get them to download some type of software which is actually a Trojan horse The email standard, unfortunately, is not very secure and all the fields in an email can be set to whatever the spammer wishes. As a result all of the fields are set to fake addresses (based on real domains to prevent spam filters from easily detecting them) to prevent the email from being traced back to it's originator.

Many email programs will allow you to look at the header information used to send the email. It is within this information that you can look at the received from fields. Every mail server that the email passes through will add an entry to this list so it is theoretically possible to trace the email back to the sender's ISP. This, sadly, does not necessarily help as more often than not the spammer will be using bot networks to send the spam. What is a bot network? Remember the Trojan Horse I talked about earlier. People who are fooled by the spam and do install the Trojan Horse essentially are giving up their computer to the bot network without their knowledge. There are known bot networks that are made up of thousands of computers. These computers are the ones that are used for sending the spam.

So what can you do if you receive one of these phishing emails? About the only thing that can be done is to forward the email to the company that is being spoofed. This way they can attempt to look at the address that the email message is directing you to and get the fake site shut down.

I can not do anything about spoof emails. If you would like more information about such emails, I would recommend that you go to your favorite search engine, such as google, and do a search for Security Now. This is a podcast that covers all types of security issues. Episode 79 covered email spamming.

Thursday, August 21, 2008

Hotdogs and Knees

The classic version of Hotdog Stand has been posted on Blazing Games, I came close to having a breakdown, and my doctor told me something that I never expected to hear in my lifetime. While I do plan on writing a series of articles explaining how my hotdog stand simulation works, which would also act as a strategy guide for the game, I am really not in the right state of mind to do that at this time, but will eventually do so. The interesting thing about hotdog stand is that the classic version is almost as much fun as the modern version. I just wish it was as easy to earn money in the real world as it is in this game. Then again, I suppose that is part of the reason we play games.

The family situation is still going on and I am still not talking about it. It is quite stressful, and has really had a negative impact on how much coding I have been able to accomplish. When you take into account that in addition to next month's games, I have some third party projects that I am working on, coding slowdowns are not a good thing. One of these projects is actually something that I can talk about, but right now am not in the right state of mind to do so meaning that the announcement will be made next week if I remember.

My knee injury did swell up slightly and I had a disturbing incident with my knee giving out. I went to the doctor and she told me something that I never expected to hear from a doctor. "It is actually a common sports injury." While I am sure there are many programmers who are also athletic in nature, I am not one of them. Essentially I was right about the injury but in addition I bruised the menisci, and may have torn a ligament. I am suppose to let it heal for a couple of weeks and if I am still having problems may have to see a specialist. After a week, it is actually quite good. While my knee gets sore when I use it too much, I can walk just fine. Stairs, however, still bother me.

Thursday, August 14, 2008

Weeks like this inspired One of those Weeks

Not a good week for me. Though I have posted the open source release of episode 24 of One of those Weeks. I have also posted the Making of One of those Weeks chapter that covers the creation of this episode. As the title of todays post suggests, I have not been having a very good week. This streak of putrid awfulness started on Friday when something really bad happened that I was asked not to blog about happened. To be honest I really wanted to write a post about what was going on just to get it out of my system but it is not programming or game related so perhaps it is for the best.

Needless to say, Saturday was a perfect day to do a Game in a Day challenge, but due to what happened on Friday I knew I would not be able to concentrate enough to do the challenge. Perhaps this weekend, but I kind of doubt it.

Monday through Wednesday were not bad, other than continued worrying about Friday's event, and with all the phone calls and company and other tasks I was unable to get any work done on any site games. The rest of this month is pretty much ready to go, but next month might be lacking in content. I know some of you are saying, "You mean the other months weren't lacking in content!" I am trying to keep the content levels up but running a game site in your spare time when you are developing the content yourself isn't the easiest of challenges.

Today I somehow managed to post the content, and considering that I am still alive I should actually consider today to be an exceptionally good day. Step ladders can be very dangerous things. This is especially true when you have placed them in an unsafe position due to the fact that it happens to be the only position where you can reach the area you need to reach. After finishing what I was doing I went to climb down the ladder and somehow lost my balance and fell off the step ladder. Nearby were some cement stairs which I then proceeded to fall down a couple of steps of. I don't know how I managed to stop myself from falling down the rest of the steps and breaking my neck but I did. The pain I felt in my right leg made me immediate think that I may have just broken my leg. After sitting down for a few minutes the pain subsided. There is no swelling or bruising but it is still sore especially if I try to turn my leg. Walking on it doesn't seem to bother it at all, however. If it is still sore tomorrow I might see my doctor and have it checked out.

Thursday, August 7, 2008

Shut the Box is open for play

The final version of Shut the Box has been posted on Blazing Games. This posting includes the development diary that regular readers have had a sneak preview of. It also includes downloadable source code for anybody who wants to play around with the code. It was written in Flex so anybody who has a copy of the freely available Flex SDK can play around with my code.

There are still four games to go in the Dozen Days of Dice series and as with other games in this series, they will be completed in a day. That is to say that each game is finished in a single day, not that I will finish the last four games in a single day. I have no idea of when I will take a day to create episode 9 but it will probably be sometime this month. I will probably have early access to the design diary once I have written the game.

Saturday, August 2, 2008

August 2008 Blazing Games Schedule

Sorry for the delay of my monthly preview and notification of Ultimate Retro Hotdog Stand being posted on the repository. My ISP problems still sort of continue. The status page says I have a lot less bandwidth than I am suppose to have but I am being told not to be concerned that it is a web site issue and that the correct information is in the billing computers. Still, I am going to be very careful with the amount of bandwidth that I use until my bandwith limit numbers are correct and have the feeling that this is not the last technical support call that I will be making. It is sad that there are so few broadband choices here. Bandwidth caps suck but I don't have much choice so am stuck with them.

Of course, One of those Weeks episode 41 has already been posted. It is the start of a new day so it is a dream sequence. I think I did a good job on the penguin, but am sure most people will disagree with my self-assessment. As there are five fridays this month, episode 42 will be released at the end of the month. I am withholding the description and screenshot for a few weeks, partly because I want to have another pass at the artwork. The middle of the month will have chapter 24 of Making of One of those Weeks.

The Dozen Days of Dice episode has already been sneak-previewed to readers of this blog so I don't think I need to go into further details here.

Finally, the classic version of my ultimate retro project:hotdog stand simulation will be posted. For those of you who don't want to wait and know how to compile java classes, the source code has already been posted to the ultimate retro project's subversion repository. This was a fairly substantial update and probably should have been posted as a number of repository updates but I just kept forgetting so ended up with the complete game before I finally got around to posting it.

Thursday, July 31, 2008

One of those Internet (ISP) Problems

Another short post, though I will try to post again in a few days with a proper month summary. There are current internet issues that I am faced with which were supposed to be solved on the 30th but have not been yet. So to summarize, One of those Weeks episode 41 has been posted and for readers of this, page 5 of making of shut the box (see previous post for link) has been added.

Thursday, July 24, 2008

Finished posting hearts and starting to shut the box

I am running late today so sorry. The final pages, official game, and the open source release for Dozen Days of Dice episode 7:Hearts has been posted to Blazing Games. I have also posted the first few pages of the development diary for episode 8 of Dozen Days of Dice which as I said in an earlier post is Shut the Box. The link to this is not linked from any page on Blazing games so only readers of this should be able to get early access. The link is
http://www.blazinggames.com/table/dozenDays/dice/makingShutTheBox/index.php . Sorry for the short post.

Saturday, July 19, 2008

The Eighth Day

Just a quick note to let the few of you who read this know that I spent the day creating episode eight of Dozen Days of Dice. It is a game that even though I had the rules for I have never actually played. After writing the game and playing it on the computer I actually found that it was quite a fun game. The game is called Shut the Box and as with the last Dozen Days game, there will be early releases of the Making of article. The article has early builds of the game so you will get a bit of a sneak preview before the final version of the game is released next month.

Thursday, July 17, 2008

Making a Dream Fall

I was actually about to post the rest of Dozen Days of Dice episode 7 today but thankfully looked at my release schedule and realized that I was actually suppose to release chapter 23 of the Making of One of those Weeks eBook. This chapter covers the solution to the two part puzzle that makes up episode 23. Of course, for those following from a couple weeks ago, another page of DDD episode 7 was posted, so you can play the beta version of that game if you aren't interested in OotW.

E3 is this week and there has been a lot of coverage of it. I think that the Penny Arcade comic of the E3 2008 keynotes covers it pretty well. Final Fantasy XIII coming to XBox 360 is a major blow to Sony and certainly makes the 360 the superior HD system gamewise now that the biggest PS3 exclusive is no longer exclusive. Still, the PS3 is the best Blu-ray player on the market, too bad BD disks cost twice as much as DVDs and upconverting DVD players do a really good job. I am quite happy with my Wii. For those who are wondering, I am still using Wii Fit, though have not lost as much weight as I would have liked.

The game that I am looking forward to the most is Animal Crossing for the Wii. The non-Wii game that has gotten my attention and may make me either get a new gaming system or upgrade my PC is Fallout 3. The game that I am sill wondering about is Halo Wars, as it will be interesting to see if someone can actually pull off a successful RTS on a console. And of course, Duke Nukem Trillogy must be mentioned, though I have no idea what to say about it.

Thursday, July 10, 2008

Modern Monsters

Modern Monster Hunt has been posted on the site. Likewise, the alpha version of hearts (page 4 of the making of Hearts article) has also been posted. If you don't know what I am talking about then see last week's post. A power outage (five hours long) has altered my plans so I am keeping todays entry short.

Thursday, July 3, 2008

Putting Day 6 to Sleep

I have posted tomorrow's game and the schedule for July on Blazing Games. The final episode for One of those Weeks Day 6 is the game that we are starting the month with. In addition, I also released a special bonus to readers of the development blog, which you will find the link near the end of this post. The game concludes with your trial. Win the trial and you get a chance to earn your Medusian citizenship. Lose the trial and you will be considered a large pet. Large pets are not allowed on the space station so if you are deemed a pet, you will be put to sleep.

The month of July is actually quite a nice month for releases. What is strange is that the first two weeks contain medusas in them. This was not intentional, and I only placed Modern Monster Hunter -- which was released on the ultimateretroproject.dev.java.net repostitory on Canada Day -- in that particular slot because I wanted it released as close to the classic game as possible. I could have had it released this week, but want One of those Weeks releases every other week and next month has five fridays in it so the release days for One of those weeks were kind of locked in.

Dozen Days of Dice episode 7 was completed on June 28th. This was my first Flex based game that I completed in a single day and only one of a few projects that I have developed in Flex. As such I did run into a problem that happened to strike right in the beginning of development. It is explained in the making of Hearts development journal, which I have decided I will give readers of this blog early access to. You can read the planning section and pre-alpha sections of the making of Hearts right now and additional sections will be released in the upcoming weeks.

Thursday, June 26, 2008

Canada Day Long Weekend

Just in time for the Canada Day long weekend (July 1st is Canada Day) I am posting Classic Monster Hunt. This is an interesting game as the games that it was based on predate the text adventure and computer role-playing games yet this game has elements of both types of games. The map for this game is very simple, though I am considering creating additional maps for the modern version. In fact, depending on the weather this weekend I am hoping to finish the modern version of monster hunt so that it can be released early next month.

If the weather follows normal long weekend rules and is miserable, then I am going to attempt at least one game in a day challenge for my Dozen Days of Dice series. This will be a very interesting day as I will be developing the game in Flex so that it will be compilable with the freely available Flex3SDK. On the other hand, if the weather is actually as nice as it has been the rest of this week then I will be lucky to finish off the modern version of Monster Hunt.

In other news, I have had Wii Fit for about a week. For someone out of shape like me, I think the product makes doing daily exercise more tolerable. So far I have kept up with the exercises and to my surprise have found the Yoga stuff to be much better than I expected and think that I enjoy those exercises the most. I don't know if there will be that much more software that supports the balance board, but if Wii Fit helps me stick with an exercise program then it will be worth the price.

Thursday, June 19, 2008

Snakes and Lawyers released

I was actually hoping to have time to do another pass on the game that was posted today but never had a chance. Still, this is more of a story based episode with it being very easy to get through the episode but can take much longer if you are the type of player who wants more details rather than simply reaching the end of the episode. Of course, I am talking about One of those Weeks episode 39:Snakes and Lawyers.

Right now I am rather exhausted even though I never accomplished much today so I am going to keep this post short. I am sure some players are going to be complaining about my Medusian race. My theme behind this was that this race had previously visited Earth where they tried to impress the barbaric humans by creating status of them. These superstitious people mistook this peaceful gesture and assumed that the Medusa was some type of evil monster that turned people into stone. Making matters worse, the thick snake-like tentacles that make up their hair really gave the humans the impression of a monster. A warrior named Perseus killed this peacful ambassador and the legends of the Medusa then came to be. This is fiction, but I think it is a really interesting idea which is why I had it in the game.

Thursday, June 12, 2008

Thirteen Spikes and the Flex decision

One of the nice things about this year's site format is the simple fact that most of the posting work for the weekly update is done on the first post of each month. This means that posting Thirteen Spikes Unlimited, which has just been posted, doesn't take too long. This is a good thing as this is one of the rare occasions when I was taken out for supper so I was late posting the site today. Because everything was ready to go, however, it only took minutes when I got home to post the update for this week.

While I know that you should never drink and blog, I am going to make an exception today as I do want to explain my Flex decision and think that since Thirteen Spikes Unlimited was created using only the freely available Flex3SDK and jEdit for editing. While the remainder of One of those Weeks will be created in Flash CS3 and the remainder of the Ultimate Retro Project will be finished using Java, future projects will be created using Flex. Flash will be used for asset creation but the projects themselves will be compilable using the freely available Flex3SDK. In a couple of years I will take another look at the browser landscape and possibly change my development direction, but right now I am going to be focusing on Flex development.

I have been playing around with a number of different languages and quite frankly am sick of having to shift my gears when switching between projects that are in different languages. Having all my work done in a single language makes my work easier. If a paying client wanted me to do some C++ or Java work for them then I would certainly do so but for Blazing Games and other programming I am doing in my spare time then the work will be done in Flex unless there is a very compelling reason to use a different language.

I really do not trust Microsoft, so even though Silverlight 2 has some really nice aspects to it unless I am being paid to use their platform I am not going to do so. Java still has a place in my heart but I feel that Sun just dropped the applet ball and FX is too little too late. Still, this is one case where I would like to be proven wrong. HTML 5 is no where near being a finalized standard so I might as well focus on Flex while I wait for it. Other browser based game development plug-ins simply do not have the installed base.

I have already pointed out numerous times that Flash CS3 is expensive, while Flex has a freely available SDK. Flex produces Flash output and I can still use Flash for the creation of assets and animation.

Thursday, June 5, 2008

June starts out with a dozen days of dice

The Blazing Games site has been updated and the schedule for the month has now officially been posted. The first game to be posted this month is actually two. Episodes 5 and 6 of the Dozen Days of Dice are being released as open source. More importantly, all future episodes, which will return to a monthly release schedule, will be open source from the outset. The games will be shifting from being developed in Flash CS3 to being developed in Flex and being compilable with the freely available Flex3SDK. The reason for this shift is the simple reasons that a free tool (that is also open source) is available to everyone who wants to use it while Flash CS3+ is an expensive package that not everyone can afford. In addition, Flex is entirely text based which is much nicer to work with for open source projects.

The second week of the month is the release of Thirteen Spikes Unlimited. This game is also going to be released as open source from the onset. It is also going to be developed over more than one release. In fact, the version being released is the 0.2.0 release, and simply consists of the playable unlimited mode of the game. Future releases will add skinable graphics, campaigns, and a construction set. In case you didn't guess, all the future releases have a Friday the 13th release date.

The third game for June is episode 39 of One of those Weeks. It is my last Flash CS3 project, with all my future projects being developed in Flex using Flash for asset and animation.

The final game for June is the classic version of Monster Hunt. It is part of my Ultimate Retro project which is my last Java project. That being said, JavaFX is suppose to be released this fall so it is always possible that I will choose Java for some future projects. CQ Fans should note that CQ5, as it currently stands, is being developed in Flex but that is all I will say about it until this fall.

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.

Sunday, April 27, 2008

Monster Hunter secret origins

The monster hunter game was a game that had to be included in my Ultimate Retro Project and was originally going to be placed into the first volume as it had a lot in common with the early style of seeking games that were common in the early seventies. While I never played these text games until the mid eighties and did so by typing in the BASIC game from a listing and running the game where finding all the inevitable bugs really helped me learn to program. Besides, I couldn't afford to buy that many games so typing in games from library books or magazines helped keep me entertained as a kid. I decided to place it into the adventure game collection when I realized that it essentially had a lot of the early elements that later text adventures would utilize and beating up monsters definitely has the ring of role-playing to me.

The Monster Hunter game was derived from a number of monster hunting games, though the biggest influence on this game was the classic game by Gregory Yob known as “Hunt the Wumpus.” This game was kind of unique as it's map was a squashed dodecahedron instead of a regular grid like most other monster hunting games of it's time. Considering that computers were quite limited in 1972, the year that the game came out, it was quite an impressive game for it's time not to mention the game that finally taught me how to take advantage of arrays and data structures.

My monster hunter game uses a flexible map file that allows for the creation of any type of map, though the initial map is a dreaded grid. Perhaps if there is interest in this game I will create a squashed dodecahedron map and a few other alternative maps. I, however, suspect that this game is going to be more of a curiosity than anything. The number of traps in the game is controlled by the map file, as is the number of arrows within the map. My game will start the player off without any arrows, though there will be a number of arrows (determined by the map configuration) that will be hidden through the map. All the monsters, traps, arrows, and the players starting position will be determined randomly.

What is really interesting about the code I am writing for this game is that a lot of the code that goes into this game is shared with the later adventure game that will be developed. The adventure game is obviously inspired by Colossal Caves, but that is a different story.

Thursday, April 24, 2008

Ubuntu 8.04 released.

Modern Light Box was just posted on Blazing Games. I was originally going to post a strategy guide for Light Box today but then I found out that Ubuntu 8.04 LTS was officially released today so I decided to change the topic for today. Actually, when I think about it, perhaps giving readers a chance to play the game and figure out their own strategies before giving them mine might be the best way of doing things anyway. I will probably post the strategy guide next week. Today I am going to talk about Ubuntu.

Ubuntu is a distribution of the Linux operating system. Linux is a free open source operating system that has become a major contender in the operating system space. Like OSX, Linux is a version of the Unix operating system but unlike OSX you can run the operating system on any computer you like. One arguable downside to Linux, however, is the fact that there are a number of different distributions, each with it's own advantages and disadvantages. Ubuntu is a distribution that is focused on making Linux usable by everyday people in addition to all the geeks that gravitate towards Linux. It has grown quite a bit in popularity which is good. Not only can you download the distribution for free, the disks can also be ordered and they even have a program where you can obtain the disks for free.

This is the part where I describe the latest version, except I can't. While I have tried a couple of times to upgrade from 7.10 to 8.04, the demand for the upgrade is so high that just like the Nine Inch Nails Ghost download (they have just released a new single that is freely downloadable from the nin.com website), I can't get it. I am sure that in a day or two all the situation will have calmed down and I will be able to upgrade my Linux machine. If you are interested, you can go to http://www.ubuntu.com/ to get your copy. It would probably be best to wait a few days before doing so.

Sunday, April 20, 2008

The Lorenz Attractor

As Professor Edward Lorenz died of Cancer on Wednesday, I thought it would only be fitting that today's article be about the Lorenz Attractor which is one of the earliest (if not the first) example of chaos theory. Chaotic systems are those in which a very small change can have a drastic impact on the outcome of the system over time. The butterfly effect is probably the best known example of this. Essentially, a butterfly flapping it's wings can as a result alter the weather weeks in the future. This happens because the extremely small change in the weather pattern can slowly be amplified over time. This is also the reason why we are so poor at predicting the weather.

Professor Lorenz discovered this fact in the early sixties when he was trying to develop a computer model of the weather. Back then computers were not that powerful so the professor simplified the model so that it consisted of three differential equations:

  • dx/dt = 10(y - x)
  • dy/dt = xz + 28x - y
  • dz/dt = xy - (8/3)z

When running these equations, Professor Lorenz found that if he tried to pick up the equations from where he left them in an earlier run that the outputs were not the same. After verifying that the computer was in fact working properly and that there were not any bugs in his program, he isolated the problem down to the precision in which he was entering the information. He was only entering the data to 3 decimal places where as the computer was keeping the data up to 6 decimal places. Did I mention that this was the sixties and that the computer was primitive?

The result of this is the discovery of Strange Attractors. Other forms of chaos, such as fractals and the Mandelbrot set, have since been discovered and have been used in the generation of some of the most incredible graphics and animations. There are a number of open source programs that can plot these equations for you and there are certainly many books on the subject. I personally feel that it is more fun to write your own generator, but then I like programming and find the programming aspects as much fun (if not more fun) as looking at the results.

Friday, April 18, 2008

Some early May planning

It is kind of appropriate that this week's game on Blazing Games is an episode of One of those Weeks because this has been a pretty bad week. I had meant to write an article for the middle of the week but simply didn't have the energy. While I could go into details about why my week was bad, I doubt anybody cares so will instead keep this post relatively short and provide a few details about what I am thinking about doing for next month's releases.

Next month has five Friday's so there will be an extra week that I need content for. I am pretty sure that modern minefield will be finished this weekend. The open source release has already been planned for the next couple of months. That leaves two weeks and I did want to double up on One of those Weeks releases so I think that is what I will be doing. This leads to a bit of a problem. I don't want to give away any details of what is going to happen to the story. Having a short description and screen shot for episode 38 would kind of give away a bit too much as people would not have played episode 37 yet. My thoughts at the moment would be to just have the name and episode number and leave the description and screen shot blank until the game is released.

Sunday, April 13, 2008

Recursion

Classic minefield is now finished, and I should have the modern version finished next Sunday. Part of the minefield core game revolves around the use of recursion so today I am going to explain the concept behind recursion while using minefield as an example.

In mathematics, a function that calls itself is said to be a recursive function. This technique can also be useful for all sorts of programming problems as long as the function is properly written. The problem with recursion is that a poorly written recursive function can be dangerous. Lets take a look at recursion and how it was used in the Ultimate Retro Projects' minefield games.

In the minefield game, the player has to uncover hexagons which reveal how many nearby hexagons have mines in them. In some cases, there will be hexagons that have no mines near them. In these cases, the player would automatically uncover all the surrounding hexagons, which is a pain. To make the game flow faster, this is automated for the player so that clicking on a hexagon with no mines will automatically uncover the surrounding hexagons. This uncovering of tiles is done in the uncover function by calling the uncover function for each of the surrounding hexagons.

The reason that the uncover function is called instead of just automatically marking the hexagons as uncovered is due to the obvious fact that it is possible that one of the uncovered hexagons may also not have any mines nearby. However, this leads to a potential problems that can cause an infinite recursion to occur. Technically speaking, infinite recursions don't happen in Java because making function calls uses stack memory so the recursion will eventually run out of stack memory causing an exception to occur. The net result is still the program crashing so obviously infinite recursions are something you want to avoid.

The potential problem is that if uncover detects that the hexagon is not near mines, then the surrounding hexagons are uncovered. If one of the uncovered tiles also has no mines, it is going to try and uncover the hexagon that is responsible for uncovering it. This continues back and fourth until the call stack is filled. The solution to this problem is fairly obvious. You simply need to check to see if the tile that is about to be uncovered has already been uncovered If so, immediately return from the function with the uncovered value.

The above example points out the key thing that has to be kept in mind when you are creating a recursive function. You must always make sure that the recursion has a stopping point and that the end of the recursion will always reach this stopping point in a reasonable amount of time. In fact, some people place recursive functions in the same category as self-modifing code and the goto statement and consider it bad. It is always possible to avoid recursion but often recursion is the fastest and easiest way to implement something.

Thursday, April 10, 2008

Dozen Day Plans

Before I get to the bulk of this post, I'll just let you know that Classic Light Box has been posted on Blazing Games. I don't know if I would consider this entry as an article, more like an update on the plans for Blazing Games. In particular, I am going to give some heads up details on what I am planning on doing with my Dozen Days series.

At the start of 2008 I was going to use the dozen days project as a monthly game release that would be developed live on the site. Two episodes were developed live on the site, but there seemed to be very little interest in the live aspects of the release. When you add the fact that developing the game live adds addition stress to an already stressful development the lack of interest makes doing the episodes live not worth the effort. More to the point, when I did the second live game, I did so when I was sick and had a really hard time doing it with the easy game taking twice as long to write as it should have. Had there not been a live aspect to the development, I could have simply put off the development by a week or two and done the proper thing by taking the day off.

As regular visitors already know, I am currently spending Sunday afternoon working on Ultimate Retro Project and at the moment development on those episodes are on fire! This means that I am filling up all of my Friday release slots at a rapid rate so don't really need to have any Dozen Days episodes. I have also decided that keeping the source code closed for a game in a day project does not make that much sense and all future releases of Dozen Days episodes will have the source code as part of the release. That being said, for the next three months I am going to be releasing the source code and diaries for the first 6 episodes!

The first six episodes were developed using Flash CS3, which is not the most open source format to use due to the fact that Flash CS3 is an expensive tool. That is why I am going to be making a transition from Flash over to writing pure ActionScript 3 games that can be compiled using the freely available Flex 3 SDK. Vector graphics and animations will probably still be created in Flash CS3 but because those assets are strictly artwork resources it would be easy for somebody to replace them without needing an expensive tool.

Before I make the switch for Dozen Days work (which will happen with the development of the official seventh episode even though technically it is the eighth episode created for Dozen Days of Dice) I am going to first create a different game using the Flex 3 SDK for compiling the game. This game is going to be an updated version of Thirteen Spikes. Obviously, I have great hope that this game will be finished before June 13 for reasons obvious to anybody who owns a calendar.

After June I am hoping to release new episodes of Dozen Days every month or so and will probably have sneak previews of those games available for readers of this blog.

Tuesday, April 8, 2008

Google App Engine

On April 7, 2008 Google announced the release of their Google App Engine. It is a SDK and hosting service for the creation of web applications. Sadly I never heard about it until this morning so when I went there and tried to register an account, I found out that all 10,000 accounts that were made available for testers have been taken, though the SDK can still be downloaded if you are interested. This is kind of disappointing because I think that the Google App Engine would be a perfect platform for experimenting with my development of multi-player games. This is largely because the platform hosting is free for small projects and you only have to pay for the service once your service has reached a high enough threshold. That threshold is roughly the equivalent bandwidth or processing power equivalent to five million page views per month.

One of the features that the Google App Engine offers is the ability to use the Google user accounts for tracking users of the service you create. This would essentially mean that the work that would be required to create a secure registration system for users is already done so all the overhead for doing that (not to mention the additional costs of getting a SSL certificate) is gone making it much easier to set up a multi-player game service.

Of course, I would not just be creating a multi-player game but would want to also create tools that would allow the players to create their own content for the game. The game would likely be a strategy game that would be using hex maps. I have the game in my head so once the Ultimate Retro Project has been finished I will start playing around with the SDK and once I can get a proper account then I will post early builds of the game for those of you who are interested.

One criticism that I keep hearing about the SDK is the fact that the language used to program the applications is Python. When you consider the fact that there are a lot of Python programmers at Google, this decision does make a lot of sense. More importantly, Python is a very simple language to learn and is very scalable. To be perfectly blunt, if you can program in one language, switching to another language is relatively easy as most of the core concepts are the same. I don't think that the language is an issue, and Google has stated that other languages will eventually be supported.

Sunday, April 6, 2008

Ultimate Retro Minefield Hex Maps

Classic Minefield playable version has been posted to the ultimate retro project repository. It still need to put in proper level selection but the game is fully functional and the instructions have been written. I hope to have the release candidate ready next week. Now, the article about hex maps that I promised.

Hex Maps

The Minefield game I am developing for the Ultimate Retro Project uses a hex grid instead of your typical square grid. The reason for this decision was twofold. First, I wanted my minefield game to be different from other ones that I have seen and having a different type of grid certainly accomplishes that goal. The second reason was future planning. I knew that in the future I wanted to create some strategy games and a lot of the pen and paper strategy games use hex maps. The thought here is that by using hex maps in my Minefield game I would be able to build some of the basic technology that would be used by future games. Those strategy games are still in the back of my mind so perhaps someday this will actually happen but I have other projects that need to be finished before I even think of developing these future strategy games.



The key question is why do so many pen and paper strategy games use hex maps? The answer to that is that you gain more flexibility in movement. A square only has four directions that you can move in while a hex map gives you 6 directions. If you count diagonal directions then the case for hex maps grows even stronger. With a square grid, you would have 8 directions, with the cardinal directions having an distance of 1 unit while the diagonal directions having a distance of 1.4142 so moving diagonally gives a player extra movement which in strategy games may not be desirable. More to the point, if you do allow for diagonal movement, then the hex map gives you 12 directions and the error for moving diagonally is slightly smaller so diagonal movement on a hex map gives a player less of an advantage.

Implementing a hex map

When I got around to working on hex minefield, the first problem I encountered was the big one of how to actually deal with the hex map. Grids are very simple to deal with, but the hex map looks much more complex. Thankfully, this was one of those cases where looks are deceiving. When originally working out the code I looked at a sheet of hex paper while scratching my head. I then looked up at my ceiling which happens to have an offset grid pattern on it. Looking back at the hex paper, the obvious solution immediately clicked in. A hex map is essentially a grid but with ever other row offset by half a square. That may not be technically correct, but from a data management point of view it works perfectly. What this means is that map information can simply be stored as if it was a grid making it incredibly easy to manipulate.

Movement through the map is a bit trickier. How the hexes are laid out can alter this, but if the point of the hex is facing North then movement through the grid is as follows:

  • North East = X + 1 if on odd row otherwise X unchanged, Y - 1
  • East = X + 1, Y unchanged
  • South East = X + 1 if on odd row otherwise X unchanged, Y + 1
  • South West = X – 1 if on even row otherwise X unchanged, Y + 1
  • West = X – 1, Y unchanged
  • North West = X – 1 if on even row otherwise X unchanged, Y – 1

Determining if the row is even or not can be done using a very simple boolean operation. if ((row & 1) == 1) then the row is odd.

Wednesday, April 2, 2008

A slight change in direction

I have decided to take the direction of this blog in a slightly new direction. As I look over my posts, I am thinking that instead of breaking a topic into multiple short posts, I would be better off reducing the frequency that I post and instead focus on writing longer posts that better cover the topic I am going to write about. Of course, the articles will follow the basic topic of game development, though I want to focus more on the theory behind the code rather than doing step by step code dumps. The first article that I am planning on writing will likely appear Sunday and will be about hex maps. There will still be posts whenever something important happens. Likewise if there is a particularly compelling news event, this blog will be used as my way of expressing my opinion.

Monday, March 31, 2008

April Fools

Obviously I have nothing against April Fools Day as that was the day that I started Blazing Games. I thought that starting a game website right after the dot com bubble burst was a foolish thing to do so what better day to do it. The site has been running fine ever since, at least as long as I don't pay myself. Legal, Accounting, Hosting and a few other fees are covered by the advertising. But while I enjoy making games and running the site, the anniversary holds a deep darkness. You see, April also happens to be the day when the internet stops working for around 48 hours. Technically this annual internet flaw starts March 31st in North America, but the root cause of the glitch is the changing of the date in countries a day ahead of North America to April 1st. Even in North America, some computer systems use the GMT time for their date. This glitch which I am talking about is all the fake "news" articles and posts and gags that start to appear which means that most of my news feeds are not reliable for the next couple of days. This would be tolerable if the article writers made it clear somewhere in the article that it was an April Fools joke, after all the point of April Fools is to let the person know they have been fooled. Why is this a big deal? Largely because most people don't remove their April Fools content after the day is over, which means I may stumble upon it months later when doing research or worse yet have to explain to somebody else that the article was a joke. Of course, going into a 48 hour news withdrawal is also an annoyance.

Sunday, March 30, 2008

Modern Light Box release candidate

The Modern Light Box release candidate has been posted to ultimateretroproject.dev.java.net and the game will be posted to the Blazing Games site next month. I really do find this game enjoyable and hope that a lot of other people will enjoy this game. The next game in the Ultimate Retro Project is of course my hex version of minefield. I am going to be starting work on that this afternoon though will probably not be posting any code to the repository until next week. That being said, I will probably devote a couple of entries this week towards explaining how the game core of minefield works. I've already reviewed the code for this and it is actually quite functional though I suspect that I will need to add a few additional information gathering functions to it.

Thursday, March 27, 2008

Day 6 starts today

Assuming that I haven't pissed off all the One of those Weeks fans with the twist that day 5 took, today I posted the first episode of Day 6. This is a dream sequence, as is always the case with the first episode of each day. This is actually a very interesting day as from a technical standpoint the day will actually take longer than a day even though to the player's character, less than a day will have passed. What I am thinking of doing, just so that the series ends this year, is to have at least a couple of months where I release two episodes. Hopefully there are still people who play through this game (I haven't received hate mail so it is possible that nobody is upset with the game's twist or the twist was more obvious than I thought) but even if there aren't I am finishing it.

Tuesday, March 25, 2008

John Carmack and the Future of Graphics

I stumbled upon an interesting article/podcast located at http://www.pcper.com/article.php?aid=411#carmack in which John Carmack talks about the future of game graphics. For those who don't know who John Carmack is (shame on you) he is the person who wrote the Wolfenstein 3D, Doom, and Quake game engines. A quick summary is that John thinks that the future of graphics are going to be voxel based using a compressed data structure he is calling a sparse voxel octree. Voxels are essentially 3D pixels with the word being derrived from volume pixel. Voxels are used in many scientific and medical applications but tend to be slow and very memory hungry.

Monday, March 24, 2008

Light Box: Tracing Lasers

The heart of Light Box is the following of light through the light box. This really can be considered to be a variation of ray tracing which I have discussed before, but due to the way the puzzle is built the light is limited to traveling in only the 4 compass directions. The twist is that special care has to be taken with traveling through the prisms, and prisms have the ability to split a beam into two separate beams which requires that both the beams need to be handled. Prisms are handled using recursion so to prevent the possibility of an infinite loop the light has an intensity factor that is reduced every time it travels through a prism. When the light intensity drops below a certain threshold, the beam is considered dead.

As everything in the game is placed on a tile map, traversing the map is very simple since the beams always travel horizontally or vertically. The beam is adjusted after every move with the beam segment being considered finished when it hits an exit or a prism. When a beam hits a prism, one or two new beam segments are created by calling the map traversal function again. The path(s) of the beam(s) are not calculated mathematically, though this certainly would be a way of doing this. Instead, I just use nested case statements as that was much faster to code and probably not that much less efficient than doing it mathematically.