Jump to content
  • Advertisement
Sign in to follow this  
Marathon

Unity Text Based RPG in Python - Advice?

This topic is 4549 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

***This is a repost of a thread I posted in the "Newbie" forum, but as the core of my question involves Python, I thought it was also appropriate to post this thread here where more people who are familiar with Python may be able to read it*** Hey everyone - I've recently started learning Python as my first programming/scripting language with the goal of creating a text adventure game as a first somewhat ambitious project, and then moving on towards a more ambitious idea of a text RPG. I've been learning a lot of small snippits of Python here and there and working on many small tutorials that introduce various core concepts about the language and programming in general. What I would absolutely love though is a tutorial involving the creation of either a text adventure game in Python, or, a text RPG. I've done a lot of googling and research, but I've been unable to find anything resembling what I'm looking for. I figured if anyone knew where to find something like that, they'd be in this community. Can anyone send me in the right direction? Much thanks, -M

Share this post


Link to post
Share on other sites
Advertisement
I already posted in your other thread on the basics. As I said, I think what you're looking for is a bit of a niche area to expect much in the way of tutorials, but the underlying principles are simple enough and apply to most languages. As with any application, it's essentially a display/input/process loop, and the only hard parts are organising the data (just use lists and maybe tuples for now, upgrade to classes later), and processing the input (use raw_input to get it, then perhaps use the split string method to read the individual words).

If you want more details on any particular area, feel free to ask. I think this will work best if you think about what you want to achieve, plan it a bit, then dive in, asking questions as you go.

Share this post


Link to post
Share on other sites
This might be what you would call "cheating" but here is my game. There are some errors you might run into while playing. Like playing it outside of IDLE
Anyway, here it is:

def gameOver():
print """
-----------------
Game Over
-----------------"""
print """
Alien Intertainment
**********************************************************
----------------------------------------------------------
----------------------------------------------------------
Operation: VIM MPOO
----------------------------------------------------------
----------------------------------------------------------
**********************************************************
http://www.freewebs.com/idaliengames/

**********************************************************
IF THE GAME ENDS WHILE PLAYING, THIS MEANS YOU HAVE LOST.
**********************************************************



Hello. My name is VOX. I will be assisting you throughout
this operation. I would first like to know your name."""
name=raw_input("Name: ")
print """


"""+name+""". You are the top spy in a secret government
organization. This organization is so secret I am not
allowed to tell you the name of it. It is your job is to
find and defeat Vim Mpoo, """+name+""", the government's
most dangerous villian. It is thought that he is the head
of a global cocaine distribution organization. Your
reward: a handsome 4.5 billion US dollars for the completion
of this Operation. Do you except?

1. Yes
2. No"""
yes=raw_input("Answer: ")
if yes=="1":
print """Good."""
else:
print """Too bad, you have to do it anyway."""
print """

What would you like to do now?

1. Get started
2. Learn more"""
main=raw_input("Number: ")
if main=="2":
print """This game was created by Daniel T.
http://www.freewebs.com/idaliengames.
Program used: Python"""
elif main =="1":
print """Initiating..."""
print """


VOX: Your first mission is to get Nip Pom's ID and add
your picture to it. Good luck!
----------------------------------------------------------
MISSION 1: In the car
----------------------------------------------------------
**********************************************************
While leaving headquarters, you see a man drive away quickly in his
car and he looks like Nip Pom. What do you do?

1. Chase them on your motorcycle
2. Call for backup
3. Shoot at them from a distance"""
car=raw_input("Number: ")
if car=="1":
print """
**********************************************************
They notice you following them and speed up. They start shooting at you.
What do you do?
1. Shoot back at them
2. Call off the chase
3. Follow them at a distance"""
chase=raw_input("Number: ")
if chase=="1":
print """
**********************************************************
You shoot one of the wheels and the car goes off the road.
What do you do?
1. Advance while shooting
2. Call for backup"""
advance=raw_input("Number: ")
if advance=="1":
print """
**********************************************************
Lucky shot! you hit him dead on in the head. You go over and
retrieve his ID. You have completed mission one.
1. Go back to base
2. Get password"""
finishOne=raw_input("Number: ")
#finished outside of block
elif advance=="2":
print """
**********************************************************
You call for backup, but backup checks the car, Nip Pom isn\'t
there. You fail the mission."""
elif chase=="2":
print """
**********************************************************
You call off the chase, playing it safe. Nip Pom gets away. You fail
the mission."""
else:
print """
**********************************************************
You follow him at a distance, but he eventually notices you. He leads
you into a trap and you are unable to finish the mission. You fail."""
elif car=="2":
print """
**********************************************************
You call the backup, but he is already escaping. What do you
do?
1. Chase without backup
2. Wait for backup"""
backup=raw_input("Number: ")
if backup=="1":
print """
**********************************************************
They notice you following them and speed up. They start shooting at you.
What do you do?
1. Shoot back at them
2. Call off the chase
3. Follow them at a distance"""
chase=raw_input("Number: ")
if chase=="1":
print """
**********************************************************
You shoot one of the wheels and the car goes off the road.
What do you do?
1. Advance while shooting
2. Call for backup"""
advance=raw_input("Number: ")
if advance=="1":
print """
**********************************************************
Lucky shot! you hit him dead on in the head. You go over and
retrieve his ID. You have completed mission one.
1. Go back to base
2. Get password"""
finishOne=raw_input("Number: ")
#finished outside of block
elif advance=="2":
print """
**********************************************************
You call for backup, but when backup checks the car, Nip Pom isn\'t
there. You fail the mission."""
elif chase=="2":
print """
**********************************************************
You call off the chase, playing it safe. Nip Pom gets away. You fail
the mission."""
else:
print """
**********************************************************
You follow him at a distance, but he eventually notices you. He leads
you into a trap and you are unable to finish the mission. You fail."""
else:
print """
**********************************************************
You shoot one of the wheels and the car goes off the road.
What do you do?
1. Advance while shooting
2. Call for backup"""
advance=raw_input("Number: ")
if advance=="1":
print """
**********************************************************
Lucky shot! You hit him dead on in the head. You go over and
retrieve his ID. You have completed mission one.
1. Go back to base
2. Get password"""
finishOne=raw_input("Number: ")
#finished outside of block
#needs help
elif advance=="2":
print """
**********************************************************
You call for backup, but when backup checks the car, Nip Pom isn\'t
there. He has escaped. You fail the mission."""
#needs help
if finishOne=="1":
print """VOX: Congradulations, """+name+""", on the completion of this mission."""
if finishOne=="2":
print """The password for this level is:
non_important_person"""
print """
VOX: You have retrieved Nip Pom's ID. I will now put your picture in
it.
...
Okay you now have Nip Pom's ID with your picture.

Initiating Mission two...
----------------------------------------------------------
MISSION TWO: Who said anything about evil henchmen?!?
----------------------------------------------------------
**********************************************************
Now you have to find and follow Vim Mpoo to his hideout
without getting caught or killing Vim Mpoo.
Good Luck!

**********************************************************
You go to the last place Vim Mpoo was seen, at the Dahp
Hotel. What do you do?
1. Look around yourself
2. Ask the clerk at the front desk where he is
3. Ask people around the room"""
hotel=raw_input("Number: ")



Don't cheat

Share this post


Link to post
Share on other sites
There are a few modules that can help with the input parsing, like cmd, shlex and csv. readline may help with the actual user input process. If you want the game to run "in real time" even while waiting for user input, then you're probably going to want to use asynchat and Threading.

Share this post


Link to post
Share on other sites
THer is also, for the industrial strength, over-kill scenario PAW which is the Python Adventure Writing module. This does ll of the heavy lifting for creating text aventures for you. This may be more than you want.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!