Author Topic: Gameplay - Extremely advanced stats  (Read 1009 times)

Offline MrLollige

  • Level 5
  • *
  • Posts: 18
  • Reputation: +0/-0
    • View Profile
Gameplay - Extremely advanced stats
« on: March 16, 2009, 03:00:21 PM »
Hello guys,

I have some ideas for extremely advanced stats to influence gameplay. This is what I have written down earlier:

Quote
    *  lhandstr - The strength in your left hand, not visible for player. Influences ability to handle heavier tools and weapons, damage done by melee attacks. Improves by every hit or action done by this hand.
    * rhandstr - similar, right hand.
    * lhanddex - Left hand dexterity, not visible for player. Influences ability to aim, doing more precise actions. Improves with every hit or action done by this hand.
    * rhanddex - similar, right hand.
    * skindens - Skin density. Not visible for player. Influences damage taken. Goes up on eating food, goes down on preforming actions.

The pros
  • Those who do not know how the stats work in detail can not predict the result of for example fights, while they still can be non random
  • I could have extra features for premium members, for example, they can see if they are in general more right handed or left handed.
  • Players could figure out that training your right or left hand makes a difference, and that some people start with an advantage on their left hands instead of their right, if they put that on your forums it will be entertaining to read what people figured out by them selves/
  • I can include funny messages like: "The orc's spear did not penetrate due to your fat skin" which is actually declareable at the end, and can again be figured out by the players.

The cons
  • I will have a very hard time creating calculations, and remembering what was what
  • For every single hit I will have to update the database 10 times for 10 different stats
  • Most players wont notice all these stats anyway


I can think of a thousand of stats.. and my game will have an advanced stat system for sure.
But this advanced?

Please give your opinion about if you like this idea, or if it is a waste of time, for me and for the server.

Offline raestlyn

  • Level 29
  • **
  • Posts: 464
  • Reputation: +9/-5
    • View Profile
Re: Gameplay - Extremely advanced stats
« Reply #1 on: March 16, 2009, 03:39:07 PM »
I actually like the idea.
The cons
  • I will have a very hard time creating calculations, and remembering what was what
  • For every single hit I will have to update the database 10 times for 10 different stats
  • Most players wont notice all these stats anyway
  • Simple Class (or just function, if you do not like OOP) structure will help you quite much. Heavily commenting your code while writing it is a great way to keep track what you are doing.
  • Why do you want to do that? Do you plan to use interactive battle (AJAX and stuff, choose your actions in turns with computer) or one loop dealing with everything (one page solution)?
    If you are using interactive battle why don't you use either session to store the data, or update with join?
    If you are using one page solution there is no need to update the db more than once at the end of the page.
  • The last one should be  pro, not con. Ignorance of the players is a great thing.
« Last Edit: March 17, 2009, 11:28:22 AM by raestlyn »


I can send you pics of my cocks if you want reference.


Offline MrLollige

  • Level 5
  • *
  • Posts: 18
  • Reputation: +0/-0
    • View Profile
Re: Gameplay - Extremely advanced stats
« Reply #2 on: March 16, 2009, 03:49:27 PM »
    Thanks for your reply  :D


I actually like the idea.
Simple Class (or just function, if you do not like OOP) structure will help you quite much. Heavily commenting your code while writing it is a great way to keep track what you are doing.
Simple Class structure? I really have no idea what you are talking about.. but ill do some googling about that ;). But writing those functions will be the hard part... How to calculate damage if you have to take 10 different stats into consideration? It will just be a bit hard, but once I am done I am done.

  • Why do you want to do that? Do you plan to use interactive battle (AJAX and stuff, choose your actions in turns with computer) or one loop dealing with everything (one page solution)?
    If you are using interactive battle why don't you use either session to store the data, or update with join?
    If you are using one page solution there is no need to update the db more than once at the end of the page.
Interactive battle. Not ajax and stuff, but the simple way.
A lot of my ideas are based on kingdom of loathing, and I am partially aiming on that kind of battle.
However, if I want rhandstr to increase on every hit, I have to make the connection every time right?
Wouldn't storing everything in the session being begging for cheaters to put their own values in those session cookies? (they can be read out at some way right?)
What do you mean by update with join? (ill google it too anyway, but your explanation might be more direct.


[/list]
The last one should be  pro, not con. Ignorance of the players is a great thing.

Can you explain this?  ;)

Again thanks for your reply, someone with more experience in games than I saying he likes the idea is motivating to develop this idea further :)

Offline raestlyn

  • Level 29
  • **
  • Posts: 464
  • Reputation: +9/-5
    • View Profile
