Jump to content

Collision Detection


PurpleYouko

Recommended Posts

This is a rather broad subject but could potentially open up the door for a whole bunch of new features which will make the game better, more realistic and more interesting.

I'll start with a basic overview. Has anyone ever noticed that many monster spawns overlap walls, trees, building and the edge of maps where the ground becomes almost vertical? It's extremely annoying to me when I'm trying to target a Woopie and the stupid thing just runs into the wall around Zant town and disappears. Or pumpkins bouncing up the cliffs so you can't reach them. How about when a monster drops a rare item and it drops INSIDE A ROCK so you can't pick it up? That has happened to me so many times.

So how do we fix that? Using collision detection in the client doesn't help in the least since the position of all spawned game objects is controlled by the server. This means we need collision detection in the server. But how? you might ask. Well that's a problem that I have already solved. All we need is a collision grid file for each map. Using this we can assign areas for normal land, water, edges that cannot be passed and so on. We can even specify different types of ground. Grass, paths, towns or pretty much anything we like. With a small change to AIP and/or QSD handling we can reprogram monsters to keep them where they belong, stop them wandering off the map or whatever. We can even use the settings to simulate barriers to stop players from going off the map. Creating the collision grids is time consuming (at least the method I used was. maybe somebody else has a better idea of how to make them) but it is a solved problem, as are all the mechanics that are needed to make the system operable. I would be willing to share my solutions to this and other problems.

Specifics of what the addition of this mechanism can do:

How would you like to see some spawns that are able to move dynamically? How about the possibility of armies of Jelly Beans over-running the village in Adventurers Plains? and triggering a server wide event for all players to come and save the map by pushing them back out of the village? Using this kind of collision detection we can allow a special Scout type monster to spawn occasionally. It will simply run around the entire map (in allowable places defined by the collision grid) and when it finds an open spot it will create a new spawn point (possibly by morphing into a "spawner" type monster, whose AIP allows it to fill it's new spawn with new jelly beans over time before eventually making a new Scout). When a spawn is created in a designated "Town" zone then it can be used to trigger an event as described above. Maybe the NPCs might run away until the spawns are cleared. The specifics can be discussed if anyone is interested but the possibilities are endless. Dynamic events, Even monster types fighting each other, factions? Will you support the Jellies or the Choropies? Whatever. You get the idea right?

I can go into a lot more detail and explore further ideas that this system could help to implement if anyone is interested.

 

 

  • Like 2
Link to comment
Share on other sites

Quote

How would you like to see some spawns that are able to move dynamically? How about the possibility of armies of Jelly Beans over-running the village in Adventurers Plains? 

This was supposed to be a thing in the Original game, in an old PC Gamer interview it was said that Rose was supposed to have dynamic spawns and resources.
"If you eliminate a monster threat, they might move to somewhere else, if you buy every resources from a map its price increase"

Dynamic spawns would not only be a good idea but also a tribute to triggersoft who couldn't finish it.

Your collision grid idea is pretty great and i can't really imagine any cons with it, i mean weird Pathfinding was part of the game but not in a fun way.
@Garnet was working on it afaik, he shared some early work on discord.

 

1.jpg

Edited by Shid0x
  • Haha 1
Link to comment
Share on other sites

@Shid0x Yeah, collision detection is working on a similar system and controlled by server, and it should work even better now 🙂

I was planning to use this system to create more terrain type to allow new future actions, so yeah this is probably the best way to do it actually!

 

(I wish what is written on this magazine was right haha nice share )

  • Like 2
Link to comment
Share on other sites

I'm loving threads like these.. I hope to see you @PurpleYouko on the dev team here pretty soon! You have been working on ROSE since when I was starting off editing STBs, STLs, etc.. maybe even sooner. This was what? Around 2007? That's when I ran across your name for the first time, anyway. You're awesome! 🙂

Link to comment
Share on other sites

Wow. This was an amazing read. I would just like to say I'd love for this to come into affect. Especially spawns that are able to move dynamically. That would change the interest of event partaking so much for the better. After all we love events especially when it's engaging and rewarding! Thank you for putting this suggestion out there, I support it 100%.

Link to comment
Share on other sites

Quote

I hope to see you @PurpleYouko on the dev team here pretty soon! 

I would be more than happy to join if I was invited to.

Ideas are what I live for.. I have tons of others. My one drawback is getting my head around the code in that official SHO server. lol, It kind of screws with my head following that damn code.

I will be posting more concepts as time goes on

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...