Tower Climber

I know I threw in the towel, but I'd like to submit this.

Tower climber:Kind of a tech demo, mainly to show that I've actually been doing something since I forfeited :P

The RPG engine I mentioned in IRC is waiting on me making an RPG system for it. :P

Awards

Give this entry an award

Files

File Uploader Date
TowerClimber.py
Arrow Keys to move, Space to jump, "r" to reset
Akake 2008/09/13 18:54
FribaSprites.png
Revised Main Character Sprites
Akake 2008/09/07 19:06

Diary Entries

Thoughts On The Evening Before

Well, here we are, about an hour before the compo. It's beginning at 8 PM in my time zone.

Truth be told, I'm kind of nervous. Not so much about whether I can finish, but about whether I will be able to make a high-quality game.

Thus far, I've had trouble making really good games. I've made some pretty okay ones, but never one that was full-on awesome. That's really what I'm hoping for.

I will most likely be using rectangle-based collision, as anything more complex is beyond my knowledge of mathematics, and grid-based games have been problematic for me in the past.

Geez, in an hour, the first competition of any sort I've been in in a year will start. I guess at least I'm somewhat in my element.

I will be developing my game on my laptop, and will be committing myself to only using Pygame. I mean it, I'm not even going to use Numpy. That way there should be few to no problems for people running my game from source. WINE has not been able to get Py2EXE working for me, and I have no other viable way to package a Windows executable.

I'm nervous about whether I can make this game great, though. I know I can finish it on time. I'm absolutely certain. I know my focus is going to have to be quality. I've gotten well-made games going, don't get me wrong, but I have trouble staying focused long enough to create depth in a game. That's my problem. That and my mediocre Inkscape skills, my below-average GIMP skills, and my neurotic coding habits (IE:"NO!!! It CAN'T just copy the coordinates without copying each one separately! I don't care if it's a tuple! ARGH!!!")

Don't get me wrong:I'm reasonably certain I won't, you know, mess up really bad, I'm just a little nervous. ^^;

Geez, this has taken me fifteen minutes to type. XD

But, yeah, there are my thoughts going into this as a first-time competitor, in his first year of community college, and with little to no knowledge of high-level geometry, any calculus at all, or even a solid foundation in the sorts of mathematics that might be useful in a game development compo.

Man it feels good to get all that off my chest *Sigh of relief*

2 comments

The Dilemma of a Piece of String

So, now what?

The theme I thought would come in dead last won. Heh, guess that means I'mma have to rethink things.

My most complete idea so far is a "Bionic Commando-style" platformer, but I have a few other ideas, not many of them are to my liking, but I'm going to have to pick one eventually.

I like the thought of a steampunk game integrating String/Rope as a gameplay mechanic. I'm not sure how to implement that, though.

The Dilemma for me is thus:Do I do a platformer and have potential issues with programming it, or do I make something wierd and have problems thinking it up even if I can think of something simpler to code?

Grah, it's not something I should be thinking about late at night. DX

All things considered, though it's a tough theme, it kinda lends itself to some fun, whimsical games. I admit, I didn't like it at first, but I can kinda see what the people who ranked it as a high preference of theirs saw in it.

I can't think of anything right now, but I know for a fact that I can think of something fun. ^_^
Just gotta keep plugging away. Keep plugging away.

I'm tired, though. I'm prolly going to go to bed soon. The real design work begins tomorrow.

Add a comment

The Game Plan!

I've come up with a concept for a game.

I woke up really early today (About 3:00 AM where I am), and got some ideas down. Now, I've had a few ideas for this theme, but most are either beyond my abilities (Or at least beyond the point where I have confidence in my abilities), or they lend themselves best to arcade-style games, which I wanted to avoid in this challenge. Some, like mouse wrangling, could go either way, others would involve a wee bit TOO much geometry, such as the "Bionic Commando-style" idea.
I have a plan, though.

Most of the more fun concepts I came up with involved lots of silly made-up words (Like "Hoozpicket" or "Frobnitz"), and I chose one of those ideas.

I do not have any art yet, as I've been working on my collision detection. I plan to use pygame.Rect for game entities, and a polygon-based collision system for the playing field.
This will work by checking whether any of the lines in the polygon pass through the entities' collision rectangles, which will be checked by checking whether the point on the line that falls on the horizontal center of the rectangle is inside of the rectangle.

Work thus far has been promising, and by that, I mean that I have been able to find the point on a line for a given X or Y coordinate.
It may be a little early to judge, but I think I have severely underestimated my proficiency with geometry.I'll have some concept art up as soon as I have my collision system done. ;)

The game centers around a race of people known as the Freebnots. They are a tiny people who build their cities out of string and little bits of wood. The Freebnots stand about six inches in height, and tend to have auburn or brown hair, with deep blue or brown eyes. They dress in clothes made of bits of material they lift from "The Giants" (IE:Humans ;)), with the most wealthy among them dressing in faux fur. They dwell in cities high up in the trees, in buildings made up of bits of wood held together with string in an elaborate system of knots. They speak in English, but use their own sorts of names instead of human ones. (IE:They have silly names like Nimbil, Renina, and Yillider)

The game's protagonist is a young Freebnot woman named Friba. She is a treasure hunter, and the game is about her search for a great treasure:The Crystal Pearl. This "treasure" is, in fact, an opalescent glass marble, but these people are six inches tall and live in trees. To them, it's is a priceless jewel. ;)

While I'm giving physical descriptions, Friba is a bit short for a Freebnot (IE:About 5 and 3/4 inches), and wears a faux fur gown. She has long, thick auburn hair and brown eyes.
She is very tough, and can fight most enemies hand-to-hand. She also carries string, and can use it to tie up enemies and form bridges across gaps. She can also jump impressively.

The levels will be made up of various wood-and-string platforms with string bridges as well. The enemies will mostly be things like squirrels, other Freebnots, and some other whimsical sorts of creatures I haven't thought of yet.

There. Got it all down. :P

And the theme DOES factor in in more than the fact that string is involved, in that the player has limited numbers of piece of string of different lengths. This makes the length important, as the player must use the correct length. :P

Yay for four-in-the-morning ideas! XD

I wish everyone the best of luck! ^_^

Add a comment

String Physics... | 22 Steps, with 2 Already Done

I think I might be the only person making a non-puzzle game that doesn't use any actual string physics...

Anyone else out there making an Action/Adventure game without string physics? XD

I've also uploaded a pic of my game's protagonist. I've gotten all of her sprites done, too.

*Loves Inkscape because he can do decent work in it very quickly*

I'm currently going to be testing out my graphics and controls, just to make sure it all works.

----====----

I'm also going to post my to-do list at the end of "Progress update" entries.

1.Come up with idea (DONE!)
2.Make Sprites of Player Character (DONE!)
3.Test player sprites and polygon collision engine. (Current Task)
4.Fully implement combat engine
5.Make simple enemy sprites
6.Test combat engine
7.Make sprites of enemies
8.Test enemies
9.Make and test enemy spawners
10.Make and test level-scrolling camera
11.Make scenery object sprites and object templates
12.Write code to save and load levels with Pickle
13.Write code to save player game status
14.Write code for creating rope bridges
15.Make Levels
16.Create menus
17.Package Game
18.Testing Version upload
19.Final debugging
20.Final Release


There! I'll be uploading files as I progress as well, including any successful test scripts, so anyone who's curious about what I've been doing can see what sorts of progress I've made.

I'll also be uploading screenshots as I go.

And as for those steps, two down, twenty to go!

----
(EDIT) - Fixed the numbering of the steps! I guess I only have eighteen left to go! ^^;
----

1 comment

Design Revisions

I've looked over my plans, and I've found a hole:String as an item. :P

I'm thinking I'll simplify my concept a bit by removing the limit on player string. I think it'll be generally beneficial to me to do so. I may also remove player-created string bridges.

Officially speaking, I'm putting both on a "If I have time" list. I have to study for a test this week, so I'm going to be very busy. I'm confident I'll finish, but I'm going to really have to work hard and not get side-tracked.

Add a comment

The day so far...

