WolfShield 32 Posting Whiz in Training

Hello Jake 1,
While I don't have much game programming experience I can tell you about PyGame. It has a lot of components for GUI games, but I'm sure you can make text-based games with it as well. At a very minimum it will give you a more game-based place to look for the documents you said you wanted.

If you are looking at game programming in the future, if that is something you think you would like to do, I would also point you towards Unity 3D. A good buddy of mine has programmed in it for several years now and really likes it. It is simple, powerful and has a free version. You have the choice of programming in three languages: UnityScript (JavaScript), C# or Boo (Python-like).

I once started a text based game in python, never finished it but as far as advice I can give you on that, a thorough understanding of the basics is essential. Your basic print and input, functions, switch-cases, lists and classes are the places to start, you will use them constantly. Also, you should learn very well how to use multiple source files in your application; it will help exponentially in organization and simplifying your source code. A structure setup I would suggest is a main file that will run your whole game and a file for each level/chapter/story-line change/whatever you base your game on.

Another piece of advice I can give if you want to save and store game …

ddanbe commented: Good answer! +14
WolfShield 32 Posting Whiz in Training

While I myself have done very little game development, I have a close friend who only programs games. He (read: we) has tried a number of different game engines (2D and 3D) and for the last 1.5 years has decided and loved Unity 3D.

I have used Unity myself and can see that it is quite simple for the subject at hand, and yet has several powerful features. It may take a little time to get used to (as any engine would) but I'd say give it a fair shot. I'd even say that it would take less time to learn than about any other game engine would.

As far a languages go, Unity uses a form of JavaScript called UnityScript as the main programming language. C# is almost as popular in it and the last language, Boo (based off of Python) is rarely used, but certanitly can be!

I could keep going on about it but I'll leave you a link instead. :) http://unity3d.com/

Make sure you check out the community, that alone may persuade you. Best of luck!

WolfShield

WolfShield 32 Posting Whiz in Training

Update: I've been using Ubuntu Linux for a few days now and TOTALLY LOVE IT! First day I had to play with it morning 'til night. :) I've written a couple shell scripts, downloaded g++ (from the shell), started using GEdit and started a project in Linux (yes, I've been having fun :D).

@Netcode: I agree that I can't get rid of Windows. There are programs that are not available for Linux that I need for this or that. It also helps to have Windows to test programs on as most people use it. I also agree that most people who use and like Linux are developers. I know why developers like it, I'm just not sure why other people don't so much. It is a little more technical to install and that can frighten non-technical people away. And Linux does seem to have less support for some popular software. However, there may be some hope yet! I found out about this company a while ago: https://www.system76.com/

@sbesch: Yeah, I think you have a really good idea there! I'll start one after this post. :)

WolfShield 32 Posting Whiz in Training

I agree with several points mentioned above.

If you like music write some form of a music editor/player. Video, same thing. Whatever it is, write something that you are interested in. As Apple says: make something you would want to use. It's great practice, gives you something to show and you'll most likely sound passionate when describing it (always a plus).

Open source is a great way to learn from code and to contribute to a project as well.

Learn to write GUIs and not have to use a WYSIWYG. It seems everyone these days only knows Drag-and-Drop GUI development. It will increase your understanding of how it works, and maybe make you more knowledgable than others at the work-place.

Learn several languages (or at least a few). Personally I've used Java, C, C++, C#, Python, Cobra, Haskell, LISP and even played with Assembly. However I only know C++, Python and LISP very well. Each new language gives a new way of thinking, and that can help emmensly. Reciently (and currently) I was working on a personal project in C++ and started longing for some features in Python and C#, so now I know how they work and I can either write those parts in Python and include it in the program, or write C++ code to mimic the Python code. Either way will make my programming easier and faster in the long run.

And my personal favorite: answering questions on DaniWeb! This can be quite fun as you never …

WolfShield 32 Posting Whiz in Training

Defining a function is easy.

def sayHello():
    print "Hello World!"

That's quite simple. Next you need to send it a parameter:

def sayHi(name):
    print "Hello " + name

The previous function could be call as:

sayHi("Michael Jordan Jones")

And it would return "Hello Michael Jordan Jones". Now you need to get the middle name. First let's set a system for doing so:
1) Get full name
2) Split string to get each name
3) Find the middle name
4) Return it

Step one is done by passing the function a parameter. Splitting the string can be done with the .split(' ') function to split it at spaces. To find the middle name you have a decision to make: if it's odd your fine, but what do you do if there is an even number of names entered? I'll leave that one up to you. :D Returning it is just using the 'return' statement.

So, in total you may end up with something like this:

names = name.split(' ')
if len(names) % 2 == 1:
    return names[int(math.ceil(len(names)/2))]
else:
    return "You're on your own here.  ;)"

I hope I've guided you in the right direction. Best of luck!

- WolfShield

WolfShield 32 Posting Whiz in Training

At some point you need to decide if you want to be true to one job place, or true to yourself.

- WolfShield

happygeek commented: Well said +0
WolfShield 32 Posting Whiz in Training

A stranger from the land of Woot came to Master Foo as he was eating the morning meal with his students.

I hear y00 are very l33t, he said. Pl33z teach m3 all y00 know.

Master Foo's students looked at each other, confused by the stranger's barbarous language. Master Foo just smiled and replied: You wish to learn the Way of Unix?

I want to b3 a wizard hax0r, the stranger replied, and 0wn ever3one's b0xen.

I do not teach that Way, replied Master Foo.

The stranger grew agitated. D00d, y00 r nothing but a p0ser, he said. If y00 n00 anything, y00 wud t33ch m3.

There is a path, said Master Foo, that might bring you to wisdom. The master scribbled an IP address on a piece of paper. Cracking this box should pose you little difficulty, as its guardians are incompetent. Return and tell me what you find.

The stranger bowed and left. Master Foo finished his meal.

Days passed, then months. The stranger was forgotten.

Years later, the stranger from the land of Woot returned.

Damn you! he said, I cracked that box, and it was easy like you said. But I got busted by the FBI and thrown in jail.

Good, said Master Foo. You are ready for the next lesson. He scribbled an IP address on another piece of paper and handed it to the stranger.

Are you crazy? the stranger yelled. After …

WolfShield 32 Posting Whiz in Training

I have learned to stick with a project to the end.
I have more patience and concentrations.
I also start counting at 0.
And I have found that computers are not magic, or even rocket science. They are in fact,
computer science! :)

But most importantly of all, I have learned that nothing is impossible. If you stick with
it, and aren't afraid of a little work, you can make your dreams come true.

Computer programming can be more than just a hobby, it can be a philosophy for life.

WolfShield 11, verse 32 :D

- WolfShield

WolfShield 32 Posting Whiz in Training

Depends on my mood.
If I'm a little worked up abut a project and need to relax a little I like to listen to Bryan Adam's Spirit Soundtrack (yes, the movie), if I'm down and I need a little inspiration for a project I listen to ACDC's Iron Man 2 Soundtrack, and if I'm in between (perfect coding mode), I like to listen to U2's War album.

I also like to listen to: POD, Evanescence, Metallica, Breaking Benjamin, and probably my favorite: Rage Against The Machine(!!!).

- WolfShield