Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2

Author Topic: Python programming! Too much inspiration, too little skill (and goals).  (Read 5834 times)

The Moonlit Knight

  • Bay Watcher
    • View Profile

Well, I'm teaching myself Python. It's going all right; I'm no longer the clueless non-programmer I was a week ago (i.e. I know the difference between a hash table and a hole in the ground) but I'm nowhere near the level of competence I need to do anything I want to.

My ideal project at the moment is a roguelike set during and after the apocalypse, a great big sandbox adventure of survival and reconstruction, forging new lives and forming new societies amidst the ruins of civilization, that sort of thing. It all seems fairly logical and simple in my head, but turning ideas into code is a whole other story, obviously.

I'd someday like to create a game akin to Cantr or Faery Tale Online; building an entire world from the ground up, populated with nothing but beasts and other players, no NPCs or quests or anything at all that isn't player-made. At the moment I'm imagining my (imagined) post-apocalyptic roguelike as such a game. It's always a wonder to me that there are: 1) so few MMORPGs that genuinely encourage roleplay; 2) so few MMORPGs that do anything at all with an acceptable level of competence; and 3) so few games in general that make good use of a post-apocalyptic setting, which has appeared in other mediums of fiction endlessly. If I could somehow create one game that fulfills all three of those goals, I think I could consider myself a pretty decent game designer/programmer/everything else it takes to make such a gigantic project.

But uh, since I have no possible way of accomplishing such a thing at the moment, I figure I should learn a damn thing about the language I've decided to use. So I come with some questions.

Anybody have any suggestions as to what I should have a shot at programming? Shout some things out, they don't even have to be games so long as they're interesting (which is an entirely arbitrary judgment, I admit).

And, has anyone else here taught themselves Python? How did you manage that? I'm sort of caught between reading every Python book I can get my hands on and, y'know, actually writing any code whatsoever. I don't know which is a better place to start.
Logged
A man once said to me, "If you want superpowers, all you have to do is take acid and you'll have any superpower you want." He then asked if I had just, at that moment, shaved half my face; I revealed that as being my superpower. Being suddenly and inexplicably half-shaven.

Duke 2.0

  • Bay Watcher
  • [CONQUISTADOR:BIRD]
    • View Profile

 I'm trying to move beyond the basics for programming in Python(variables, functions, and anything more complex than a simple calculator), and any online resources you have used to get beyond that would be well appreciated.

 Also, do you use Pygame?
Logged
Buck up friendo, we're all on the level here.
I would bet money Andrew has edited things retroactively, except I can't prove anything because it was edited retroactively.
MIERDO MILLAS DE VIBORAS FURIOSAS PARA ESTRANGULARTE MUERTO

The Moonlit Knight

  • Bay Watcher
    • View Profile

I'm trying to move beyond the basics for programming in Python(variables, functions, and anything more complex than a simple calculator), and any online resources you have used to get beyond that would be well appreciated.

 Also, do you use Pygame?
I've been getting books on Python programming from peer-to-peer sources. I haven't bothered to check the copyrights on the books so I can't attest either way to the legality of it, but to play it safe I don't think I'll mention the specifics on how I came across them. I don't think it's all that hard to find such things if one is so inclined, anyway.

I know Python.org has some half-decent documentation and tutorials, and I've gotten some good info from rec.games.roguelike.development and RogueBasin, though obviously just on the topic of roguelikes. There are some links scattered throughout all those that might prove useful in other fields, though.

And I was thinking of looking into PyGame, but no, what little I've done has been in the Doryen Library. Have you found PyGame useful? Or are you just trying to learn it and see?
Logged
A man once said to me, "If you want superpowers, all you have to do is take acid and you'll have any superpower you want." He then asked if I had just, at that moment, shaved half my face; I revealed that as being my superpower. Being suddenly and inexplicably half-shaven.

Duke 2.0

  • Bay Watcher
  • [CONQUISTADOR:BIRD]
    • View Profile

 I mostly used Pygame because the best online tutorial on programming I have ever found uses it.
 Full series here.

 I figured I would screw around in Python and learn the basic problem solving before getting into an actual library.
