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.

Saturday, March 22, 2008

Classic Light Box posted to repository

The classic light box release candidate has been posted to the repository. The game core, of course, has had some minor changes made to it as a result. In particular, to allow for the beams to be seen in the modern version of the game, there is a new function that returns all the beam segments from a beam being launched. The other function that has been added to the core is a test function. This is a batch testing function which launches a beam through every slot in both the original box and the player's box and compares the outputs returning a list of slots that do not match. While this functionality didn't necessarily have to be part of the game core, it is something that both the classic and modern versions of the game need to do so putting it into the core made sense. This game will be posted on Blazing Games in April. Work on the modern version will continue, but probably not until next weekend.

Thursday, March 20, 2008

The First Snow of Spring

Today is the first day of spring so you can imagine how I felt when I woke up and looked out the window only to see snow falling from the sky. The weird thing was that the temperature outside was above 0C so the snow was melting as it hit the ground. My lawn is still starting to green up so I suspect that I will have to be cutting the lawn in a week or two.

Of course, today I posted the open source version of my Evil Eggs Easter game, as it is Easter this weekend. I know that only a handful of people bother to download my open source offerings but I still feel that Open Source is important and plan on eventually releasing most of my games as open source. Still, I come from a background of treating code as royal jewels so I do like to hold onto the source of any new games for a while. The exception to this, of course, is my Ultimate Retro Project, in which I have been releasing the source code before I have even officially posted the games. I am thinking that with Dozen Days I might start releasing the source code the same day I release the game.

Tuesday, March 18, 2008

Arthur C. Clarke and Bruce Perens

First, some sad news. Arthur C. Clarke has died in Sri Lanka at the age of 90. He wrote such classic books as "Rendezvous with Rama" and the space elevator inspiring "Fountains of Paradise". The article about him is located here .

In other news, Bruce Perens from the Technocrat site, has asked his readers to sign a petition so that he can become a member of the OSI board. I think he would be a great board member as he has already done lots for Open Source. For that reason, I am posting his request below and urge anybody reading this to go to http://techp.org/p/7 and sign. My name is already on the list if anybody want to search for it.

"The Open Source Initiative, the organization that certifies Open Source software licenses, is holding an executive board election soon. I am standing for election. The board is self-electing, and I'm told I don't have a chance unless I can show community support for my candidacy. Please visit http://techp.org/p/7, read the message, and sign. Also, please publicize that link where you can. Thanks!" - Bruce Perens

Monday, March 17, 2008

Light Box Light Beam Segments

The LightBeamSegments class (lets call it the beam class for short) was created because when I was reviewing the light box code last weekend I realized that if I wanted to visually show the path that the light takes in the modern version of the game I would need to essentially duplicate a lot of code from the core game classes. I prefer not to do that so though of how I could change the shared game classes in such a way that I wouldn't need to duplicate that much code. That is when I realized that I could add a very simple structure class that held light information and actually keep a list of beam segments. The modern version would then be able to grab this list and simply loop through the list and draw all the beams to show the path of the beams. The beam class is a glorified structure in that it just stores information. An exception to this are the getDirection and exitSlot functions. The getDirection function determines the direction based on the end points of the beam. The exit slot function determines if the beam is exiting the box and if so which slot it is exiting from. In hind sight, I probably don't need this function as it really is only used by the core of the game and could have been implemented in the core where it is used.

Sunday, March 16, 2008

Light box engine posted

The changes to the main light box game core has been posted on the subversion repository. This probably isn't that big of a deal as neither the classic or modern version of the game is in a playable state yet, but with that work done the actual games should be ready soon. While I was going to play with the modern version before the classic version, I have found myself working on the classic version today but the additional work that I did today is not enough to warrant being posted. The key question is when am I going to do more work on the light box games as next weekend is Easter. It is a long weekend so it is possible that I will get a lot of work on the Ultimate Retro project done but it is also possible that I will actually take the weekend off and not get any Blazing Games work done.

Thursday, March 13, 2008

Modern Cypher posted

Even though it is a hard game, I really do like Modern Cypher. The thing about ciphers is that in theory they should be hard to solve. There are 26! possible combinations in a 26 letter cipher which means that there are 403291461126605635584000000 possible ways to mix up the 26 letters. At the same time, because the puzzles are sentences and there are clues leading to what the solution could be it is possible to solve these problems using basic knowledge of English. Modern encryption still uses ciphers, though the symbol range is much larger and additional techniques for scrambling the message are also used.

Wednesday, March 12, 2008

Some thoughts on One of those Weeks

