Author Topic: Simulation Idea  (Read 4502 times)

0 Members and 1 Guest are viewing this topic.

Offline Mickey Kudlo

Simulation Idea
« on: April 18, 2012, 03:16:14 pm »
The main idea being, EVERYTHING is dynamic, including plants, water, animals, monsters and NPCs.

Plants are easy, already have done that. They grow, spread seed, die.

Water and how it can shape the land via rain and rivers and flooding. Tried in V1/V2 but was always too dangerous and required close monitoring.

Animals would not spawn. Would roam, eat, reproduce, die. System would add more if population destroyed.

Monsters would not spawn except maybe in dungeons? Would roam, reproduce, build, whatever that specific monsters nature is. Wouldn't always attack players. Behavior toward players would depend on various factors.

NPC, basically human monsters with more advanced needs that players could fullfil. Like building them a house to collecting fire wood and food, etc.

One problem is increased CPU usage on server, could create a seperate AI program that connects like a client and controls stuff but easier to just multi-thread it.
Players also, may have problems coping with the extremness of the environment. Grinding to level combat skills not really supported but the 100 cap or maybe faster leveling may help.
You may have conquered my worlds, but I destroyed them!

Offline Miner 49er

  • Sr. Member
  • ****
  • Posts: 301
  • Attack: 2852
    Defense: 2961
    Attack Member
  • Karma: 13
  • Gender: Male
    • View Profile

  • Total Badges: 35
    Badges: (View All)
    10 Poll Votes Tenth year Anniversary Karma Bad
Re: Simulation Idea
« Reply #1 on: April 18, 2012, 03:34:50 pm »
It would be interesting, but you would definately need to thread the server. If you wanted to be a risk taker, you could even attempt to use the gpu to process some of the AI.

Offline Mongo

  • Sr. Member
  • ****
  • Posts: 449
  • Attack: 91
    Defense: 91
    Attack Member
  • Karma: 16
  • Gender: Male
  • My Loony Bun is Fine
    • View Profile
    • Email

  • Total Badges: 29
    Badges: (View All)
    Sixth year Anniversary 10 Poll Votes Fifth year Anniversary
Re: Simulation Idea
« Reply #2 on: April 18, 2012, 03:36:42 pm »
As stated before, absolutely love it .. every aspect of it.

I can see it causing strain on the hardware, but maybe if we can get some donations going we can get some new hardware up and running.
Shoop!

Offline Jon The Great

Re: Simulation Idea
« Reply #3 on: April 18, 2012, 03:37:30 pm »
CPU shouldn't be that big of deal anymore since servers are so fast today and with mutlithreading should be a peace of cake.

Offline Mongo

  • Sr. Member
  • ****
  • Posts: 449
  • Attack: 91
    Defense: 91
    Attack Member
  • Karma: 16
  • Gender: Male
  • My Loony Bun is Fine
    • View Profile
    • Email

  • Total Badges: 29
    Badges: (View All)
    Sixth year Anniversary 10 Poll Votes Fifth year Anniversary
Re: Simulation Idea
« Reply #4 on: April 18, 2012, 03:41:05 pm »
Wait did it really just change my word to "toughware"?
Shoop!

Offline Miner 49er

  • Sr. Member
  • ****
  • Posts: 301
  • Attack: 2852
    Defense: 2961
    Attack Member
  • Karma: 13
  • Gender: Male
    • View Profile

  • Total Badges: 35
    Badges: (View All)
    10 Poll Votes Tenth year Anniversary Karma Bad
Re: Simulation Idea
« Reply #5 on: April 18, 2012, 03:56:15 pm »
CPU shouldn't be that big of deal anymore since servers are so fast today and with mutlithreading should be a peace of cake.

I imagine the biggest issue will just be synchronizing all the threads. That would suck.

Offline Mickey Kudlo