Well, still working on getting the player control tests done, but with the amount of things I have to implement to make that happen, this is the bulk of the dev time. XD

I've gotten on to the point where I'm creating the game world. I've gotten Python to import my polygon collision and game entity modules, as well, which I got confused with because they are in a subdirectory of the directory my test script is in.

I probably won't have the test script up and running until sometime early tomorrow, but you never know! ^_^

I've been kinda sidetracked today, but at the rate I'm going, I'm very confident that I'll finish.

I've tweaked the main character's sprites, and gotten a few extra in there. If I add any more at this point, they'll be "Idle" poses for when no buttons have been pressed for a little while.

I'm thinking of uploading a sheet of her sprites, too, to see what everyone thinks of her.
I'm getting pretty good with Inkscape ^^

Add a comment

Pictures of My Main Char



Sprites for my Main Character, Friba. Yes, she has lots of hair.

And... If the image doesn't load, I'd appreciate a little help getting it to. It isn't in the previews of the post anyway... ^^;
----
EDIT:Never mind, got the image to load! ^_^

2 comments

Design Revisions... Again >_<; | Maybe I should start over...

Today, I plan to get to a point where you can move, jump, and attack with uneven terrain.

I should have it done at some point later today.

I have also simplified my design, and will be writing a "terrain" engine in place of hand-making levels. It will make random environments, and... Well... Oog.

My designs are getting revised alot. I think it may be a bad sign.

I keep second-guessing myself. *Sigh* I'm starting to think that I might be better off dropping this concept and trying something different.

At the same time, I feel like I'd look flaky if I gave up on this game. Don't get me wrong, if I gave it up, I'd still submit an entry, it'd just be a different game.

The issue I'm running into is that I can't keep my design focused. I'm all over the place, and I'm having a hard time keeping a single set of ideas for the game.

I have a question:How bad would it looks to drop this concept and try a different one?
Feedback is greatly desired. I've never entered a game development compo before, so I'm unclear as to how dropping a game in favor of starting over with a new concept is viewed.

----====----====----

I've made my decision. I'm going to drop the idea in favor of finding a new one.

I don't think I can do make a good game out of this idea. I just don't.

I'll post Plan B later when I think of it ;)

Until then, I'm gonna sit and have a good think about it, and study for that test I have coming up.

----
RIP:Friba the Freebnot - An endless series of design modifications that lost track of what it was originally about, and wasn't really a very original idea to begin with.
----

3 comments

Plan B...

I... don't have a Plan B yet.

I have lots of ideas, but I can't make a game out of any of them. D:

Worse, almost none of them fit the theme...

I'm kind of worried about whether I can finish...

Ah well, it's my first compo. I can't reasonably expect a resounding success my first time out, right?

I still wish I could think of an idea I could actually make a game out of, though. ._.

I'm sure I'll think of something, but I know the theme will be trouble for me...

*Sigh* All I have are fragments of concepts and dead-end ideas right now.

I have to stay positive, though. I... just wish I could find a good idea...

C'est la vie, and all that, I suppose. :/

----====----

Bleh, I'm not going to get anywhere feeling sad about my lack of ideas.

Question for my more experienced fellow entrants:How important is the theme?

I have a handful of ideas that could be fun, but none even involve string, much less the length of a piece of it. If the theme isn't, like, super-critical, I'll have some ideas to use.

That's been my main stumbling block so far. I have next to no complete concepts involving string. :P

So, again:Would maybe just touching on the theme a bit, rather than tightly integrating it, get me disqualified, or would I be OK?

It's kinda bumming me out seeing almost all of the topics on the messages page saying things like "Idea chosen!" "Progress made!" "I have this great idea...", when I don't have a clue :P

All I can think of with string is tieing things up, and I can't get a complete idea out of that...

5 comments

Rethinking Things...

I've looked things over, and decided (While admittedly being nervous about looking like a flake, or like I'm just going to go between grandiose plans and forlorned moping through the whole week) to retry my old idea, but to think it all the way through this time. Instead of focusing my efforts on backstory, I'm going to focus on the gameplay.