My progress on One of those Weeks is pretty good. I am not as far along on that work as I would like but with everything that is going on, that is to be expected. As you should already know, I am releasing episode 35 later this month so can probably start blogging about that episode. I suspect that I lost a lot of players after the twist in day 5, but I am following my original story outline and the twists only get more interesting. At least in my opinion, and since I am directly involved in the project my views are highly biased. The big thing that I am thinking about is to increase the frequency of the releases from monthly to twice a month. I haven't decided for sure if I will do this and probably won't make that decision until the May schedule is posted.

Monday, March 10, 2008

Light Box game changes

It has been quite a while since I worked on the light box game which is part of the Ultimate Retro Project. While the code that is there seems fine, the big problem I had when reviewing the game was some minor issues with the way the game was going to work. I have decided to make a few minor changes to how the game would work that as a result makes the game significantly more interesting to play. First, instead of having an opaque area as one of the sides of the prism, I am instead allowing the light through but reducing the intensity of the light by a slight. Likewise, changing the direction of the light will reduce the intensity of the light by a slight amount. Splitting a beam, on the other hand, will have an obviously large impact on the intensity of the light. The bigger change is that instead of trying to figure out where the prisms are, the goal of the game is going to be to create your own light box that has the same outputs as the source box (though intensity levels are not important, just what slots the light comes out). The code to do this is not quite ready, but hopefully I will be able to post it next Sunday.

Sunday, March 9, 2008

Springing Foreward

It is that time of year, at least in Canada and the US, to move the clocks ahead one hour. This reminds me of a Wii Vote poll about peoples preference towards setting their clocks back an hour or ahead an hour. I voted for setting the clocks ahead an hour but was in the minority. I suspected I would be as most people prefer an extra hour of sleep. My thoughts, however, revolve around the timing of the change. If you are moving the clock back an hour that means that winter is near, where as if you are moving the clocks forward an hour it means that spring is on it's way. I can already see most of my lawn and suspect that the lawnmower will be making it's appearance really soon. I don't mind cutting the lawn because it is good exercise, and exercise is something that I should be doing more of!

Thursday, March 6, 2008

An early April?

The March schedule was officially released on Blazing Games today. Anybody who is reading this probably already knew that classic cypher was the game released today. The big news is actually a last minute decision that I made. The March 28th game was going to be another episode of Dozen Days of Dice, but I don't actually have one ready. Actually, I do have an unreleased episode of DDD ready but I don't really want to release it though will once the series has run it's course or if I desperately need a filler game. With everything that is happening around here I am not sure if I will get a solid day that I can put towards doing the next Game in a Day challenge so I opted instead to start the next One of those Weeks day a bit early.

Wednesday, March 5, 2008

Nine Inch Nails Ghosts I-IV

I was going to talk about this earlier this week, but after purchasing Nine Inch Nails Ghosts 1-IV I had trouble downloading it due to the huge demand. Getting the music from Amazon is not an option for me because the Amazon mp3 store is not yet available in Canada. Trent was good about the situation and reactivated the download links so today, after making sure the site was performing okay, I finally downloaded my copy in the flac format. I chose flac because it is an open and lossless format, though mp3 and apple lossless formats are also available.

I think Nine Inch Nails made the right choice with their distribution method, even though they were not prepared for the demand. If they ever do something like this in the future, which I obviously hope that they do, then let us hope that their server infrastructure is better prepared for the onslaught of rabid fans. For the record I consider myself one of those.

The most impressive aspect of this is that the albums are very experimental and consists of strictly music tracks. Note that I said albums. The I-IV refer to the fact that the music is broken into four volumes with each volume corresponding to a vinyl album. There was a limited run of actual albums created with all of them selling out the first day even though the cost of that set was a premium $300. That alone would have axed the project if it would have gone through a big music label. Even if the label allowed the concept album to go ahead, I suspect it would have not been properly supported.

Tuesday, March 4, 2008

In Memory of Gary Gygax

I just heard that Gary Gygax has passed away. I am hoping that this is rumor and not fact, as I have not seen any "official" news articles about this yet. For those of you who do not know who I am talking about, Gary Gygax is one of the creators of a game known as Dungeons and Dragons. D&D is considered to be the first role-playing game ever created. His influence on the game industry was vast and he will be sorely missed. I know that my already lousy day has just been made significantly worse from hearing this news.

Sunday, March 2, 2008

Modern Cypher Release Candidate

I have finished fine tuning the Ultimate Retro Project's Modern Cypher game. The classic version of this game will be released on Blazing Games on the seventh while the now finished modern version will be released on the 14. People who wish to play these two games before they have been posted to the site can download them from the repository and compiling them yourself. I should point out that the puzzle set that is included in the repository version is not going to be the puzzles that are used when the games are release. Likewise, the puzzles in the classic version will be different puzzles from the modern version and if there is interest in this game then additional puzzle sets will be released in the future.