In game screenshot

OWT

OWT (One Way Trip).

Requires Python 2.6 or later, and PyGame (I've been using 1.9.1).

Uncompress the ZIP archive and run "owt" in the "scripts" directory. It looks better in full screen mode, so try running owt with -f option (although depending on your graphic card/display it may not work).

All this information is available in the README.txt file included in the ZIP.

The game is available in two flavours: source code and windows binary bundle.

Awards


son's top pick among early entries.
Presented by fishtricity

Give this entry an award

Scores

Ratings (show detail)

Overall: 3.1
Fun: 3.4
Production: 3.8
Innovation: 2

Respondents: 15

Files

File Size Uploader Date
owt_final_windows_bundle.zip
OWT, final version (Windows bundle)
5.9 MB reidrac 2012/09/16 10:52
Screenshot from 2012-09-15 18:36:24.png
In game screenshot
190.3 KB reidrac 2012/09/15 17:52
owt_final.zipfinal
OWT, final version
1.8 MB reidrac 2012/09/15 17:52
Screenshot from 2012-09-14 19:09:30.png
Game menu
225.9 KB reidrac 2012/09/14 18:11

Diary Entries

Postmortem

This time I managed to submit something playable and it is a great victory for me, nevertheless the voting results. These are some comments about my experience.

Figuring out what to do

That was difficult. At first I couldn't find any idea that I could implement (both programming and art), and after that I couldn't find any idea at all. I lost the first day, and in the second day I spent some time watching some youtube videos of Spectrum, Amstrand and Amiga games.

I found some videos of games I used to play about 20 years ago (Saboteur, Trantor, Xecutor, Xevious, etc), and I started to feel nostalgic and sad because I was watching videos instead of writing code :)

Finally, the third day I started writing some base classes and implemented a basic scroll. OK, go for it: create a game.

The art

I'm not an artist. Repeat: I'm not an artist. I googled a tutorial on how to make a starfield with Gimp (yes, a tutorial... I had to repeat it 4 times to get something decent). Oh, it doesn't look that bad after all. I started drawing some spaceships with mtPaint. I knew the application, but it's the first time I've used it... it reminds me to my old Deluxe Paint II :) It's perfect for pixel art (I can even use the keyboard!).

A shot'em up sounds OK for the theme: one way trip, a suicide mission to destroy... etc. So carry on.

At this point I made my first great mistake: it's an horizontal shooter, meaning that the graphics are more complicated. After sweating bullets for two hours I had a player ship and one enemy. Then my partner noticed I wasn't using the same perspective for the player and the enemies... so I present you the spinning enemy:

 

It's far from perfect, but I can tell you is the best animation I've ever done under pressure! (and in any other way, to be honest).

I had a great time drawing the explosions, although it was pretty clear I wouldn't have enough time to make a lot of different enemies. I'm too slow :(

With the music I was lucky. I used SoundTracker about 10 years ago and it hasn't changed at all (I don't know if this is good or bad). I started with a bass line and it was easy to get a shot'em up feel. I'm happy I used some time for the music, it adds a lot to the final result.

I made some effects with Audacity and the laptop microphone, and finally I generated some extra sounds with sfxr (although my first try with mouth-generated explosions was quite nice too).

Programming

Evidently I didn't have any plan whatsoever, so I had to face a lot of problems when I was tired and after lots of hours programming (after my work day, of course) because I didn't know how how to implement what I had in my head.

One of the critical moments was when I was programming the circular hordes: according to the sprite it was a good idea that they shoot to the player, but I was getting the maths wrong because the aliens seem to have sight problems (or even worse, a drinking problem).

That was Saturday, 8 hours left, and trying to understand why your Python code for the formula of the line between two points is wrong... it's quite stressing!

I think I wasted a lot of time with that and refactoring code because I didn't know PyGame well enough. Besides I had to test the game script to see if it was playable just hours before the deadline.

Summing up

It has been a nice experience, although I think I can improve the results and (probably) make the whole process more pleasant and less stressing. So count on me for the next PyWeek (hopefully another game).

Add a comment

Windows bundle uploaded

Although I made the final submission yesterday, I gave it a go in an old Windows laptop my partner has around here and I've uploaded a ZIP file with a Windows bundle.

It is exactly the same game that has been py2exe-processed to provide an easier experience in Windows systems.

Disclaimer: it's been quite painful and it's my first time with py2exe, so I'd appreciate if you use the source code version in case the Windows bundle doesn't work for you.

To my surprise the performance of the game in Windows is notably better than in Linux, comparing an old 1GB Celeron bloated laptop with my regular 3GB i3. It's probably something related to graphic card drivers I guess :(

PS: I believe this is "legal" (I got a mail from Richard saying that I have 24 hours to upload the game). If is it not, please let me know and I'll delete the file!

4 comments

Final version uploaded!

Well, there are 6 hours left, but to be honest... I'm exhausted.

In game screenshot

The final version is better than I was expecting, despite I made few mistakes that wasted time and energy. In fact, it looks like a game! :)

So I'm quite satisfied. I'm not sure if the difficulty and the progression are correct, so it may be too hard or too easy depending on your skills. At least I hope you enjoy playing it for few minutes (it's not too long).

That's it. Now I'm going out to have dinner with my partner, that has been very supportive for the last two days. I'll write a post-mortem in the next few days. Cheers!

2 comments

No news is good news

I spent most of the first two days looking for ideas, inspiration, something that I could implement... and it was completely useless. I was completely paralysed.

Then I started to wonder if that was the problem. I always end doing nothing because... I don't start anything at all or I get lost in a vague idea that I can't implement. So, what if I just start doing the first thing that comes to my mind? And that's what I'm doing.

Game menu screen

I know I can't finish a complete game. Basically because two reasons: first of all I'm not a graphic artist, but at the same time I so perfectionist that I kind of need it to look "reasonably good" (meaning: time waste!), and secondly the game genre I'm implementing needs an engine + a game script, and I don't think I'll have time for both. Well, at least I'll try to submit something playable!

So far I have a player, a basic engine, the game loop and all the menu, score, hit count, and "game over" bits. I have one day left to create some enemies (graphic frustration guaranteed!), power ups, and write an script for at least one stage.

I've created all the media with mtpaint, gimp and audacity (wait for the explosions!); and I'd love to compose a sound track with soudtracker, but I'm not sure if I'll have the time (and the inspiration!)

Finally I'm discovering how cool is PyGame. This is my first "serious" project with it and I've found it makes a lot of stuff for you (in fact it does a little bit too much, feels like it's spoiling the fun of programming a game!).

Wish me luck!

Add a comment