Re: Simulation Idea
« Reply #6 on: April 18, 2012, 04:00:43 pm »
Well, if you have just 1 thread dealing with certain AI units(animals, npc) then it not too bad me thinks.
You may have conquered my worlds, but I destroyed them!

Offline Miner 49er

  • Sr. Member
  • ****
  • Posts: 301
  • Attack: 2852
    Defense: 2961
    Attack Member
  • Karma: 13
  • Gender: Male
    • View Profile

  • Total Badges: 35
    Badges: (View All)
    10 Poll Votes Tenth year Anniversary Karma Bad
Re: Simulation Idea
« Reply #7 on: April 18, 2012, 04:04:40 pm »
Well, if you have just 1 thread dealing with certain AI units(animals, npc) then it not too bad me thinks.

Well, those AI units would definitely need access to the world, which I imagine would create a good bit of waiting if you spawn too many threads, and they all attempt to grab the world data. (Don't quote me on this, I'm not a threading expert)

Offline Greatest

  • Hero Member
  • *****
  • Posts: 1330
  • Attack: 161
    Defense: 91
    Attack Member
  • Karma: 9
  • Gender: Male
  • I'm better than you!
    • View Profile

  • Total Badges: 38
    Badges: (View All)
    Linux User Mobile User Tenth year Anniversary
Re: Simulation Idea
« Reply #8 on: April 18, 2012, 04:36:52 pm »
in theory I love the idea, in practice I remember all the sectors that were completely taken over by thorn bushes...

sim would be helpful for those of us who always tame sheep or cattle to keep a meat supply around, they always either die off or spawn like crazy.  so an actual way to control them would be good.
why does Fox keep cancelling good shows?

Offline Mickey Kudlo

Re: Simulation Idea
« Reply #9 on: April 18, 2012, 05:27:36 pm »
in theory I love the idea, in practice I remember all the sectors that were completely taken over by thorn bushes...

sim would be helpful for those of us who always tame sheep or cattle to keep a meat supply around, they always either die off or spawn like crazy.  so an actual way to control them would be good.

Would need the system to regulate to make sure a MIN and MAX level is maintained.
You may have conquered my worlds, but I destroyed them!

Offline Novibear

  • Full Member
  • ***
  • Posts: 170
  • Attack: 89
    Defense: 90
    Attack Member
  • Karma: -22
  • Gender: Male
  • He who should be named
    • MSN Messenger - osiris8762@msn.com
    • View Profile
    • Email

  • Total Badges: 23
    Badges: (View All)
    Fifth year Anniversary Karma Bad Level 5
Re: Simulation Idea
« Reply #10 on: April 18, 2012, 08:44:10 pm »
That sounds cool to me too.
I play on and off

Where'd everyone go!?

Offline Zachariel

  • Full Member
  • ***
  • Posts: 189
  • Attack: 89
    Defense: 88
    Attack Member
  • Karma: -10
  • Gender: Male
    • View Profile

  • Total Badges: 17
    Badges: (View All)
    Windows User Topic Starter Combination
Re: Simulation Idea
« Reply #11 on: April 19, 2012, 06:38:20 am »
On the other hand, if you would implement my vision of client/server model,
you can shift (if not physics, then) less-important and time-insensitive
calculations to clients without risking security...

Offline Novibear

  • Full Member
  • ***
  • Posts: 170
  • Attack: 89
    Defense: 90
    Attack Member
  • Karma: -22
  • Gender: Male
  • He who should be named
    • MSN Messenger - osiris8762@msn.com
    • View Profile
    • Email

  • Total Badges: 23
    Badges: (View All)
    Fifth year Anniversary Karma Bad Level 5
Re: Simulation Idea
« Reply #12 on: April 19, 2012, 06:40:10 am »
Application partitioning is important for balancing out the workload.
I play on and off

Where'd everyone go!?

Offline Mickey Kudlo

Re: Simulation Idea
« Reply #13 on: April 19, 2012, 11:17:00 am »
On the other hand, if you would implement my vision of client/server model,
you can shift (if not physics, then) less-important and time-insensitive
calculations to clients without risking security...

Um, what "physics" does RPGWO have? heh
Or you just mean general world rules of actions? Like movement, combat, usage, casting, /pooping, etc.
You may have conquered my worlds, but I destroyed them!

Offline Greatest

  • Hero Member
  • *****
  • Posts: 1330
  • Attack: 161
    Defense: 91
    Attack Member
  • Karma: 9
  • Gender: Male
  • I'm better than you!
    • View Profile

  • Total Badges: 38
    Badges: (View All)
    Linux User Mobile User Tenth year Anniversary
Re: Simulation Idea
« Reply #14 on: April 19, 2012, 02:35:01 pm »
Um, what "physics" does RPGWO have? heh
I think he was hoping you'd add jumping to the next version...height/distance you can jump based on strength, agility, and burden :P
why does Fox keep cancelling good shows?

Offline Mongo

  • Sr. Member
  • ****
  • Posts: 449
  • Attack: 91
    Defense: 91
    Attack Member
  • Karma: 16
  • Gender: Male
  • My Loony Bun is Fine
    • View Profile
    • Email

  • Total Badges: 29
    Badges: (View All)
    Sixth year Anniversary 10 Poll Votes Fifth year Anniversary
Re: Simulation Idea
« Reply #15 on: April 19, 2012, 02:38:05 pm »
I woke up 3 am tonight and laid awake, restless and unable to fall asleep, because I was thinking about how
the client/server model should work. I come back online at 8 am and lo, behold, Mickey asks which
client/server model we should use.

I got just the thing for you:

I envisioned an unified client/server executable, like you, but it does not quite work as you imagined it.
Current online 3D games make the server calculate some or all parts of the physics and other data,
so the player could not noclip through walls, wallhack and perform live injection or replay with
packet editors to go into godmode or give themselves millions of dollars.

Pretty sure that's what he was referring to.
Shoop!

Offline Zachariel

  • Full Member
  • ***
  • Posts: 189
  • Attack: 89
    Defense: 88
    Attack Member
  • Karma: -10
  • Gender: Male
    • View Profile

  • Total Badges: 17
    Badges: (View All)
    Windows User Topic Starter Combination
Re: Simulation Idea
« Reply #16 on: April 19, 2012, 04:32:48 pm »
I woke up 3 am tonight and laid awake, restless and unable to fall asleep, because I was thinking about how
the client/server model should work. I come back online at 8 am and lo, behold, Mickey asks which
client/server model we should use.

I got just the thing for you:

I envisioned an unified client/server executable, like you, but it does not quite work as you imagined it.
Current online 3D games make the server calculate some or all parts of the physics and other data,
so the player could not noclip through walls, wallhack and perform live injection or replay with
packet editors to go into godmode or give themselves millions of dollars.

Pretty sure that's what he was referring to.

Yeah, I wrote a long post about it.
If you really think this through, it makes sense.
When I wrote that post, I was assuming that you'd be remaking RPGWO in 3D,
however, my idea still works (and even better), if used for a 2D world, since
2D data is 1/3-rd lightweight than 3D.

You can't trust players to calculate their own environment, but you can trust them
to calculate the environment of someone else, if the server chooses whose' they will
calculate to eliminate the "buddy system".

Time insensitive calculations like the contents of a container (when entering a sector)
in the vicinity of the player can be received from other users many seconds later, as long
as the data is available when the player reaches the container.
Same thing with "knowing" the contents of sectors around the sector the player is currently in.
You don't need to fetch the whole world before starting playing, you need to know just enough
so the world will seem seamless, but the data of nearby sectors is always available and loaded.

This can be done for multiple of things, including player locations.

Imagine it as a P2P network, only that who talks to whom is controlled by central server.
« Last Edit: April 19, 2012, 04:34:40 pm by Zachariel »

Offline Naed

