- Joined
- Jun 21, 2014
- Messages
- 350
- Thread Author
- #1
What is deadman?
Deadman mode is an upcoming OSRS gamemode. Deadman is a harsh landscape where XP is gained 5x faster, PvP is enabled everywhere, and death equates to a loss of 50% of your hard earned XP. Players can either choose to fight, hide, or skill in safe areas. Killing another player allows you to take things from other people's bank, and items can be insured to prevent this. One of the greatest challenges in this gamemode will be to constantly avoid death, accessing dangerous skilling areas for XP gains.
Aim
The aim of this project is to develop a series of bots which will survive and thrive in this gamemode and also will be able to test my abilities in Java. I plan on creating a system which is designed to work well with deadman mode, this includes predicting path patterns of other players, avoiding players, switching skilling spots, hiding, running to safe spots and more. This thread will highlight the development process of this system, including the testing phase, improvements made to the system, and more.
Progress
This section will document progress made throughout the development of this project, I plan on working in 3 phases: the research phase, the testing phase, and the implementation phase.
- - - - - Phase 1 - Researching Possible Implementations - 7/16/2015 - - - - - -
Entry 1 - 7/16/2015:
The first thing I would like to look into is avoiding players, this sounds pretty simple in practice, though I'm still thinking about a possible implementation. To keep this as borderline legit as possible and to avoid unnecessary running away I've limited the radius of detection to ~20 tiles, the view distance of the normal client.
In this example, the green area would represent the radius of our minimap and the red would could represent an enemy's minimap radius, entering that area is going to us be considered instant death (at least until teleports and ability to fight are implemented). The red radius area would be considered a 'bad' area to walk through and could be removed from webwalking such that we avoid the other player entirely. This brings up a problem, movement, an implementation like above would work to an extent, but players move very quickly when running (~3 tiles/s), but since we have the power of computation on our side and the ability to see direction and location of people offscreen as long as they are loaded, as well as estimation, we automatically have a landslide advantage.
Let's assume that the enemy is headed directly towards the entrance, we can estimate where they will probably end up in 10 seconds in the future, this is where this gets complicated for me. I also have to generate a possible path 10 seconds in the future .... or I could just remove the enemies predicted path 10 seconds from now from the web and traverse the web, and just keep recalculating to avoid a collision, it's likely that a smaller period of time to look into the future would be easier to work with.
By calculating time to traverse, we should be able to calculate when to start running away and more useful information for our survival, as long as the location we will reach does not intersect their path at a certain point in time we will be fine. I'm sure it is more complicated this when it comes to the actual system and the code, but that's something to figure out for another time.
In this example, the green area would represent the radius of our minimap and the red would could represent an enemy's minimap radius, entering that area is going to us be considered instant death (at least until teleports and ability to fight are implemented). The red radius area would be considered a 'bad' area to walk through and could be removed from webwalking such that we avoid the other player entirely. This brings up a problem, movement, an implementation like above would work to an extent, but players move very quickly when running (~3 tiles/s), but since we have the power of computation on our side and the ability to see direction and location of people offscreen as long as they are loaded, as well as estimation, we automatically have a landslide advantage.
Let's assume that the enemy is headed directly towards the entrance, we can estimate where they will probably end up in 10 seconds in the future, this is where this gets complicated for me. I also have to generate a possible path 10 seconds in the future .... or I could just remove the enemies predicted path 10 seconds from now from the web and traverse the web, and just keep recalculating to avoid a collision, it's likely that a smaller period of time to look into the future would be easier to work with.
By calculating time to traverse, we should be able to calculate when to start running away and more useful information for our survival, as long as the location we will reach does not intersect their path at a certain point in time we will be fine. I'm sure it is more complicated this when it comes to the actual system and the code, but that's something to figure out for another time.
Entry 2 - 7/17/2015:
It appears as though players are only loaded once they are within reach of your minimap, meaning the advantage researched previously is completely invalid and detection limited to about 14-15 tiles away. I'm going to focus on quick detection of enemies and evasive reactions instead, and we still can focus on running to safe spots, switching skilling locations, logging out when there is too much danger and more. I was really looking forward to that but oh well, the system will be complicated enough already, all is not lost.
Changelog
Created thread - 7/16/2015
Added Entry 1 - 7/16/2015
Further research is required, put into spoiler for now. - 7/17/2015
Added Entry 2 - 7/17/2015
Reserved for future use
Last edited: