My 7DRL project was not what I consider a success. While technically I had a playable game, it was more of a random maze game than anything else. While the RPG code was mostly done (if you look at the source you can see a couple thousand lines of rpg related classes) it simply was not integrated into the rest of the game. This work will be done and the finished version of the game will be releases eventually but it was not finished within the 7 days of the challenge so it is not a success. That said, here is the postmortem.
What went wrong
Memory is a faulty thing. As this game was to be based on an existing Java game, I was thinking about the project as if all the code was already ported to JavaScript. For this reason I never really took a look at how much code there actually was for the original game. I really don't remember the project being as big as it is. Part of the reason for this is due to the fact that the orignal Dungeon Romp was built on top of the other games in the Ultimate Retro Project as well as borrowing a lot of code from the Coffee Quest series so a lot of the work was already done. I really should have reviewed the code before I started and started porting the common libraries beforehand. Ultimately, I made the rookie mistake of taking on far more than was realistic for a one week period. Next year I will be more prepared.
What went both wrong and right
Porting the code was a mixed blessing. As I mentioned above, there was a huge amount of code that I ended up hand-porting to JavaScript. There are some tools that will cross-compile from Java to JavaScript, but when I looked at them the results were not very good. I want to be able to modify and use the JavaScript code not to work in Java and publish the results as hard to read/modify JavaScript that requires large amounts of support libraries to work. While hand-porting is a lot more time consuming then running code through a tool, it has two huge advantages. You really understand the code that you are porting after you have finished porting it. You are able to take advantage of certain features of JavaScript (dynamic classes, for instance) that a cross-compiler simply will not.
What went right
While I suppose this is not the most significant thing, the thing I am most proud of is my pre-loader. This is the first JavaScript game I wrote that really needed some type of pre-loader. After doing a bit of testing, I found that the code started running before all the script files were loading, so the pre-loader could also include the loading of the scripts as long as the pre-loader script was before the other source script tags. Even if this is not a feature in all browsers, the image loading code will still take the bulk of the loading time though there will be a slightly longer delay before any activity happens. To get something on the screen as quickly as possible, a text message is rendered while the title-screen image starts loading. Once the title screen image is loaded, the other images (condensed into a number of image atlases) are loaded.
While finishing the game in a part-time week was not in the cards, the game will eventually be completed. I am hoping for an April release, but am not committing to anything at this point.
Showing posts with label Modern Dungeon Romp. Show all posts
Showing posts with label Modern Dungeon Romp. Show all posts
Thursday, March 21, 2013
Thursday, December 17, 2009
Plans altered
I was originally planning on releasing the final version of Santa vs the Evil Gnomes this week and releasing the Christmas Edition of Dungeon Romp 3D for Christmas but with the passing-away of my Grandmother and lack of time due to family being down my plans are being altered. While I am very tempted to delay Santa vs the Evil Gnomes until next year and add a lot more features, I have delayed the game enough as it is so it will be Dungeon Romp 3D Christmas Edition that gets delayed and Santa being released on Christmas Eve.
Thursday, November 19, 2009
Santa vs the Evil Gnomes alpha release
While I really don't like releasing Alpha versions of my software, I think the game is far enough along to give the players a sneak preview of my Christmas game. The new RPG core that the game is going to use is not yet finished so the game is currently using my CQ4 core. The rendering engine is my Dungeon Romp 3D raycaster with some modifications. The Beta version will be released next month, and before Christmas the final version will be released. I am also going to be releasing the 3D version of the Christmas edition of Dungeon Romp so next month will be fun for people who like short RPGs.
Friday, September 25, 2009
Deadly Dungeon now in 3D
Sorry for the delay in posting this. Yesterday the deadly version of Dungeon Romp 3D was posted. This is actually built on top of 1.0.1 of the Dungeon Romp game as during the testing of the game I uncovered a bug that was not reported to me. When you die on a dungeon level that is different from the level that the last marker is on then the level being rendered is different from the level the player is on. While this could have been fixed with a single line of code, the single line fix resulted in the animation of returning to the marker being lost. This was fixed with only a few lines of code where the player is transported to the proper level but at the same x,y coordinates and then the animation effect is applied.
As for what I am going to be releasing next week, I can't really say. I am hoping to have a 3-part Halloween game and hope to have the first part released next week. Depending on how far along in development I get over this weekend, that may not be possible. If development on my Halloween game is not far enough along to release the first part, then I will probably release Making One of those Weeks episode 35.
As for what I am going to be releasing next week, I can't really say. I am hoping to have a 3-part Halloween game and hope to have the first part released next week. Depending on how far along in development I get over this weekend, that may not be possible. If development on my Halloween game is not far enough along to release the first part, then I will probably release Making One of those Weeks episode 35.
Thursday, September 17, 2009
Dungeon Romp 3D 1.0
Dungeon Romp 3d is now released. I discovered that the sound problem was a hardware issue. Normally a programmer should assume any problems are a result of their code because it almost always is. While I waisted time trying to figure out a bug that wasn't really a bug, the other 99% of the time it would have been my code so I don't feel too bad. The deadly edition will be released next week, and I will probably release the 3D version of the Christmas edition in December.
Thursday, September 10, 2009
You can't get more open than space but watch out for the BSoDs
It has been quite a while since I last posted. I meant to post last week when Crystal Skull was released on Blazing Games, but I forgot. If you missed the release, you can get to it through the archive page or by going to http://blazinggames.com/table/dozenDays/words/crystalSkull.php to see the game. I am going to be updating Blazing Games weekly again, using open source releases and articles as filler, though will be releasing my One of those Weeks source/articles at least once a month even if I have better material ready to post. The open source release of episode 35, where you get to fight BSoDs in space, is the release for this week.
Next week I hope to have the final build of Dungeon Romp 3D. A bunch of new features have been added, though the sound effects don't quite seem to be working right. If I can find the problem there, it will be my next release. As I have talked about before, multiple releases of games, adding features with each new release, is something that I plan on doing. If there is a particular game on Blazing Games that you would like to see overhauled, feel free to let me know and I will consider it.
Next week I hope to have the final build of Dungeon Romp 3D. A bunch of new features have been added, though the sound effects don't quite seem to be working right. If I can find the problem there, it will be my next release. As I have talked about before, multiple releases of games, adding features with each new release, is something that I plan on doing. If there is a particular game on Blazing Games that you would like to see overhauled, feel free to let me know and I will consider it.
Thursday, July 2, 2009
Dungeon Romp 3D beta released.
Work on my Android game is going well so I am continuing my 3 week site updates until after the Google Android Contest deadline at which point I will go back to either a fortnight release schedule or a weekly schedule with open source releases and articles being releases on odd weeks. Still, today is the beta version of Dungeon Romp 3D, which is a 3D version of Ultimate Retro Project episode 60. There are a few additional features that I am thinking about adding so there will probably be another release of the game.
Thursday, June 11, 2009
Word Slide Official
The Word Slide game has now officially been posted. Bigger news, at least for those of you who are interested in RPGs, is the next game that will be posted July 3rd. My Dungeon Romp game is going from 2D to 3D. Of course, it is just a beta but I think it is fairly stable. I am sure a lot of you noticed that again I am going 3 weeks between releases, but this time it is Google's fault :-). Their second android application contest is starting and I am considering entering something into the contest so want to actually have some time to properly develop my android game. Sadly, their rules forbid releasing the applications that are being entered into the contest until after the contest is over so my game will not be released until after the contest is over if I actually finish it and enter it into the contest. I know my chance of winning anything is very low, but I think it may still be worthwhile to enter.
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.
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.
Saturday, June 2, 2007
The Battle has just Began
I have just finished adding some new features to Modern Melee Combat, which I will post to the ultimate retro project repository as soon as I finish the title screen artwork. The animation subsystem has been overhauled, so the game can be played significantly faster as you no longer will have to wait until the monster animation is finished before making your next move. This was the biggest complaint I have received for both Melee Combat and for Dungeon Romp. There are now keyboard shortcuts for all of the commands in the game. Finally, the game will have a title screen. The other complaint I have got about Melee Combat was that it was too easy. This is more of a configuration file issue than a programming issue, but I plan on creating a second configuration file that would have a much more challenging set of arenas in it. This will probably be released on the 8th.
Dungeon Romp fans will also be treated to an overhauled version. Work on this will not be started until I have put at least 10 hours into Coffee Quest Revenge. Once I have a version with the faster gameplay implemented, it will replace the existing version on the site. A more difficult dungeon is planned, though that will not be released until there is a free week in my release schedule. Depending on how quickly CQR development is, this could be this month, but may not be until July.
The last couple of posts I talked about DRM free music through iTunes. With DRM free music now available, I immediately purchased a copy of Smashing Pumpkins: Mellon Collie and the Infinite Sadness on May 30th. Last night (okay, technically early this morning before I went to bed) when I looked at the other Smashing Pumpkin titles available, I noticed that they were no longer available as iTunes Plus albums. This included the album that I purchased the other day. The copy I got was definitely DRM free 256 bit, which leads me to wonder what is going on? My fear is that some bands want to treat their paying customers like criminals. I wrote Apple to find out, but I doubt I will even get a reply from them. If I do find out that it was the band's choice to not allow DRM Free versions, I will simply have to quit supporting the band. In fact, I think from now on, the only bands that I will support are bands that have DRM Free music available.
Dungeon Romp fans will also be treated to an overhauled version. Work on this will not be started until I have put at least 10 hours into Coffee Quest Revenge. Once I have a version with the faster gameplay implemented, it will replace the existing version on the site. A more difficult dungeon is planned, though that will not be released until there is a free week in my release schedule. Depending on how quickly CQR development is, this could be this month, but may not be until July.
The last couple of posts I talked about DRM free music through iTunes. With DRM free music now available, I immediately purchased a copy of Smashing Pumpkins: Mellon Collie and the Infinite Sadness on May 30th. Last night (okay, technically early this morning before I went to bed) when I looked at the other Smashing Pumpkin titles available, I noticed that they were no longer available as iTunes Plus albums. This included the album that I purchased the other day. The copy I got was definitely DRM free 256 bit, which leads me to wonder what is going on? My fear is that some bands want to treat their paying customers like criminals. I wrote Apple to find out, but I doubt I will even get a reply from them. If I do find out that it was the band's choice to not allow DRM Free versions, I will simply have to quit supporting the band. In fact, I think from now on, the only bands that I will support are bands that have DRM Free music available.
Tuesday, May 22, 2007
Dungeon Romp Ready
After a nice long weekend, I am going to start the week with a fairly short post. I have posted the source code for the version of Modern Dungeon Romp that will be appearing later this week. This is in source code form, so anybody who wants to see the game early will have to compile it themselves. I am thinking that I will start making more details about the progress of the site selected project as it is being developed. This will have the added benefit of giving people who are interested in the project being worked on a heads up on how it works. I am considering having a weekly build posted to some test area of the site, which I sort of did with the development of Coffee Quest GL. This would give people a chance to better see how a game that I am working on actually evolves.
Friday, May 18, 2007
Mapping a bug
Good news for those of you who are waiting for Modern Dungeon Romp. I have found the bug that was causing the game to stall. Now, those of you who don't care about technical explanations can stop reading with the knowledge that next week's release will be Modern Dungeon Romp. Anybody still reading? Didn't think so, but I will continue with this post for my own records.
The big change that I made was to hide the map then as the player explored the dungeon, the map would be revealed. This was something that I had originally planned for the classic version of the game, but decided not to do this as the game took quite a long time to play even with the entire map revealed. My plan was to just have a bit within the map tile information to be set if a tile was known. As the player moves through the dungeon, the flags for all the tiles around the player get set. As this is actually stored in the tile information, the actual tile value is not the number that is stored in the map array but a masked version of that tile. This functionality existed even in the classic version but the setting of the flag was simply not implemented.
This change should not have had anything to do with the stall, but it did. While the official getTile function properly masked the bits so only the tile value was returned, the function that spawns new monsters did not use the getTile function but accessed the map data directly. This function randomly looked for an empty tile to place the monster into. When a player had seen a tile, it was no longer empty, as the seen flag changed the value from 0 to 64, even though after applying the tile mask the value would be 0. The solution was simply to have the spawn function use the getTile function instead of accessing the map data directly. This is slightly slower, but as speed is not an issue (which is a good thing as the techniques I used for items and monsters are very inefficient) it is a simple way of making sure the data I am looking for is correct.
So what was causing the game to stall was the monster spawning trying to spawn a monster but not being able to randomly select a tile that was empty because it didn't consider locations that had been seen by the player as empty. If the map was fully explored, which is usually the case when I am playing a game, then the game would go into an infinite loop as it searched for a empty tile.
The big change that I made was to hide the map then as the player explored the dungeon, the map would be revealed. This was something that I had originally planned for the classic version of the game, but decided not to do this as the game took quite a long time to play even with the entire map revealed. My plan was to just have a bit within the map tile information to be set if a tile was known. As the player moves through the dungeon, the flags for all the tiles around the player get set. As this is actually stored in the tile information, the actual tile value is not the number that is stored in the map array but a masked version of that tile. This functionality existed even in the classic version but the setting of the flag was simply not implemented.
This change should not have had anything to do with the stall, but it did. While the official getTile function properly masked the bits so only the tile value was returned, the function that spawns new monsters did not use the getTile function but accessed the map data directly. This function randomly looked for an empty tile to place the monster into. When a player had seen a tile, it was no longer empty, as the seen flag changed the value from 0 to 64, even though after applying the tile mask the value would be 0. The solution was simply to have the spawn function use the getTile function instead of accessing the map data directly. This is slightly slower, but as speed is not an issue (which is a good thing as the techniques I used for items and monsters are very inefficient) it is a simple way of making sure the data I am looking for is correct.
So what was causing the game to stall was the monster spawning trying to spawn a monster but not being able to randomly select a tile that was empty because it didn't consider locations that had been seen by the player as empty. If the map was fully explored, which is usually the case when I am playing a game, then the game would go into an infinite loop as it searched for a empty tile.
Thursday, May 17, 2007
One of those Bugs
My original plans for this week was to release Modern Dungeon Romp. After finishing the feature list I talked about last week, I started playing the game with the goal of making sure I could play through the entire game. I figured this would be a fairly simple final test as I have played through the game a few times before I made my list of changes. Still, when you are making a lot of changes, you can break things. Something was definitely broken. I worked my way down a few levels when the game stalled. I am not sure why but suspect it is a side effect of the changes. My first goal is to re-create the stall so I can figure out where the problem is occurring. I'll blog when I have more information on this.
Something had to be posted, and while my making of episode 14 has yet to be posted, looking at the calendar revealed that if I posted chapter 14 this week then I would have to post One of those Weeks Episode 27 next week, even if I found the bug. I don't want to delay visitor's choices unnecessarily, so in order to make sure that I delivered episode 27 this month (and episode 28 next month) I released the episode today. If the bug is fixed then next week will be Modern Dungeon Romp otherwise Chapter 14 will be released.
Something had to be posted, and while my making of episode 14 has yet to be posted, looking at the calendar revealed that if I posted chapter 14 this week then I would have to post One of those Weeks Episode 27 next week, even if I found the bug. I don't want to delay visitor's choices unnecessarily, so in order to make sure that I delivered episode 27 this month (and episode 28 next month) I released the episode today. If the bug is fixed then next week will be Modern Dungeon Romp otherwise Chapter 14 will be released.
Wednesday, May 9, 2007
Modern Dungeon Romp functional code posted to repository
A fully functional version of Modern Dungeon Romp has been posted to the repository. If you want to play this early release you will have to compile the program yourself, as it will not be released on Blazing Games this week. Tomorrow's release is actually going to be a Mother's Day animation that I put together. The Mother's day animation that is going to be released did not take up any of the twenty hours that I allocate to Blazing Games. The Dungeon Romp game will have some additional features and there is a bug that I discovered. The changes I will be making will be the addition of a title screen, the reduction of the dungeon size so that the top and bottom of the dungeon will no longer be cut off, the map will be hidden, the graphics will be adjusted, and the new game bug will be fixed.
The title screen, while not that necessary, is a nice finishing touch. It also makes death in the game more interesting, as when you die, the title screen will come up where you will be able to choose from new game, or continue from marker. The title screen class already exists so this will actually be a fairly minor change.
The change in the dungeon size will also be a minor change. Right now the 16x16 dungeon size is just one tile too tall for the resolution used. The new version will use 16x15 floors, so the entire dungeon will fit on the screen. An alternative would be to use slightly smaller (30x30 instead of 32x32) icons, but I prefer having my icons 32x32.
The new hidden map feature will hide the areas of the map you have not explored. This will add an additional exploration aspect to the game. This will also mean that you will not be able to plan your route to the items and exits, and avoiding monsters will be more difficult.
The graphics will be touched up so that the monsters no longer blend into the floor. I am also going to try to make the background look more like a series of caves. This has the added benefit that it will make the game look distinctly different from Modern Melee Combat.
Finally, I will be fixing a bug. Right now, if you finish the game (or die and decide to start a new game) the new game starts you with all the spells that you have memorized. This bug fix will clear out the spell list when you restart the game. While this bug fix will also fix this problem with the classic version, I probably will not bother to re-post the fixed version of the classic version of the game unless someone actually complains to me about it.
The title screen, while not that necessary, is a nice finishing touch. It also makes death in the game more interesting, as when you die, the title screen will come up where you will be able to choose from new game, or continue from marker. The title screen class already exists so this will actually be a fairly minor change.
The change in the dungeon size will also be a minor change. Right now the 16x16 dungeon size is just one tile too tall for the resolution used. The new version will use 16x15 floors, so the entire dungeon will fit on the screen. An alternative would be to use slightly smaller (30x30 instead of 32x32) icons, but I prefer having my icons 32x32.
The new hidden map feature will hide the areas of the map you have not explored. This will add an additional exploration aspect to the game. This will also mean that you will not be able to plan your route to the items and exits, and avoiding monsters will be more difficult.
The graphics will be touched up so that the monsters no longer blend into the floor. I am also going to try to make the background look more like a series of caves. This has the added benefit that it will make the game look distinctly different from Modern Melee Combat.
Finally, I will be fixing a bug. Right now, if you finish the game (or die and decide to start a new game) the new game starts you with all the spells that you have memorized. This bug fix will clear out the spell list when you restart the game. While this bug fix will also fix this problem with the classic version, I probably will not bother to re-post the fixed version of the classic version of the game unless someone actually complains to me about it.
Subscribe to:
Posts (Atom)
