How to Contribute

For those completely unfamiliar with version control systems (VCS), I’ll make a post in the future that should be able to get you started to at least navigate your way around an recognize certain aspects.

The First Fantasy project is hosted on github, a popular “social” open-source project hosting site that uses git as its form of VCS. Github provides a number of obvious benefits to project managers and contributors alike and attempts to make the whole contribution idea as painless as possible. I would highly recommend checking out some of their basic guides to get a feel for things and then go ahead and fork The First Fantasy repository to play around with it. Don’t worry! There’s no possible way to cause any harm to the original repository without being an assigned contributor of that project (by me). You can still make pull requests that will let me and the contributors know you have made an addition or change that needs review to be implemented into the project.

I’ve made a wiki page on the project’s page that describes the intended workflow. After spending this latest release getting used to the workings of git and github, the wiki page should give a good idea of what the overall “process” will look like. Think of it as a guide to how we can make the most of contributions without stepping on people’s toes. By following this, we should be able to produce meaningful results that are easily tracked and implemented.

If you don’t want to get involved with github just yet, you can always download a source zipball to mess around with a copy of the repository. If you have any questions or comments, please let me know! I’d be happy to help in anyway I can.

Tagged , ,

Release – v0.09


While not radically different visually, I, and a couple contributors (Onionnion and Horst), made some big changes to documentation and making sure we adhere to PEP 8 styling standards. Another major addition would be the support for multi-platforms. Linux should now be able to save/load games and pause/clear the screen. Game wise, I’ve put in some unique items for you guys to find! There’s one for each type of equipment! If you manage to find all at once and equip them, send me a screenshot and I’ll make another unique based on your input! Give this release a run through. v0.1 is going to need to be super stable with all basic functionality (shops/markets!) implemented so send any bugs or suggestions my way or submit an issue on github. Thank you everyone for your support!


  • Full adjustment to PEP 8 code style.
  • Added unique equipment.
  • Non-Windows operating system support (Linux confirmed).
  • Updated README.txt to be a little clearer.

Known Issues

  • No change to existing issues. See github in the future.


Windows Only Executable: 0.09


Tagged , ,

Patch – v0.08b

Another quick patch to fix saving/loading for Linux users. Once we fix these and it looks stable, I’ll bring everything in for v0.09.

Source Zipball: v0.08b-zipball

Tagged , ,

Patch – v0.08a

Put together a quick patch for our Unix friends who were having some issues with Windows dependent system commands. If you have future issues you think are OS related, please let me know and include your Python version as well. Thanks to those who submitted your feedback!

Windows Executable: v0.08a

Source Zipball: v0.08a-zipball

Tagged , ,

Suggestions and Ideas for v0.09

The next release, v0.09, is definitely looking to be a lot of cleanup work, but there will be some additions in store. If you’ve already checked out the source, you may have noticed that unique items (known as rare items for now) are getting implemented. Thanks to Onionnion, the code is also now a lot closer to PEP-8 code style standards than before.

Suggestions big and small are certainly welcome. Got an idea for a cool weapon/armor/consumable? Name for a zone? Maybe some tweaks to the UI? Comment here or submit an issue on github! Bigger features can certainly be requested, but they may not be ready for v0.09. Something like buffs/debuffs may have to wait a little while.

Tagged , ,

Inside Look – Eclipse IDE and PyDev

For my IDE of choice when working with my project, I use Eclipse. I was introduced to Eclipse a couple years after I had made the first iteration of The First Fantasy. Now instead of Java, I use it for Python development. To do this, I use PyDev. There’s a ton of features, including the ones you would expect from a proper IDE like code completion, syntax highlighting, code coverage, and a debugger. It feels natural and provides me really everything I need as a Python newbie. In fact, it’s probably got more features than I’d ever use in my lifetime.