(Sorry if I'm sounding kind of annoying posting stuff like this... ._.)

----====----

Just as an update(Without making yet another post ^^;), I'm currently replanning the game. I hope to have at least a working demo and a few levels by week's end.

I'm rethinking alot of things about it. I've done away with combat completely. It's just going to waste time and lead to a game that relies on having the player Beat Up The Bad Guys instead of giving something actually fun.

I'm going to derive all of the fun from the platforming elements.

And... Now I'mma get to designing this thing! (Finally! XD)

2 comments

Progress as of Tuesday at 4:15 AM EDT

I've made great strides this morning. I have a my graphics made, save for background decorations, which I will do later if the game feels lacking without them.

I should be able to get something playable sometime today or tomorrow.

Of course, once the thing is playable, all I have to do is implement the random level generator.

So... All-in-all, it should only take me a few days this way! :D

Which is nice, because I have homework to do this week, too XD

1 comment

Progress Today:Maybe Not So Much

I had classes today, including my Only-Meets-On-Some-Days programming class, which extends my school day by four hours, because while it's a pretty standard two hours long, it's scheduled two hours after my intro to information technology class. @_@

I may or may not be coding, but the good news is that I have little homework to do, and no more classes until after the compo! \o/

1 comment

Thursday -- The Plan For Today

Today I hope to get the bulk of the work done. There isn't too much to do, but it needs to be done. I've been mostly making the code up as I go along, but it's still coming along. I should have something that can be tested some time today, and probably at least have it fully playable and working by tomorrow, possibly with the option to tweak some of the settings of the level generator.

I'm giving the responsibility for collision detections to the player object, as well as responsibility for movement. I've also decided that the level generator object will have a platform maker-and-positioner as one of its attributes. That should greatly simplify writing the level-generating code. I've made five different platforms:Four normal ones and one for the goal point of the level. I've also made sprites of branches complete with string holding on to the platform, and also some of string coils for attaching one platform to another. The platform maker will position those automatically.

The level generator which will operate the platform maker will have the following settings, which I will add the option to tweak from a menu if I have time:
1.Length of Level (In feet, automatically converted to inches, then to pixels)
2.Density of Platforms (By how many per five feet of level on average)
3.Platform Height Range (By how many feet the platforms can be apart height-wise)
4.Platform Height Preference (By what part of the screen)

Also:Option #4 will have more of an effect as the value of option #3 decreases

The acceptable ranges of value for these parameters are as follows:
1.Ten to Fifty
2.One to Four
3.Zero to Three
4.Low, Middle, or High

Also:Number settings from menus will be in the form of "Sliders" that will only allow whole numbers, settings from within the code, though, can be any number.
(It's worth noting that I've put this under the GPLv3, so you can go ahead and change the level generator around so that it can accept different values. It's fine. I'm just setting mine up so that it can only be set up to use those values)
In the menus, the up and down keys will change the selected menu item, and enter will pick it. Also, moving the mouse over an option will select it, and clicking it will select it.
The one exception to this design will be the level generator settings menu. There, the left and right keys will select the option, the up and down keys will change the setting slowly (IE:Increase or decrease by one at a time), and the page up and page down keys will change the setting quickly. (The Density by two at a time, Length by five at a time, Range still by one at a time, and will set Height to High with Page Up, Low with Page Down). The mouse will work as well. Left-clicking an option will increase it like page up, except for Height, which will increase by one. Right clicking does the same, but decreases it. The mouse wheel will change values by one, increasing them when it is rolled up, and decreasing them when it is rolled down.

I've also worked out the controls. The A and D keys will make the player move left and right, the space bar will make the player jump, and the Q, W, E, and R keys will make the player throw the string at different angles. I may implement using the mouse to throw string, if I have time.
The player will be able to run at about five feet per second, jump up about five feet, and throw the string about three feet.

So... I have a plan for this, and I'm sticking to this one. :D

Nice and simple, easy to implement, and should be fun to play, too. ^_^

Now I'mma get back to coding. ;)

Add a comment

Collision Detection - A Lesson Learned

I'm... really disgusted with my collision detection system. It's terrible. I tested it. Things jitter, shake, and twitch, and I'm not even using physics. D:

*Sigh* I guess now I have to either redo everything using pygame.sprite... or have a really bad entry.

It's looking more and more like I won't finish.

Now I need to learn pygame.sprite in under three days.

*Hangs head* I wish I hadn't been so stubborn about coding everything the hard way. Now look at it. It's a mess. It's a horrible mess.

I'm debating whether I want to continue. I want to finish this game, but I'm not sure how badly I want to. I've got it stripped down to its core and I still can't get it to work.

I may not submit my entry. In the state it is in now, I don't want it out in the world with my name on it. I will be trying to rework the collision, but I'm not sure how quickly I can do that, and I still have to figure out the level generator.

I'm very pessimistic right now. I've looked over my collision code, and it would be extremely difficult to fix it, and the resulting code would either be a monstrosity, or take a day or two for me to get working properly, depending on whether I fix what I have or start over on the collision code. And implementing pygame.sprite, from what I know about it, means that very, VERY little of what I have code-wise, and even then only game constants, will still be usable.

I'm still thinking it over, but I may decide to forfeit. This project has been one disaster after another. I want to have an entry, I don't want to look like a twit entering in a contest and then giving up, but I don't know that I can finish. So I may be giving up.

It's been fun, though. And I'll definitely enter again, but this time around I don't think I'm going to be able to get it working in time.

Not sure how to end this message, but... That's it, I suppose. :(

----====----

I'm leaning towards giving up. If I do, I'll probably finish this game later, but I'll shelve the idea for when I've learned pygame.sprite.

It was really foolish of me to try to make a platformer without using it, but it's really counter to the way I'm used to thinking. I have a hard time with high-level libraries. :/

I really don't feel comfortable submitting this as-is, but the stress of trying to debug the collision engine may be getting to me.

I'm unsure of whether I can finish in time. I can't figure out pygame.sprite for the life of me, and I need it to do the collisions correctly. :/

Any good tutorials on sprites in pygame? Or should I just throw in the towel?
Feedback would be really appreciated.

----

I'm reading through a tutorial on sprites, and I'm also learning just how little Python I really know. ._.

I'm officially putting my project on hold for now. I haven't decided whether I'm going to forfeit, but it doesn't look like I'll be able to finish in time and not miss most of my homework.

It's been fun, guys. Hopefully it'll all go better next time around.

1 comment

(Not my)Final Entry - Sorry for the drama

I just talked to my friends about my decision. One of them gave me some pointers.

I really hope I haven't been too much of a bother. A friend of mine who has lots of experience has decided to help me learn the things I'll need to know.

I'm sorry for getting emotional like that. That's something I need to work on not doing.

I really want to apologize to anyone who's been bothered by my being really moody like this. It's been really stressful this week. More so than I had expected.

I guess I've kinda been using this as a vent, and I really shouldn't have.
Sorry. ^^;

Add a comment

Getting Down to Business

Okay. I had a talk with a friend who pointed out to me that if I did this all Pythonically, it wouldn't take as long as it looked like in my weepy-eyed, pointy little head.

I've been looking through some tutorials on pygame.sprite, and I've realized that it won't actually take that long to do this, if I do it intelligently, don't get frustrated and burst into tears, don't get side-tracked, don't add features, and don't constantly check for new comments and posts on this site.

So, with under 72 Hours to do this, I'm going to give it my best and try not to get discouraged again, as I know it can't be fun having some first-timer get all sad and give up because his engine isn't running correctly. Besides. If I don't, I know I'll always regret it. I started regretting it minutes after making the decision. And I don't want to do thing's I'll regret if I can help it.

Please forgive my dramatics. I'm very new to these things, but that isn't an excuse.

On with it, then. A whole engine in a short amount of time.

9 comments

Progress for Today

Despite my getting all emotional earlier, I have made some progress.

At this point, I just need to finish up the player character code, write the level generator, and then get a menu put together.

Amazing what you can do when you just sit down and write code for a couple hours. It's a habit I should really get into XD

I also have a new collision engine. I've used pygame.sprite, or at least the basic parts of it, which has allowed me to base the collision response on rectangles, which will hopefully make it much more platformer-ish, and less room-full-of-overcaffienated-tourettes-patient-esque. :P

I should have the something playable, not necessarily with menus, settings, or anything, but playable some time tomorrow. I plan to get back to work later today, and maybe pull an all-nighter tonight.

Also, anyone know of a good, idiot-proof IRC client for Linux?
I'd like to get on #pyweek, but I haven't been able to get an IRC client to work. I can never get any of them to connect to a server... ^^;

Any help there would be appreciated.

----====----

Never mind on the IRC thing. Someone in another topic just suggested a good one. :P

Add a comment

Today - Bug Hunting:Not going so well

First, it showed nothing but my background fill

Now, it shows things, and the character's sprites change... But nothing else works.

You can't move, the string grapple goes in all sorts of wierd directions, it's a mess!

*Sighs* It's looking like I won't finish. I'll try my hardest, but it's looking less and less hopeful.

I really thought this was going to work. I just don't.

Pymike tried explaining his platform collision technique to me, but I still don't understand how it works, I've been absolutely killing myself over this, and it's just a big %#$^ mess.

It's unlikely I'll finish at this point.

Hopefully it'll all go better next time. ._.

Add a comment

Calling it Quits - What I've learned here, and what will happen to my game

It's looking like my game isn't going to make the deadline.

I've decided, in a calm mindset, after being talked down from major drama-ism, to just let this one go.

I'll be making Friba the Freebnot, but after the compo is over, and after I've gotten a couple other, simpler platformers under my belt.

I'm just gonna kick back, ride it out, play the entries, and be more prepared next time. :)

So this is pretty much it. It's been a bit of a roller-coaster for me, but I've learned some things about game making.

1.Keep simplicity in mind, or it will escape you:
----My movement scripting was vastly more complex than it needed to be. I had this problem because I didn't spend time figuring things out before the compo, and moreover because I didn't keep the timeless mantra "Keep It Simple, Stupid" in my heart, mind, and other cheesy parts of me.
2.Never code when you're upset:
----Anyone who read this or has been on #pyweek the past couple days can probably figure out how I found this out. It you're getting frustrated, take a break, go get something to eat, take a nap, play with your dog, or anything else that helps you calm down. You won't find solutions to any but the most obvious errors while you're angry.
3.Always look for help on IRC, but try your best to keep a level head:
----*Raises hand guiltily* I had this issue. I blew off #pyweek until yesterday, and even then, go to people for help with bugs as I found them, which was not a time when I was particularly calm. The people on #pyweek are very kindly patient, but this is not something to take advantage of.
4.It pays to make friends:
----One thing I found out is that if you make friends with your competitors, they're more liekly to want to help you. C'mon, who isn't more likely to help a friend? ;)
5.Remember:It's a game about games. It's not for keeps!:
----This is a problem I had, and I want to share it because I feel that I should at least say it if just to keep it in my mind. There's no firing squad if you quit, but the people who wanted to play your game may be bummed out if you aren't going to finish it later and post it on Pygame.org. There are no angry mobs if your game isn't fun or doesn't work. There's no million dollar prize if you win. It's a game.
Sometimes I need to be reminded of stuff like that :P

I'm shelving Friba the Freebnot. I'm going to make it once I've gone back and learned a thing or two about basic platformers. By then, I'll probably be able to do something with the concept, even something really simple.
Besides, she looks too cool to not use. I surprised myself with my Inkscape skills. Heh, all those games I did assets for but never coded payed off! XD

It's been fun overall, though. I really look forward to the next Pyweek, and I'll be more prepared for it! ^_^

*Takes a deep breath, and smiles*
This time around, though, like, I imagine, alot of peoples' first game making compo, I'm gonna take what I learned, what I can use, and all that, and just relax, play the entries, and try to do better next time.

1 comment

Tower Climber - At the Last Minute

I've submitted a little demo of some work I've been doing on platformer systems since I shelved Friba.
----

Left and Right keys - Move
Space Bar - Jump
R key - Reset Game
Escape key - Close Game

It's a little last-minute, but I thought it was kinda fun, and wanted to share it ^_^

3 comments