Re: Gameplay - Extremely advanced stats
« Reply #3 on: March 16, 2009, 04:04:41 PM »
Simple Class structure? I really have no idea what you are talking about.. but ill do some googling about that ;). But writing those functions will be the hard part... How to calculate damage if you have to take 10 different stats into consideration? It will just be a bit hard, but once I am done I am done.
I did mean just use one simple class (or a function) to handle all the calculations. Its not hard to write, my next games battle uses 9 variables in a single function without a problem.
Quote
Interactive battle. Not ajax and stuff, but the simple way.
A lot of my ideas are based on kingdom of loathing, and I am partially aiming on that kind of battle.
However, if I want rhandstr to increase on every hit, I have to make the connection every time right?
Wouldn't storing everything in the session being begging for cheaters to put their own values in those session cookies? (they can be read out at some way right?)
What do you mean by update with join? (ill google it too anyway, but your explanation might be more direct.
Use $_SESSION global variable instead of cookie, then you don\t have problems. Or use POST to pass the data to another page, that way the users have no way to edit it.
http://community.bbgamezone.net/index.php?topic=1904.0 explains the Update with Join ;)

Quote

Can you explain this?  ;)

Sure. More the players have to figure out more they want to find it out  ;)


I can send you pics of my cocks if you want reference.


Offline MrLollige

  • Level 5
  • *
  • Posts: 18
  • Reputation: +0/-0
    • View Profile
Re: Gameplay - Extremely advanced stats
« Reply #4 on: March 16, 2009, 05:04:46 PM »
I assumed that session globals were stored on player computers, that would make them extremely easy to read and change right?
But if not, where can I find a detailed explanation on how the session function works? I am interested :)

Use post to pass data to another page... hmm, and then keep up stacking those datas in variables until the fight is finished you mean?

In both solutions: What do I do when a player exits the fight before it is finished?


And then, the last option, the join thing.
I believe I slightly understand what it does now, but not how to use it.


    UPDATE table1 t1 JOIN table2 t2 ON t1.id = t2.id
    SET col1 = t2.col2, col2 = t2.col2

If I get it right, table 2 gets pasted behind table 1 where the id in table1 is the same as in table2 (so those with the same id's get lined up after each other).
And what does that SET do exactly?
And how would this at all help me storing all data properly?
If I have all my tables perfectly configured from the beginning, I would never need to join tables right?


Offline Scion

  • Level 27
  • **
  • Posts: 402
  • Reputation: +11/-0
    • View Profile
Re: Gameplay - Extremely advanced stats
« Reply #5 on: March 17, 2009, 03:40:42 AM »
what you need to do is hide complexity behind a simple interface....

figure out how fights battles are going to work...is it one on one, or 1 team vs another or all against all .....whatever...then you hide the complexity of calculating the result behind a simple interface...or do you want a variety.

this allows you to swap out the actual implementation for another when ever you want as long as you still conform to the same interface (you can enforce this by declaring an actual php interface...best imho)

once you have your interface set up...then write the simplest implementation that satisfies the interface.....this allows you to carry on with other things and isolates any modification to the fights from the other sections of the code.


Offline raestlyn

  • Level 29
  • **
  • Posts: 464
  • Reputation: +9/-5
    • View Profile
Re: Gameplay - Extremely advanced stats
« Reply #6 on: March 17, 2009, 11:43:09 AM »
I assumed that session globals were stored on player computers, that would make them extremely easy to read and change right?
But if not, where can I find a detailed explanation on how the session function works? I am interested :)
PHP.net gives you all info you need. ;) Session data is saved on your server, not on players computer.
Quote
Use post to pass data to another page... hmm, and then keep up stacking those datas in variables until the fight is finished you mean?

In both solutions: What do I do when a player exits the fight before it is finished?
Yes, stack up the variables. Easiest way to make interactive battle. I would do it with AJAX so you wouldn't need to load the whole page again and again, but thats just me.

If the player exists the fight before it ends then the fight is cancelled. You can prevent abusing the system by updating the db to reduce the players life (HPs, whatever you are using) to 0 until the whole fight is over. That way if the player intentionally leaves the battle he can't win he will lose those points.

Quote
And then, the last option, the join thing.
I believe I slightly understand what it does now, but not how to use it.


    UPDATE table1 t1 JOIN table2 t2 ON t1.id = t2.id
    SET col1 = t2.col2, col2 = t2.col2

If I get it right, table 2 gets pasted behind table 1 where the id in table1 is the same as in table2 (so those with the same id's get lined up after each other).
And what does that SET do exactly?
And how would this at all help me storing all data properly?
If I have all my tables perfectly configured from the beginning, I would never need to join tables right?
Update with Join lets you update more than one table with the same query by JOINing them. You can do it without the JOIN too.


I can send you pics of my cocks if you want reference.


 


SimplePortal 2.3.3 © 2008-2010, SimplePortal