Skip navigation

To continue to improve the state of the project, I tightened up the code for the StaticDialogBox class in the RGL. About 20 to 30 lines of code were removed or rewritten, opposed to the small patch that was created by copy and pasting the DialogBox class code and changing a few lines. More improvements will be coming to the RGL, as I have decided to expand the library where possible and release the changes as a side project in addition to Open Math Game and the Jumpstart server. Currently, the main goal is to write the puzzle system for the game and then the level parser and game objects.

Certain challenges have presented themselves in doing the intended type of puzzle.One of the core educational aspects that the puzzle would help teach is order of operations.A possible, but very inefficient solution would be to go through the player input and check for each operation in order, then go through it again and repeat until there is only one value. The other easy solution would be to have each puzzle hard coded, making it very easy to code, check to see if all entries have a certain value, but this would severely limit the content of the game, making it useless after the player has gone through X amount of puzzles.

The other code I’m writing is a tile-based level parser which will take plain text, loaded in from a python file and create a level based off the characters in a list of strings. Each character string will represent the level width in tiles, each string will be another tile in height. I have several examples of how to do this which were included in the RGL and am currently considering the best way to approach this. With levels written in a separate python or text file, the end user will be able create his/her own levels.

On a side note, the RCOS dashboard still shows the Github repo as having no updates when in fact I pushed the code and the updated RGL last night.

As of today the dialog box bug is fixed, with a new dialog box type class added in to the RGL as well. After going over the code a few times, recompiling the dialog.py file, and running tests, it works! From the fixed dialog class, I created a StaticDialogBox class. This functions relatively the same as the regular dialogbox class with a few exceptions. First, there’s no arrow to signify a continuation of the text, everything is displayed in one page. Secondly, it will only draw it self character by character the first time it is displayed, after that it will appear instantly every time it is viewed.  Additionally, the full main menu is working, with the help manual being displayed via a StaticDialogBox and the player is able to switch back and forth between the the two.

Source code has also been posted on Github, the link is at the bottom of this post. I experienced difficulties in uploading code via Git, and was considering switching to SVN for a short period of time. However, I found that I am able to upload if I force the changes to go through via the force command. Despite following the tutorial on Github step by step, this remains the only way I am able to upload code. Currently, the non-working version of the menu is there with a dialog test file. Hopefully by tomorrow the full menu script will be up with a demonstration dialog test using static dialog boxes as well, it all depends on if Git cooperates. If not I will end up forcing the updates through again. Before posting the code however, I want to go through and trim out the unnecessary portions of the StaticDialogBox class from the RGL.

-Ben

Git repository (for some reason updates do not appear in the RCOS dashboard?):

http://github.com/benshippee/OMGOpenMathGame

I have been experiencing problems with Git when trying to push the code to Github, hopefully that will be resolved quite soon. Also, I found a neat tool cool sfxr, a program used to generate retro game wavs that I will use for sound effects for the game. I have also been in contact with pymike and saluk, the creators of RetroGamelib and have obtained permission to bundle the software with the release of OMG. This will make installation easier for end users as they will not have to obtain the library themselves. I am still working on resolving the dialog issues, and have made some progress on that. Now instead of not displaying anything, characters are displayed one at a time and can be stepped through for each character in the dialog string. Hopefully I will be able to fix this soon as I plan on using dialog boxes for the educational portion of the game on signs to direct the players.

- Ben

This past week I’ve been fooling around with various portions of the retrogamelib and looking at some examples of other projects which use it. Currently I have done some simple sprite animation from a spritesheet, level parsing to convert a text string into a series of tiles, and other various practice with the retrogamelib. Friday night I became ill and was not able to work on the project as much as I would have liked to. Now that progress on the core game code has started, expect code to be pushed to the github repository (link will be forthcoming once code is up). Currently I am working on getting the start menu screen working using the dialog and menu pieces of the retrogamelib. As of right now I can only have one letter of the string be displayed in the dialog box objects and am working to see where that bug is coming from, despite the format of the code I have written matching both the documentation and example code provided. I am hoping to have this resolved by tomorrow and will hopefully be able to push the start menu code by the weekend.

On a design related note, we have decided to use a Ness spritesheet done by Naruto[NU] (http://www.spriters-resource.com/custom_edited/mother/sheet/24917). While the art belongs to Naruto[NU], who is only requesting credit if used, the design may be copyright the original game designers, does anyone have any insight on this? If so please contact me. -Ben

Most of the game design is done! Some of the major aspects of the game are 2D platforming with logic and math puzzles that must be completed for the player to progress farther in the game. On the coding end, I  learned Python and PyGame well enough to begin prototyping the game project. While searching for a basic platformer tutorial, I stumbled upon the RetroGameLib (http://code.google.com/p/retrogamelib/) and will be using this to further the development of the game.

OMG: Open Math Game is an open source project through the Rensselaer Center for Open Source Computing. It is an educational game with a focus on math and logic. It is suitable for grades 4-6. Myself and Ryan Baltazar are working on this project using Python and Pygame. More updates will come shortly with a link to the Git depository for source code.

-Ben

Follow

Get every new post delivered to your Inbox.