Re: Simulation Idea
« Reply #17 on: April 19, 2012, 04:38:32 pm »
I don't think RPGWO ever really implemented it but I work with SQL all day long, and a constantly evolving world of objects screams database to me.

UPDATE t
SET t.size = t.size + 1
from Trees t
Join Sunlight s ON t.x_pos = s.x_pos AND
                         t.y_pos = x.y_pos AND
                         t.z_pos = s.z_pos
WHERE s.intensity > t.minGrowthIntesity AND
          t.size < t.maxSize

I am not familiar with mmo games coding but it would only seem logical that they are run on big databases? I see no reason rpgwo should be any different for the simulation aspect of it. Text files can be exported in whatever format the server engine requires, on whatever schedules are required. a 1000 * 1000 * 128 world would span 128,000,000 entries for single units on a tiny world. I've never put the thought into the data structures that must be designed for MMO's until this moment, I would imagine that due to the size, some sort of sector system (like in rpgwo) of different sizes would have to be generated to manage the giant evolving world.

I will stop rambling and go write this down as I am not being useful here and have opened up more thought that I should on a work night.

P.S. for programmers I made no attempt to normalize my statement, it is an example.

Offline Zachariel

  • Full Member
  • ***
  • Posts: 189
  • Attack: 89
    Defense: 88
    Attack Member
  • Karma: -10
  • Gender: Male
    • View Profile

  • Total Badges: 17
    Badges: (View All)
    Windows User Topic Starter Combination
Re: Simulation Idea
« Reply #18 on: April 19, 2012, 04:50:24 pm »
I don't understand how evolving world needs huge databases.

Lets take a growing flower for example.
It sprouts in the spring, blooms and pollinates in the summer,
withers in the autumn and hibernates in the winter.

If I were to program that flower, all the client requires are the multiple representations of
the flower in its multiple states, then all that is required is data to tell a flower what state
to be in and display it correctly.
When the player moves away from the flower and goes into another sector, the state of the flower
can be forgotten, since the player is not viewing it anymore. This works with the client only "knowing"
the sectors around the player and not the whole world.

Offline Greatest

  • Hero Member
  • *****
  • Posts: 1330
  • Attack: 161
    Defense: 91
    Attack Member
  • Karma: 9
  • Gender: Male
  • I'm better than you!
    • View Profile

  • Total Badges: 38
    Badges: (View All)
    Linux User Mobile User Tenth year Anniversary
Re: Simulation Idea
« Reply #19 on: April 19, 2012, 05:28:02 pm »
I don't understand how evolving world needs huge databases.

Lets take a growing flower for example.
It sprouts in the spring, blooms and pollinates in the summer,
withers in the autumn and hibernates in the winter.

If I were to program that flower, all the client requires are the multiple representations of
the flower in its multiple states, then all that is required is data to tell a flower what state
to be in and display it correctly.
When the player moves away from the flower and goes into another sector, the state of the flower
can be forgotten, since the player is not viewing it anymore. This works with the client only "knowing"
the sectors around the player and not the whole world.
and if whats in that sector isn't stored in a database then when the player returns its all blank or redrawn randomly...if something has to be somewhere its stored, storage = databases

with no storage: you build a house walk away and come back and its gone; you play for a while gain a few levels log out your char is gone
why does Fox keep cancelling good shows?

 

Related Topics

  Subject / Started by Replies Last post
3 Replies
1350 Views
Last post June 05, 2007, 08:59:47 am
by The Muffin Man
15 Replies
2952 Views
Last post July 21, 2008, 02:42:05 am
by Mack the Blacksmith
New idea

Started by deaty RPGWO 2

4 Replies
1963 Views
Last post December 02, 2008, 02:55:12 pm
by Rokhan
13 Replies
2782 Views
Last post March 25, 2009, 06:51:04 pm
by Mai Long Dong
4 Replies
1667 Views
Last post May 12, 2011, 03:55:44 pm
by Greatest