Digital Dave

Musings on projects, business and life.

Icon

PyAdventure Release – Game – Source

I blew past the 5 days that I wanted to take to complete this game, but considering the time spent on actually developing it (7 days), through all of the distractions, it still works for me. I’ve been traveling up to Kansas City (on my second trip now), and I spent a week playing phone tag with a company that contacted me for employment. I’ve got to say that it’s really nice that companies are coming after me, instead of just me applying to companies. Unfortunately, things didn’t work out with that interview, but things happen for a reason. It’s just nice that people are finding me, and from what I can tell, they are hitting my new portfolio site.

So, PyAdventure.

It’s an XML based adventure game. I wrote the maps that are composed of tiles. In the script, I run through the files and build objects from them. I don’t look for any files, except for the base file ‘DeathForest.xml’ in the source code. So you could build on, and on and on because the script loads the file you specify in the base file (yes, there is a performance hit, but we’re not dealing with huge maps. Nor do I have the desire to adventure around on a huge map). The code could easily be modified to enable you to initialize a file from a given settings document. You could change the structure of the XML files and write a new adventure game just by changing them. Or you could build a tool to do it for you.

Here is the structure of a tile.

Situation: What happens when I step on this tile?
Start: Does the player start on this tile?
Items: Item on the tile
Object: The ‘actionitem’ means that a player must have that item in order for this object to work. You can link this object to an NPC by specifying the ‘actionlink’ as the npc name.
Npc: Like the object, if an ‘actionitem’ is needed, it will not greet the user.





























If you’re interested, feel free to download the game. Try it out, and provide me any critical bugs that you may have found. If you want a spoiler, just look in the map files.

Run PyAdventure.exe from the console for a better experience. Otherwise, the console will close on you when the game ends.

[Game] Download PyAdventure Game

[Source] Download PyAdventure Source Code

[Text File] View Spoiler

A Couple Programming Notes

Well, the research project is being a typical research project… It’s slow going.  Reason being is because my professor and I have to dig through current research studies to find something to replicate. Which, isn’t exactly fun because we’re trying to stay away from the incredibly complex studies (we don’t have a whole lot of time here).

I should also note that I have a twitter account, and that I’ve got myself hooked on it.  It is a lot more interesting than I thought it would be.  You can even grab twhirl that is powered by Adobe AIR to monitor your account on your desktop. My fiancee still gives me crap about using it (I think she still fails, or denies, to know that I’m a computer nerd…), but I consider it blogging on a micro level…  It seems like there are a lot of coders on it, which gives me a fun look into their daily work schedule.

This most recent ‘tweet’ came through: “figure out the least we can possibly do, then implement those basic features with as much attention to detail as we can.”  Sounds like the fun just got blown out of that project. ;)

Twitter must be doing okay… They just spent $15 million aquiring Summize, which is basically a data crawler to sift through all of the tweets.

In other news, I’m tinkering with Python.  What’s college free-time without tinkering?  I surely need to get something out of this summer if I can’t even get this research project going.

Since I’m completely new to Python, I figured I’d create an adventure game with it out of the gates.  Python + XML = $$$.  Well, minus the $$$.  I’m just having fun with it. I enjoy tinkering with languages to see how they work.  I’ve already got a good learning foundation going with Python, and it has given me some painful moments… Like the IDE that comes packaged with it… That thing is junk.  I finally ended up using eclipse since I’m somewhat familiar with it.  I should note that I have 63 hours left before this self challenge is over (making this game).

Oh… And I have a friend moving out to California before me… That doesn’t sit well- I need to graduate.

thanksgiving

Happy Thanksgiving to those who find their way to my website! I hope that you are nice, warm and extremely full from all of the Thanksgiving treats!

I spent the day playing the Wii with nearly everybody, and showing off Super Mario Galaxy to those who hadn’t seen it yet.  Yep, they all had a blast.

I picked up a copy of Introduction to 3D Game Programming with DirectX 9.0c A Shader Approach yesterday. The book has great reviews, and from what I skimmed over, it looks pretty solid. I hope to start on this soon.  I need to brush up on some Math, and finish a networking project.  I actually took a course a few years back, from the author of the book, at gameinstitute.com.  So the book is very progressive, which is nice.

I thought I’d say something about a blog I have been reading recently.

If you’re independent, you should go over and read a blog Brenda Brathwaite has recently started.  She is an industry veteran, in game design, and has a lot of great things to share about her experiences shipping 22 commercial games.  She’s now a professor at Savannah College of Art and Design so she spends time on her blog writing about various things regarding design.   I just noticed she posted something today, what looks to be another good post, regarding interviews and portfolio.

early progress

I started to work on my distributed network game a few days ago.  Since then, I’ve basically got the foundation for the graphics system in place, and am now working to get the input system in place 100%.  The input system is about 60% complete, and it shouldn’t take much longer to piece together the rest of it.   After I get all this engine related stuff complete, I’ll start working on the network code.

For the initial phase of the network side of this project I’m aiming pretty low.  I want to avoid writing any sort of GUI elements, and font crap, this early. The server starts automatically when the application starts.  The client automatically connects to the server when the application starts.

My initial milestone is to get basic movement between a server and 2 client.  Hopefully, all 3 will update fairly well by the time I’m done.  I will probably post the executables for you to play with when I’m finished with that aspect.  But I hold no promises.

Here is a very early shot of the initial ‘playground’ that you’ll be playing in.  Click it for a bigger picture, and don’t hate on the art skills.

David McGraw

Founder of iGotIt Games. Trader. Runner. Warrior. Motivator.