Logged
Buck up friendo, we're all on the level here.
I would bet money Andrew has edited things retroactively, except I can't prove anything because it was edited retroactively.
MIERDO MILLAS DE VIBORAS FURIOSAS PARA ESTRANGULARTE MUERTO

The Moonlit Knight

  • Bay Watcher
    • View Profile

Wow. That is pretty extensive. I think I'll be reading through that. So far, most of the tutorials I've found on Python have only been a look at the very basics of the language (though I'm reading a book right now that seems to be a front-to-back walk through everything one would ever need to know to start programming in Python) and what scattered info I've found has been beyond my understanding.
Logged
A man once said to me, "If you want superpowers, all you have to do is take acid and you'll have any superpower you want." He then asked if I had just, at that moment, shaved half my face; I revealed that as being my superpower. Being suddenly and inexplicably half-shaven.

Keiseth

  • Bay Watcher
    • View Profile

Awesome! I love Python. I've used three languages thus far: (Spidermonkey) Javascript, C++, and Python, and it has to be my favorite for a ton of reasons.

Anyway, I'm not an elite programmer either, but I've been working at it for about a year or two now. If I can offer any help I'd be glad to! I'm pretty decent with Python + Pygame right now, and I'm probably rusty with C++, but if you have any questions we can figure 'em out together here. 3+ Minds are better than one, right?

I have a couple of projects going right now myself, Fualkner and I are working on a slightly insane Roguelike (for instance, it may or may not have Gatling Cellos) and to further that I'm working on a library that runs over pygame to speed stuff up or provide easy to use common features (text boxes, word wrapping, etc.)

I had been working on a simple OpenGL front-end for pygame, but I got stuck on one little part and shelved it. (Particularly, using portions of textures rather than a whole texture. OpenGL is very confusing to me, but it's also really effective at what it does.)
Logged

Armok

  • Bay Watcher
  • God of Blood
    • View Profile

Funny, I'm trying to learn python to, so I'll be checking out those two. Otherwise I program in c++ (which I keep finding inadequate, and thus haven't used for a while), and Linoleum (which is made of awesome, but machine level and thus some stuff can be very hard to do that'd be a single line in a high level language).
Logged
So says Armok, God of blood.
Sszsszssoo...
Sszsszssaaayysss...
III...

Keiseth

  • Bay Watcher
    • View Profile

Wow, someone else who knows about Linoleum! That's awesome. Yeah, it looks to be pretty incredible if the scope of it fits what you're doing. So much work to do simple things though... at least, I imagine it's pretty rewarding if you get a program going for it.
Logged

SolarShado

  • Bay Watcher
  • Psi-Blade => Your Back
    • View Profile

Quote
Gatling Cellos
MS Paint Adventures reference?

I've never used Python, Java's what i use. Also done some tinkering with perl. I do have a little advice tho: code. Onec you've got the basics down, it's easier to learn by doing.

As for your prorgamming mega-project, start with a simple part of it, then another simple part, then another. Then you can start putting them together. If the pieces don't fit, you should be able to figure out how to make them fit, since you made them.

Hope that helps some.
Logged
Avid (rabid?) Linux user. Preferred flavor: Arch

Future

  • Bay Watcher
    • View Profile

Ive been trying to learn python for a while now and ive still only got the basics down (apparently im a slow learner when it comes to programming) so do any of you know of any tutorials of a text based rpg?
Logged

Derakon

  • Bay Watcher
    • View Profile
Re: Python programming! Too much inspiration, too little skill (and goals).
« Reply #10 on: March 07, 2009, 01:55:43 pm »

I've been using Pygame for my projects, and it works quite well for most 2D things.

If you want a good introductory project for Pygame, I'd suggest trying to make Tetris or Bejeweled or a similar puzzle game. They tend to have comparatively simple systems, so you can get a working game made without nearly as much trouble as a game with actual physics requires. However, once you do have a working game, you can easily extend it to teach yourself more about how things work (e.g. smoothly animating falling blocks, playing a sound when something happens, taking input from the mouse).

Roguelikes have a lot of logic behind them, but relatively little assets (graphics, sound effects, et cetera). It'll take a lot of skill to make a playable roguelike, and a lot of tweaking to make a fun roguelike. Not to discourage you or anything; there'll never be enough roguelikes! But you need to keep your goals realistic or else you'll just get discouraged, and in my personal opinion, a roguelike is an overambitious first project.

Mind, it's nowhere near as bad as the legions of people I see wanting to make MMOs as first projects. *sigh*

For general help with game development and design, I'd recommend hanging out at the GameDev.net forums, though the Game Design forum there tends to have a lot of navel gazing.
Logged
Jetblade - an open-source Metroid/Castlevania game with procedurally-generated levels

Keiseth

  • Bay Watcher
    • View Profile
Re: Python programming! Too much inspiration, too little skill (and goals).
« Reply #11 on: March 07, 2009, 03:00:04 pm »

Ah, indeed. MMOs as a first project... ridiculous. Networking code itself will take you ages, let alone the actual game!

My first project was an RPG, which is a pretty bad first project really. Though it does teach you a lot all at once, it's a bit daunting. My second was a platformer engine, which taught me what the RPG didn't. Though for these two I was using Sphere and Spidermonkey, which provided me with the map engine and a good sprite system. Even a full IDE designed to these ends!

Quote
Gatling Cellos
MS Paint Adventures reference?

Actually, it was an accident, but there is a distinct resemblance. I started reading MS-Paint adventures afterwards, however.

Fualkner's idea is to have an item system where you can make things from parts, using some sort of interface for the placement of pieces. It's pretty ambitious, and we joked about players making ridiculous violin-guns or double bass hammers and so on. The more ridiculous, the better, I say!
Logged

SolarShado

  • Bay Watcher
  • Psi-Blade => Your Back
    • View Profile
Re: Python programming! Too much inspiration, too little skill (and goals).
« Reply #12 on: March 07, 2009, 03:07:22 pm »

I've never used an IDE, I tried once or twice (half-heartedly) and it seemed almost as complicated as the language itself.

I lol'd at the thought of someone trying an MMO for their first project... Although one of my early projects was a simple IM-like app. I did a lot of tinkering first and the comunication protocol I used was simplistic to say the least, but it worked fine.

@Kiseth: Sounds like a cool project, anything remotely playable yet?
Logged
Avid (rabid?) Linux user. Preferred flavor: Arch

qwertyuiopas

  • Bay Watcher
  • Photoshop is for elves who cannot use MSPaint.
    • View Profile
    • uristqwerty.ca, my current (barren) site.
Re: Python programming! Too much inspiration, too little skill (and goals).
« Reply #13 on: March 07, 2009, 04:59:01 pm »

I had been working on a simple OpenGL front-end for pygame, but I got stuck on one little part and shelved it. (Particularly, using portions of textures rather than a whole texture. OpenGL is very confusing to me, but it's also really effective at what it does.)

When defining the texture coordinate for a point, you can use fractional values instead of just 0 or 1.
Logged
Eh?
Eh!

Keiseth

  • Bay Watcher
    • View Profile
Re: Python programming! Too much inspiration, too little skill (and goals).
« Reply #14 on: March 07, 2009, 06:09:04 pm »

I always wanted to make an IM client or something, to learn networking procedures. And yeah, IDEs pretty much just slow me down currently. The Sphere IDE was nice though. It was basically Notepad ++ for the code (scintilla, anyway) and a bunch of associated things; image editor, sprite editor, and map editor, all launched from a project view screen. It was very 'lite' and easy to use*.

*(Edit: But pretty much purely for use with Sphere and spidermonkey javascript. You could presumably write something to use the sprite files it saved, however.)

Nothing playable yet unfortunately, was still doing backend stuff. I had a demo of the map engine and velocity system, wherein you could walk around with a bunch of other randomly moving NPCs. It took a while because of the overly complicated method of movement, but would allow things like people charging, then getting hit and slowing down, or pushed all the way backwards, and so on.

We started over to replace the tile-based system with something else, either tiles smaller than most creatures to allow multi-tile creatures easily, or no tiles at all.

When defining the texture coordinate for a point, you can use fractional values instead of just 0 or 1.

I swear I tried that, but I must not have. My code was getting so cluttered, as I was integrating it into the standard drawing code I made. Things like image object containers had to be replaced and... it was a nightmare. Thanks a lot though! I'm going to try this later.
« Last Edit: March 07, 2009, 06:12:41 pm by Keiseth »
Logged
Pages: [1] 2