April 2009 challenge: “Get off my lawn”

Rose Ninja - The Road to PyWeek -- Still Working out the Kinks in My Strategy...

Posted by Akake on 2009/04/08 22:55

My second practice run is nearing an end, and I have a completely different problem this time.
I... Never wound up writing any code. I got so wrapped up in the design process that I lost track of everything else in the project.

Lesson Learned: Don't overdesign, it's just as bad as over-engineering!

I'm very glad that I decided to do these practice runs. This would have been a problem in the compo XD

I think I can call the second game sunk. It's just not going to happen.
Life goes on, though.

I've been finding that more and more:I'm getting caught up in the designs. I need to not design so much XD

I've got a good feeling about the third practice run, though. I think it'll be good to have a fresh start.

My friend has decided that she won't tell me the theme until the start of the next run, which will be at 23:00 UTC (7:00 PM EDT)

I'm thinking that this time I'll just give it some thoughts, maybe scratch down some notes, then just start coding the darned thing.

----Akake

1 comment

Rose Ninja - The Road to PyWeek - The second practice run approaches

Posted by Akake on 2009/04/01 23:55

With my second practice run (Number one, because the first was zero) a mere ten minutes away according to my clock (At the time I started writing this), my friend has held a vote amongst our other friends to see which theme would be the one we'd use.

She held the thing in the open, so I already know what the theme will be.

The theme for my second practice run is:
Running on Ice

I've already begun working out the concepts of my game. It will be another platformer, taking place in northern Quebec. The player is a treasure hunter looking for a golden ham said to have great and awesome magical power, the exact nature of which isn't specified at the moment.

The player's character is a snake-person, and the gameplay is derived from that fact. They interact with the environment in part using their coils, and also by swallowing objects. The player also has to pay attention to their body temperature, because if it gets too low, they fall asleep.

In terms of code design, I will be making to overall structure first, and then working on the nitty-gritty of it. I will likely be building some parts of Peachy Keen to support the game, but only the parts I'll need.

I'll also probably be making an image and level editor, but hopefully that won't take too much time.

The game will feature an overworld map if I have time, and a save game system.

I will have alot to do this time around, but I think that by working from the top down I'll be able to make it happen.

Add a comment

Rose Ninja - The Road to PyWeek -- Why I'm Doing Practice Runs

Posted by Akake on 2009/04/01 13:59

I'm definitely looking a major delays in my game. The underlying code has turned into a mess, and things have just generally gone badly, I'm afraid. The code just isn't coming together. I can't quite get everything to come together into something that runs. I can't even get it to where I can test the code. (See the post-mortem below)

I'm probably going to shelve the thing. I'll come back to it after the compo if I do, and probably use it as a springboard for more work on Peachy Keen. For now, though, it looks unlikely. The code has turned into a mess. I'm starting to think I should have made a flowchart, or at least planned some part of how the code would work.

That said, this is ultimately why I decided to do full practice runs this time. Because I knew there was still the chance of things getting away from me.

----

As for the next run, the friend that I have coming up with themes for me has given me a list of the possible themes. She decided to use themes that were phrases, like some Pyweek themes have been, and she also threw in a theme that I'm not familiar with (#2), because she says that such a theme may be the one voted in, and I'd have to do something with it.

The theme for my next practice run may be:
0-Running on Ice
1-Shake it and Bake it
2-Red Rider
3-Turtle Shells and Cupcake Smells
4-We can Only Improve from Here

She hasn't given too many hints about which one she'll have me do, but I thought I'd post theme for anyone who might want to play along.