Eclipse has literally hundreds of additional software projects that can be installed to enhance productivity. PyDev is just one of these. Another tool that I use is EGit, a git plug-in to allows me to perform version control operations from within the IDE. I’ll go into EGit more in a later, as it can be pretty complex compared to other VCS solutions and deserves its own post.

What IDE do you use? I hear all sorts of methods that people use to work on their code and a surprising number of them use basic text editors such as VIM or Sublime to write code. I couldn’t submit myself to that kind of torture for larger projects, but I’d imagine it would feel good to make something from complete scratch with little assistance.

Tagged , , ,

Source Code Available

After a few requests and me finally succumbing to the beauty of open software, I’ve made a repository on github to host my project and for anyone to view and possibly contribute. You can access that repository here:

Transitioning over to git was more complicated than I would have liked, but I can definitely see the advantages of using it over subversion although I will miss its simplicity. Anyway, this will mean a few changes to links on this site and how Downloads will work. I’ll be hosting the distributable versions of The First Fantasy in the downloads section on github, but linking to those from my blog. As the link to the source is always the same, it will have it’s own section in the Downloads page.

I’m hosting the project to the public to share, learn, and help others that are open-source project newbies get on their feet. There’s still a lot of documentation that I’d like to do so viewers/contributors can better understand my thinking, and you can expect additional commenting to be a priority right now. If you have any questions, please feel free to send them over to me. I might even make a post to explain a process I use.

Tagged , , ,

Inside Look – py2exe

Early on in development, I immediately recognized the need for The First Fantasy to be easy distributed and ran without handing over a load of source files and asking the user to build them and also have the Python interpreter on their machine. This is where py2exe came in for me.

py2exe is a Python Distutils extension which converts Python scripts into executable Windows programs, able to run without requiring a Python installation.

The output from using the utility is what I zip and make available in the Downloads page. Nifty huh? All that’s needed is to create a simple file in your working source directory with the following:

from distutils.core import setup
import py2exe


Then, through a batch file or command line, execute both of the commands:

python install
python py2exe

Py2exe will create a build and dist directory. The build directory can be discarded, but the dist directory contains everything needed (besides possibly a couple .dlls that the user should have) to run the program. Numerous options exist that allow you to modify the output such as renaming the executable, choosing where to place the dist directory, and several optimization options.

Tagged ,

New Release – v0.08


Minor additions including GNU GPL license, converted and added some documentation using PEP 257. Also made some internal changes to allow automatic building of the distribution. Obviously, I’m trying to make the project a bit more official and conforming to accepted standards. As you can see, I’ve chosen to go with open-source licensing but have yet to make the source available. This is simply to better prepare the code before official release and have the resources set up to have multiple contributors. I’ll make a post when this is ready.


  • Added license.txt file.
  • Added PEP 257 docstring documentation. More in-depth documentation to come.

Known Issues

  • No change to existing issues.


Windows Only Executable: 0.08


Tagged , , ,

New Release – v0.07

Whenever I add a new download to the blog, I’ll do a release post like this to explain changes, new features, or feedback that I’m looking for. Obviously, this comment won’t exist for all of them.


This is the first release where I’ve felt the game is now in a playable state. Major additions include the ability to save your game and continue from any previous save game. These saved files are stored in the ./saves folder using <playername>.bin. Even though they’re .bin files, the contents will be in ascii and partly legible. Crucial information will be unreadable, but modification can corrupt the save file or possibly change attributes of the game. Hack at your own risk! I’ll eventually convert these save files to true binary.


  • Added save feature to the zone screens.
  • Added continue feature to title screen.
  • Added quit feature to the zone screens.
  • Added one town zone.
  • Added one wild zone. These zone additions are to test higher difficulty rating (DR) areas.

Known Issues

  • No “death” yet. You will be at 0 health, but you can still travel and return to a town to rest.
  • World will occasionally be very small when generated.


Windows Only Executable: v0.07

Tagged , , ,
%d bloggers like this: