Battle System Programmer Needed!!!

Ideas and games that are not yet publicly in production. This forum also contains the pre-2012 archives of the Works in Progress forum.
Message
Author
Thaius
Regular
Posts: 44
Joined: Mon Feb 02, 2009 6:52 pm
Contact:

Battle System Programmer Needed!!!

#1 Post by Thaius »

Here's the deal, basically. I've seen that turn-based battle systems are possible in Ren'Py. I want to learn how this works so I can create my own, but I do not have time for that right now.

I am in a Writing for Mass Media class at a university right now. We have a semester project, which is supposed to be done in groups. Unfortunately, I am apparently the only gamer in the class, so I am the only one making a game.

Of course I cannot do this alone, so I have friends helping me in various ways. Unfortunately, I am a beginner at coding for Ren'Py and cannot make the battle system I want out of it. I have studied up on how to make them, but haven't found an actual tutorial for it and can only understand bits and pieces of battle code I've found.

Now comes the part where I ask for your help. If you understand the coding for making a turn-based battle system (attacking, magic, etc., and of course the HUD to display HP and MP levels), I need your help. For copyright reasons (for lack of a better term, lol), I'll give the specifics of the conceptualized battle system to those who show interest.

I am making the rest of the game, but I need help with this aspect of it. I am not planning to sell the game, but of course if I make any future projects I will keep your name in mind, and if future projects sell I would of course give a cut. Thank you for your time: let me know if you are interested.

Guest

Re: Battle System Programmer Needed!!!

#2 Post by Guest »

Quick question: Are you making a deliberate choice not to use pygame? Because I've heard of frameworks that allow both to be used in the creation of a single program.

Basically, you'll have to create your own simple library of functions to handle the battle engine: Characters, statuses, parties, turn progression, skills, and so forth. This is also one of the most obvious ways to start teaching yourself object-oriented programming. Meanwhile, somewhere in your Ren'py script you'll have to include some one-liner like:

Code: Select all

$ import myLibrary
Then the fun part is going to be figuring out how to get the Ren'py script to recursively call the correct functions from your custom library when your game transitions from story-telling to battle, and how to escape from it when that part is done (because Ren'py's only forms of flow control are conditionals and jumps).

Thaius
Regular
Posts: 44
Joined: Mon Feb 02, 2009 6:52 pm
Contact:

Re: Battle System Programmer Needed!!!

#3 Post by Thaius »

Lol umm, in all honesty, there's a reason I'm asking someone else to do the system. I have pretty much no idea what you just said, lol. Please excuse my ignorance.

What is pygame?

The idea is that I'm not sure I have time to learn the coding, what with needing a working demo by the end of the semester and having 4 other classes. Kind of makes things difficult. I am not making a deliberate choice about anything, because I honestly have no idea how this works, only that it is possible. If you don't mind, I'd kind of like to know what it is you were saying, lol.
~ If logic is nothing more than believing in fact, are we truly thinking logically or just blindly believing what seems to be true?

monele
Lemma-Class Veteran
Posts: 4101
Joined: Sat Oct 08, 2005 7:57 am
Location: France
Contact:

Re: Battle System Programmer Needed!!!

#4 Post by monele »

Mmm... why not make something else that doesn't need a complicated RPG system then (or just remove the battle part at least)? It seems a bit far-fetched to ask a coder to make a whole battle system for free for your semester project ^^;

esrix
Regular
Posts: 28
Joined: Wed May 28, 2008 11:12 pm
Contact:

Re: Battle System Programmer Needed!!!

#5 Post by esrix »

Thaius wrote:What is pygame?
PyGame is a Python library that uses Simple Directmedia Layer (SDL for short) to enable people to make games relatively fast using Python.

Ren'Py is built using PyGame.

You can run PyGame code inside of Ren'Py using PyTom's Renpygame framework.
Thaius wrote:The idea is that I'm not sure I have time to learn the coding, what with needing a working demo by the end of the semester and having 4 other classes. Kind of makes things difficult. I am not making a deliberate choice about anything, because I honestly have no idea how this works, only that it is possible.
In that case, depending on the type of battle system you need, perhaps you should explore other options such as RPG Maker? It has a built in battle system and even has built in graphics for you to start making games with. The only downside is that it cost a bit of money, something like $20 - $30 if I'm not mistaken.

Thaius
Regular
Posts: 44
Joined: Mon Feb 02, 2009 6:52 pm
Contact:

Re: Battle System Programmer Needed!!!

#6 Post by Thaius »

My original plan was to make it purely a visual novel, but as the story developed it became clear that a battle system would be vital to portraying the story in the best way possible. I've seen basic battle systems done in Ren'Py, and I thought it would be interesting to put one in.

I do agree, it's a bit far-fetched to think that someone would be willing to do this for free, but I found an artist on deviantART who's happy to help with character art, so I figured I'd try my luck here as well.

As for RPG Maker, there is no Mac version released. And I work on Mac. I have heard of Coldstone (same thing, basically, but for Mac), but I can't find it anymore. A program like that was actually my first choice, but I couldn't find a working one. Beyond that, I am a college student: money is something that merely goes through me on its way to tuition, lol.
~ If logic is nothing more than believing in fact, are we truly thinking logically or just blindly believing what seems to be true?

Counter Arts
Miko-Class Veteran
Posts: 649
Joined: Fri Dec 16, 2005 5:21 pm
Completed: Fading Hearts, Infinite Game Works
Projects: Don't Save the World
Organization: Sakura River
Location: Canada
Contact:

Re: Battle System Programmer Needed!!!

#7 Post by Counter Arts »

I'll give you a bit to get started.

Code: Select all

label battleSetup:
  $ enemyHP = 100
  $ playerHP = 100
  $ enemyATK = 10
  $ enemyDEF = 5
  $ playerATK = 20
  $ playerDEF = 7
  $ potion = 10


label battleLoop:
  menu:
    "What will you do? HP:%(playerHP)s"

    "ATTACK":
      "You attack"
      
      $ tempNumber = playerATK - enemyDEF 
      "You do %(tempNumber)s damage!"
      $ enemyHP -= tempNumber
    "Use item" if potion > 0:
      "You heal 50 hp!"
      $ playerHP += 50

  if enemyHP < 1:
    "You win!"
    jump endBattle

  "You take damage!"

  $ tempNumber = enemyATK - playerDEF

  "Hit for %(tempNumber) damage!"
  $ playerHP -= tempNumber

  if playerHP < 1:
    jump loseBattle
  jump battleLoop
label endBattle:
  "You rock!"

  return

label loseBattle:
  "You're <insert synomym for dead here>!" 
  return

Here is your base... go modify it to your needs.
Fading Hearts is RELEASED
http://www.sakurariver.ca

Thaius
Regular
Posts: 44
Joined: Mon Feb 02, 2009 6:52 pm
Contact:

Re: Battle System Programmer Needed!!!

#8 Post by Thaius »

Okay... Interesting. Thank you. I've been playing with this a bit, but as a beginner I'm getting a little lost. How would I add more items to use? I've been trying to do this, but I honestly have no idea what I'm doing. I think I figured it out somewhat, but it's still not working. What should I do for this?
~ If logic is nothing more than believing in fact, are we truly thinking logically or just blindly believing what seems to be true?

wulfsaga
Regular
Posts: 29
Joined: Thu Feb 05, 2009 9:40 am
Contact:

Re: Battle System Programmer Needed!!!

#9 Post by wulfsaga »

about enemy AI, any chance we can create the AI using renpy or we must do it manually?
Image

Counter Arts
Miko-Class Veteran
Posts: 649
Joined: Fri Dec 16, 2005 5:21 pm
Completed: Fading Hearts, Infinite Game Works
Projects: Don't Save the World
Organization: Sakura River
Location: Canada
Contact:

Re: Battle System Programmer Needed!!!

#10 Post by Counter Arts »

You can make a menu statement inside another menu statement. Also you can declare a variable to track how many items the player has.

EDIT: There's no built in AI in renpy. You'll have to do it yourself.

Of course you could just make it act like most RPG AI. Choose a random attack or have a pattern of attacks.
Fading Hearts is RELEASED
http://www.sakurariver.ca

Thaius
Regular
Posts: 44
Joined: Mon Feb 02, 2009 6:52 pm
Contact:

Re: Battle System Programmer Needed!!!

#11 Post by Thaius »

Okay... I've tried doing that. I started with the basic setup given earlier by Counter Arts and tried to add an item: for the sake of experimentation, I tried grenades. I tried to add another menu so that it didn't automatically use potions when "use item" was selected, and I've been trying to program how much damage the grenades do. However, it hasn't worked. It's been largely trial and error, and my latest error message says that the name "grennumber" is not defined. The specific problem is apparently with line 36, but I can't figure out what's wrong. Any ideas?
~ If logic is nothing more than believing in fact, are we truly thinking logically or just blindly believing what seems to be true?

JQuartz
Eileen-Class Veteran
Posts: 1265
Joined: Fri Aug 31, 2007 7:02 am
Projects: 0 completed game. Still haven't made any meaningfully completed games...
Contact:

Re: Battle System Programmer Needed!!!

#12 Post by JQuartz »

Thaius wrote:my latest error message says that the name "grennumber" is not defined. The specific problem is apparently with line 36, but I can't figure out what's wrong. Any ideas?
Just add:

Code: Select all

init:
    $ grennumber=None
and the error should stop.

Anyway do you still need a battle system programmer? I don't know if I am capable of making a battle system but I would like to help you if you still hadn't gotten a programmer. I should be better than an imaginary programmer.
I suspect somebody is stealing my internet identity so don't believe everything I tell you via messages. I don't post or send messages anymore so don't believe anything I tell you via messages or posts.

Thaius
Regular
Posts: 44
Joined: Mon Feb 02, 2009 6:52 pm
Contact:

Re: Battle System Programmer Needed!!!

#13 Post by Thaius »

Sorry, forgot to post the script.

label battleSetup:
$ enemyHP = 100
$ playerHP = 100
$ enemyATK = 10
$ enemyDEF = 5
$ playerATK = 20
$ playerDEF = 7
$ potion = 10
$ grenade = 3


label battleLoop:
menu:
"What will you do? HP:%(playerHP)s"

"ATTACK":
"You attack"

$ tempNumber = playerATK - enemyDEF
$ grenNumber = playerATK - enemyDEF + 10
"You do %(tempNumber)s damage!"
$ enemyHP -= tempNumber

"Use item":
menu:
"Potion" if potion > 0:
"You heal 50 hp!"
$ playerHP += 50
"Grenade" if grenade > 0:
"You throw grenade for %(grenNumber)s damage!"
$ enemyHP -= grennumber

if enemyHP < 1:
"You win!"
jump endBattle

"You take damage!"

$ tempNumber = enemyATK - playerDEF

"Hit for %(tempNumber) damage!"
$ playerHP -= tempNumber

if playerHP < 1:
jump loseBattle
jump battleLoop
label endBattle:
"You rock!"

return

label loseBattle:
"You're defeated!"
return
~ If logic is nothing more than believing in fact, are we truly thinking logically or just blindly believing what seems to be true?

JQuartz
Eileen-Class Veteran
Posts: 1265
Joined: Fri Aug 31, 2007 7:02 am
Projects: 0 completed game. Still haven't made any meaningfully completed games...
Contact:

Re: Battle System Programmer Needed!!!

#14 Post by JQuartz »

The error would only appear if you click on use item then use grenade first instead of attack, right? That's because grenNumber is defined/set in attack but not in use item. So to fix the problem, just put $ grenNumber = playerATK - enemyDEF + 10 on top of $ enemyHP -= grennumber which is in use grenade like so:

Code: Select all




"Grenade" if grenade > 0:
    $ grenNumber = playerATK - enemyDEF + 10
    "You throw grenade for %(grenNumber)s damage!"
    $ enemyHP -= grennumber
I suspect somebody is stealing my internet identity so don't believe everything I tell you via messages. I don't post or send messages anymore so don't believe anything I tell you via messages or posts.

Thaius
Regular
Posts: 44
Joined: Mon Feb 02, 2009 6:52 pm
Contact:

Re: Battle System Programmer Needed!!!

#15 Post by Thaius »

Sorry, I posted the code itself before reading your post. Actually, any help you can give would be great. I'm enjoying learning how to do this, but as I have shown I am not exactly fit to do this alone. Your help would be welcomed, if you're interested.

I'll try what you were saying: I'll let you know if it works.
~ If logic is nothing more than believing in fact, are we truly thinking logically or just blindly believing what seems to be true?

Post Reply

Who is online

Users browsing this forum: No registered users