My next practice run will (Because I've abandoned the first one) start today at 12:00AM UTC

----

The Adventures of Jenny Carlyle, Episode One:Post-Mortem

While I haven't quite thrown in the towel on my first run, I'm going to share what went wrong, for the record, and so I can try to not make these mistakes again.

Problem One:Built early framework on unit test framework

I didn't have a plan for the game flow code until about day three of the run. This made it hard to move anything over to the actual game framework.

Problem Two:I've said it before and I'll say it again, Boilerplates are a time sink!

I spent the first two days, and two mornings getting up at two in the morning writing them. I can't afford to do that in the compo.

Problem Three:Not enough planning

There's something to be said for Big Design Up Front programming. This project has made me realize that. What really killed me in the end was the lack of planning. I had the game planned, but not how the code would be structured. That needs to change.

Problem Four:Distractions

I got distracted by many things. School, of course, is largely unavoidable, but there were many other things in my way. I need to learn to not become distracted from my goal.

Problem Five:Nothing tied together

I'm not sure how to explain it, but my code was very disjointed. I'm certain this was due to my lack of planning. My code simply never came together. I'm still working out how to correct this mistake later on, but I think having a Big Design Up Front will help greatly.

Problem Six:Code bloat

My code simply kept growing and growing. There were several functions to load things from files that were largely identical, and there were member variables that I simply didn't need. I also overcommented... alot, and wound up unable to navigate my code because of it. The whole thing eventually became too big, and that's how I would up where I did.

In Conclusion:
Many mistakes were made, and there is a minimal chance of a running demo by the deadline.

On a brighter note, many lessons were (re)learned, and I can only improve from here.

All things considered, this concept will probably be my first game after the competition, but for now, I think it can be laid to rest. I will have to start fresh to get it working, and I don't have time for that in this run, I'm afraid.

9 comments

Rose Ninja - The Road to PyWeek -- More Setbacks

Posted by Akake on 2009/03/31 23:07

Anyone who has been following my attempt to create a demo of my first practice game will note that I haven't even posted about it again since this morning.

I had scheduling issues. The bus driver who took me from campus to the bus station was a trainee, and got to the station five minutes after every other bus, including the one I take home, had left.

I then called up a family member to pick me up. She ran into about fourty-five minutes worth of traffic, and then I spent about an hour at a doctor appointment I wasn't aware of until I was on my way out the door this morning.

After that, there was the long drive home, with a half-hour stop at the grocery store on the way.

In short:Today's out-of-home time took roughly twice as long as I had expected it to.

Demo: Tomorrow (If the Fates would be kind enough to allow it)

Add a comment

Rose Ninja - The Road to PyWeek -- Approaching The Demo

Posted by Akake on 2009/03/31 07:21

I have the majority of the level loading code written, and it simply needs to be tested.

I need to learn to structure things better for unit tests, though... I've only done a couple:One for the gauges on the HUD, and another for whether entities move correctly. Had I thought of it, I would've released the second one. ^^;

Oh well. I have two classes today (Plus about an hour and a half worth of bus riding), so I won't be able to work on this for a good part of the day.

I'm currently getting my terrain indexes ready. I only need a small subset of my tileset to make the demo, though.

As it stands, the demo will consist of a simple level and no enemies. It should be ready today. (I took Freeciv off of both of my machines, and won't be re-installing it until after the compo XD)

But, my index parsing code has given me a (rough) idea on how I'm going to write my XML parser for my game engine, so I'd say things are going pretty well for me, all things considered. ^_^

--Akake


---Edit:That's an hour and a half of bus riding. I got my numbers mixed up :P

1 comment

Rose Ninja - The Road to PyWeek -- Of Code and Sprites

Posted by Akake on 2009/03/30 11:39

I'm going to be aiming to produce a playable demo by the end of today, as I stated yesterday. I'm already working hard on getting the base of the game flow code running, and getting enough assets together to have something that demonstrates the game's concepts.

I've gotten my game camera working, and am working on the function in the main loop for drawing the game's actual screen.

I've made a (tentative) decision to scale back the variety of the enemies in the game, for the sake of having the time to make all of the sprites.
I'm also getting a bit nervous about my ability to find all the sounds, but I'm sure I can find what I need on Freesound.

Overall, life is going fairly well at the moment.

And, my C++ class (The only class I have on Mondays) got cancelled today, so I have extra time.

3 comments

Rose Ninja - The Road to PyWeek -- The Goal for Tomorrow

Posted by Akake on 2009/03/30 00:20

By tomorrow I plan to have my game flow code working, as well as having a demo level to demonstrate that... well, that I have something running.

I hope to have my level loader working by Tuesday afternoon, and have enemy AI and bosses by Wednesday, and I will hopefully be finishing up creating the images some time Thursday morning, which should be the last of it.
Otherwise, I suppose I'll have to finish it Friday. :/

----

I've decided that an extra day is in order for this run, because I have three speeches to prepare for my classes. Meh, the semester's coming to an end, and I will (hopefully) have all of the semester's work done before the compo.

Add a comment

SURBURBIA - Most common libs survey

Posted by alia on 2009/03/28 21:32

So last time we made the mistake of using too many libs that other people didnt... I think this time we will try to cut that down a little. Im not sure if it was this comp or another but I once saw a really nice little pre-comp survey to see what everyone was going to use. Does anyone know the one im talking about?

Something like this but for libs.
:D

A.

11 comments

Rose Ninja - The Road to Pyweek -- Progress and a Side Project

Posted by Akake on 2009/03/28 21:12

My first pracrtice game is starting to come together a bit.
I have most of the images for the terrain made (144 out of 208).

A far as the code goes:
I have:
-I have the basic entity mechanics coded
-I also have the level loader well underway
-I have designed the level loader to optimize the level terrain as it loads the level, so that instead of hundreds of Rects to check collisions for, I only have about twenty or thirty, and maybe fifty or sixty at the absolute worst
-I have a factory coded that will be able to make any kind of object, according to a template that it can either make and store, or use temporarily to make a single object
-I have the code broken into several files for the sake of organization (One of the biggest mistakes I made last pyweek was to put everything in one file)

I don't have:
-I don't have the enemy AI coded
-I don't have most of the game flow code written, including a scene manager
-I don't have a menu system written
-I don't have a system for player preferences

----

I'm still chipping away at the project, but I have the boilerplate classes done, and a bit of the game's logic.

I'm writing the code to be as reusable as possible, because I'm also working on a game engine at the moment.

The engine is called Peachy Keen. It will provide an in-depth, extensible framework for platform games, and also for entity, image, save game, and other storage using a dialect of XML I'm currently designing: Peachy Keen Markup Language (PKML). It will (hopefully) be in a working state before the next Pyweek, but it is a big project.

The objective of Peachy Keen is to simultaneously provide a way for simple platforming games to be written almost entirely in XML, and also give competent Python scripters a framework to build on to make their own games.

The project takes its name from the fact that its method of handling graphics (A sort of XML-based compressed bitmapping) lends itself to games with a look and feel similar to beloved shareware titles such as Jill of the Jungle, Charlie the Duck, and, the game's namesake Commander Keen.

The projects Google Code page: http://code.google.com/p/peachykeen/

(Sorry if the link doesn't work, I'm not sure how to work HTML... You may need to copy/paste)

Add a comment

Rose Ninja - The Road to PyWeek -- Practice Run Zero

Posted by Akake on 2009/03/27 07:50

The game for my first practice run is titled:
The Adventures of Jenny Carlyle: Episode One: Attack on Space Station Delphi

It is about a space marine who was mortally wounded in combat, and turned into a combat android by an engineer so she could defend the space station Delphi from an attack by... Wait for it... SPACE PIRATES!

I have some sprites of the character ready, and some of the boilerplate code (Need to look into the various game engines so I don't have to do as much of this during the compo) is ready.

The game will have a tile-based editor, basic but not non-existant enemy AI, and bosses. I will be making a set of five demo levels, but the final game will have around thirty.

--Akake

Add a comment