Author Topic: Revive location indicator [mini-map option]  (Read 2469 times)

Offline Event "Janе" Horizon

  • Survival closed test group
  • Hero Member
  • *****
  • Posts: 1773
  • Humble makes pie. Don't make pie, be AWESOME.
    • View Profile
    • Jane's AfterWorld Secrets
  • Gender: Female [Female]
  • In game: No
  • State: Human
Revive location indicator [mini-map option]
« on: March 27, 2014, 07:07:44 pm »
Recently, players have asked to know where they will revive if the die / request revival.

I have provided a map with the revive boundaries where all 7 revive points are DNA registered.
However, that is not going to be much help to Newcomers as they will only have two of these registered (I assume a Newcomer has Mugen Village and New Urengoy DNA registered after they arrive at New Urengoy).

Suggestion: Add a special marker to the mini-map that allows a player to indicate a revive point. Have these markers indicate which one is closest to the player (e.g. marker blinks; different color in the marker list).

This will be more important in the Asian World map where there are likely to be dozens of revives scattered across the world.
  • Citizenship: Regular citizen
  • Last seen in New Urengoy [Q] at Outpost / Storages
  • Member of corporation: Savonation
  • Member of society: Savonites
NEVER DOUBT yourself. YOU ARE intelligent, forgiving and AWESOME.

Jane's AfterWorld Secrets
http://jaws.altervista.org/index.html

Offline dale "dalewj" ofj

  • Survival closed test group
  • Hero Member
  • *****
  • Posts: 1103
  • Leader of Hunters Unlimited, Admin of Wiki, Author
    • View Profile
    • Author - Diaries of Afterworld
  • Gender: Male [Male]
  • In game: No
  • State: Human
Re: Revive location indicator [mini-map option]
« Reply #1 on: March 27, 2014, 08:28:41 pm »
I think revival points are part of the challenge of playing the game.   Automating/Eliminating all the challenges leaves in EU-WoW zone.
  • Citizenship: Regular citizen
  • Last seen in Saransk, Town at Weaponry & Tools craft building, accessing Storage
  • Member of corporation: Alpha Unlimited
  • Member of society: Hunters Unlimited
Its been fun everyone will miss you all.   I'm at  dalewj.com and in every social network im dalewj. 

Playing the 'The Repopulation' a giant MMO has lots of EU and AW in it.  Come join us.  Im on east coast server and guess what my name in the game is.....

Offline Event "Janе" Horizon

  • Survival closed test group
  • Hero Member
  • *****
  • Posts: 1773
  • Humble makes pie. Don't make pie, be AWESOME.
    • View Profile
    • Jane's AfterWorld Secrets
  • Gender: Female [Female]
  • In game: No
  • State: Human
Re: Revive location indicator [mini-map option]
« Reply #2 on: March 27, 2014, 09:38:01 pm »
I think revival points are part of the challenge of playing the game.   Automating/Eliminating all the challenges leaves in EU-WoW zone.
DL doesn't need to do this. However, someone will create an interactive map / utility that does the same since all you need is your map coordinates and a list of revive points.
  • Citizenship: Regular citizen
  • Last seen in New Urengoy [Q] at Outpost / Storages
  • Member of corporation: Savonation
  • Member of society: Savonites
NEVER DOUBT yourself. YOU ARE intelligent, forgiving and AWESOME.

Jane's AfterWorld Secrets
http://jaws.altervista.org/index.html

Offline Leopold "Shaqan" Mutter

  • Jr. Member
  • **
  • Posts: 95
  • I am MALE!
    • View Profile
  • Gender: Male [Male]
  • In game: No
  • State: Human
Re: Revive location indicator [mini-map option]
« Reply #3 on: March 29, 2014, 06:51:31 pm »
are coordinates written somewhere into local drive log files? Like sau loots and chat are.

Without that coordinates data in log files as plain text, forget it. Creating tool which would use OCR would be just too much trouble. Both for coder and end-users.
  • Citizenship: Regular citizen
  • Last seen in Saransk, Town at Outpost / Storages
  • Member of corporation: test
  • Member of society: Pleasure and Power
AMD FX-8350 on ASUS M5A99X Evo R2.0, 1x8Gb 1866Mhz DDR3, Creative SoundBlaster Live!, Nvidia Geforce 660Ti
LSI MegaRaid 9260-8i (2xSeagate Cheetah 15k7 600Gb SAS RAID 0)
Intel SASU8I (Initiator-Target mode firmware) Seagate Cheetah 15k7 300Gb SAS
OS:Win7 Pro x64 | OS:OpenSUSE 13.1 x64

Offline Event "Janе" Horizon

  • Survival closed test group
  • Hero Member
  • *****
  • Posts: 1773
  • Humble makes pie. Don't make pie, be AWESOME.
    • View Profile
    • Jane's AfterWorld Secrets
  • Gender: Female [Female]
  • In game: No
  • State: Human
Re: Revive location indicator [mini-map option]
« Reply #4 on: March 29, 2014, 09:27:41 pm »
are coordinates written somewhere into local drive log files? Like sau loots and chat are.

Without that coordinates data in log files as plain text, forget it. Creating tool which would use OCR would be just too much trouble. Both for coder and end-users.
The coordinates are written to the log files (see https://my.afterworld.deelogic.net/survival/knowledge-database/building-inside-the-swamp/msg4480/#msg4480 for an example where that data was used).
And the file is updated real time. :)
  • Citizenship: Regular citizen
  • Last seen in New Urengoy [Q] at Outpost / Storages
  • Member of corporation: Savonation
  • Member of society: Savonites
NEVER DOUBT yourself. YOU ARE intelligent, forgiving and AWESOME.

Jane's AfterWorld Secrets
http://jaws.altervista.org/index.html

Offline Leopold "Shaqan" Mutter

  • Jr. Member
  • **
  • Posts: 95
  • I am MALE!
    • View Profile
  • Gender: Male [Male]
  • In game: No
  • State: Human
Re: Revive location indicator [mini-map option]
« Reply #5 on: March 29, 2014, 10:26:26 pm »
k, had no way for checking it out, sitting behind laptop


  • Citizenship: Regular citizen
  • Last seen in Saransk, Town at Outpost / Storages
  • Member of corporation: test
  • Member of society: Pleasure and Power
AMD FX-8350 on ASUS M5A99X Evo R2.0, 1x8Gb 1866Mhz DDR3, Creative SoundBlaster Live!, Nvidia Geforce 660Ti
LSI MegaRaid 9260-8i (2xSeagate Cheetah 15k7 600Gb SAS RAID 0)
Intel SASU8I (Initiator-Target mode firmware) Seagate Cheetah 15k7 300Gb SAS
OS:Win7 Pro x64 | OS:OpenSUSE 13.1 x64

Offline Jarod "Brickwit" McBrickerton

  • Survival closed test group
  • Hero Member
  • *****
  • Posts: 1948
  • AfterWiki admin & Computer Engineer
    • View Profile
  • Gender: Male [Male]
  • In game: No
  • State: Human
Re: Revive location indicator [mini-map option]
« Reply #6 on: March 31, 2014, 05:58:06 pm »
The coordinates are written to the log files (see https://my.afterworld.deelogic.net/survival/knowledge-database/building-inside-the-swamp/msg4480/#msg4480 for an example where that data was used).
And the file is updated real time. :)
This is only true when you press the Date/Time/Coordinates keyboard key, 'O' by default. Unless you use a macro program to repeatedly press this for you...
  • Citizenship: Regular citizen
  • Last seen in Saransk West at Outpost / Storages
  • Member of corporation: Consolidators
  • Member of society: Shadow Corpse
Proud Officer in Shadow Corpse society and Consolidators corporation.

Offline Event "Janе" Horizon

  • Survival closed test group
  • Hero Member
  • *****
  • Posts: 1773
  • Humble makes pie. Don't make pie, be AWESOME.
    • View Profile
    • Jane's AfterWorld Secrets
  • Gender: Female [Female]
  • In game: No
  • State: Human
Re: Revive location indicator [mini-map option]
« Reply #7 on: March 31, 2014, 07:57:19 pm »
The coordinates are written to the log files (see https://my.afterworld.deelogic.net/survival/knowledge-database/building-inside-the-swamp/msg4480/#msg4480 for an example where that data was used).
And the file is updated real time. :)
This is only true when you press the Date/Time/Coordinates keyboard key, 'O' by default. Unless you use a macro program to repeatedly press this for you...
Why would a player need to be continuously reminded of where the revive boundary is?
Wouldn't it be enough that a player is at coordinates 12.45E 67.89N,  presses O and is told that they need to go to 24.68E 35.79N to revive at their selected outpost? They then use their mini-map to get to those coordinates?
  • Citizenship: Regular citizen
  • Last seen in New Urengoy [Q] at Outpost / Storages
  • Member of corporation: Savonation
  • Member of society: Savonites
NEVER DOUBT yourself. YOU ARE intelligent, forgiving and AWESOME.

Jane's AfterWorld Secrets
http://jaws.altervista.org/index.html

Offline Leopold "Shaqan" Mutter

  • Jr. Member
  • **
  • Posts: 95
  • I am MALE!
    • View Profile
  • Gender: Male [Male]
  • In game: No
  • State: Human
Re: Revive location indicator [mini-map option]
« Reply #8 on: March 31, 2014, 10:21:22 pm »
delayed action would work.
Press 'O' ingame, it will cause coordinates being written into log file. At the same time your code is waiting for hotkey 'O' and while noticing it pressed, starts it's assigned function.

First thing that function is doing after being initiated is going to brief sleep (about 200ms, giving game some time to write into logs) then accessing the log itself

It skims trough the log file end section with regular expression looking for coordinate data and extracts the latest entry.

Then your code compares extracted data against SQLite database file and returns closest match.
Technically doable by the degree you described (you are at xx.xx, go to the yy.yy for getting to zz) using pretested and stored coordinates for answer.

Not doable once you start wishing for real time predictions. Not without knowing exactly by meter how and where the revival zone borders go.
« Last Edit: March 31, 2014, 10:46:25 pm by Leopold "Shaqan" Mutter »
  • Citizenship: Regular citizen
  • Last seen in Saransk, Town at Outpost / Storages
  • Member of corporation: test
  • Member of society: Pleasure and Power
AMD FX-8350 on ASUS M5A99X Evo R2.0, 1x8Gb 1866Mhz DDR3, Creative SoundBlaster Live!, Nvidia Geforce 660Ti
LSI MegaRaid 9260-8i (2xSeagate Cheetah 15k7 600Gb SAS RAID 0)
Intel SASU8I (Initiator-Target mode firmware) Seagate Cheetah 15k7 300Gb SAS
OS:Win7 Pro x64 | OS:OpenSUSE 13.1 x64

Offline Event "Janе" Horizon

  • Survival closed test group
  • Hero Member
  • *****
  • Posts: 1773
  • Humble makes pie. Don't make pie, be AWESOME.
    • View Profile
    • Jane's AfterWorld Secrets
  • Gender: Female [Female]
  • In game: No
  • State: Human
Re: Revive location indicator [mini-map option]
« Reply #9 on: April 01, 2014, 12:02:28 am »
I do not think a database is required.
There are only 7 revives at the moment; of which a player will have between 2 and 7 revives registered.
You do not need to 'pre-test' every point between every revive - the rule is that you revive at the nearest outpost where you have registered your DNA.
So ...
1. draw a straight line between yourself and each DNA registered revive.
2. workout which line is the shortest. This is the nearest revive.
3. if that is your chosen revive point - TA DA - revive now.
4 If you want to revive at an output that is not the nearest - work out where along the line between you and the chosen revive that a point is closer to the chosen revive than any other revive.
5. move directly towards that point until you are past it and - TA DA - revive.

or something like that.
  • Citizenship: Regular citizen
  • Last seen in New Urengoy [Q] at Outpost / Storages
  • Member of corporation: Savonation
  • Member of society: Savonites
NEVER DOUBT yourself. YOU ARE intelligent, forgiving and AWESOME.

Jane's AfterWorld Secrets
http://jaws.altervista.org/index.html

Offline Jarod "Brickwit" McBrickerton

  • Survival closed test group
  • Hero Member
  • *****
  • Posts: 1948
  • AfterWiki admin & Computer Engineer
    • View Profile
  • Gender: Male [Male]
  • In game: No
  • State: Human
Re: Revive location indicator [mini-map option]
« Reply #10 on: April 01, 2014, 03:25:26 am »
The coordinates are written to the log files (see https://my.afterworld.deelogic.net/survival/knowledge-database/building-inside-the-swamp/msg4480/#msg4480 for an example where that data was used).
And the file is updated real time. :)
This is only true when you press the Date/Time/Coordinates keyboard key, 'O' by default. Unless you use a macro program to repeatedly press this for you...
Why would a player need to be continuously reminded of where the revive boundary is?
Wouldn't it be enough that a player is at coordinates 12.45E 67.89N,  presses O and is told that they need to go to 24.68E 35.79N to revive at their selected outpost? They then use their mini-map to get to those coordinates?
I was reading what Shaqan said and your response as an attempt to analyse where a user is at any given time rather than comparing the current position to the Outpost locations. My bad, nevermind the quoted post.

I think your last post sums up the basic requirements pretty well. The only user input required would be the names of the towns where the player has already registered DNA and the rest would be automatic, especially if the utility watches for new registrations while it's running.
  • Citizenship: Regular citizen
  • Last seen in Saransk West at Outpost / Storages
  • Member of corporation: Consolidators
  • Member of society: Shadow Corpse
Proud Officer in Shadow Corpse society and Consolidators corporation.

Offline Leopold "Shaqan" Mutter

  • Jr. Member
  • **
  • Posts: 95
  • I am MALE!
    • View Profile
  • Gender: Male [Male]
  • In game: No
  • State: Human
Re: Revive location indicator [mini-map option]
« Reply #11 on: April 01, 2014, 01:34:32 pm »
So it would need something along the lines of vector calculations. Are you 100% sure that revivals work on "closest approach" principle?

SQL would still be in order. Easier to adjust to coordinate grid shifts and/or add new revival points in single database file than to modify bunch of global constants in code itself.

  • Citizenship: Regular citizen
  • Last seen in Saransk, Town at Outpost / Storages
  • Member of corporation: test
  • Member of society: Pleasure and Power
AMD FX-8350 on ASUS M5A99X Evo R2.0, 1x8Gb 1866Mhz DDR3, Creative SoundBlaster Live!, Nvidia Geforce 660Ti
LSI MegaRaid 9260-8i (2xSeagate Cheetah 15k7 600Gb SAS RAID 0)
Intel SASU8I (Initiator-Target mode firmware) Seagate Cheetah 15k7 300Gb SAS
OS:Win7 Pro x64 | OS:OpenSUSE 13.1 x64

Offline Jarod "Brickwit" McBrickerton

  • Survival closed test group
  • Hero Member
  • *****
  • Posts: 1948
  • AfterWiki admin & Computer Engineer
    • View Profile
  • Gender: Male [Male]
  • In game: No
  • State: Human
Re: Revive location indicator [mini-map option]
« Reply #12 on: April 01, 2014, 06:26:35 pm »
We all agree that it appears to work based on which location is closest when you die or manually call the revive bot, but it would take verification from the devs to know 100% for sure.

I think you're right about needing an SQL database, especially for growth. A simple list would work right now, but it's never a good idea to create a program with just a list of constants when that data is not 100% chiseled in stone. And since we already know that there will be additional points coming the best use of time is to build in the ability to add those points as easily as possible.
  • Citizenship: Regular citizen
  • Last seen in Saransk West at Outpost / Storages
  • Member of corporation: Consolidators
  • Member of society: Shadow Corpse
Proud Officer in Shadow Corpse society and Consolidators corporation.

Offline Event "Janе" Horizon

  • Survival closed test group
  • Hero Member
  • *****
  • Posts: 1773
  • Humble makes pie. Don't make pie, be AWESOME.
    • View Profile
    • Jane's AfterWorld Secrets
  • Gender: Female [Female]
  • In game: No
  • State: Human
Re: Revive location indicator [mini-map option]
« Reply #13 on: April 01, 2014, 10:53:32 pm »
I still do not see why a database is required.
Even if all 50  Asia world outposts are implemented - these still would static points on the map and easy to add to a list. So the below web code will still be more or less instantaneous.

NOTE: the mini-map doesn't seem to show you your exact coordinates (e.g. 54N 97.78E --> 54N 97.79E jumps to 54N 97.81E).  May need to put a 0.04 buffer in the to ensure you get to the right revive.

Code: [Select]
<html>

// This code is public domain. It can be used and changed without violating copyright.
//  However, it would be nice to have an acknowledgement of Event "Jane" Savon's contribution.

<script>

// Data

var defaultRevives = [
   ["Mugen Village",49.56, 85.79],
   ["New Urengoy",58.61, 94.61],
   ["Norilsk",60.72, 101.14],
   ["Saransk", 50.98, 100.68],
   ["Saransk West",51.16, 94.69],
   ["Surgot",54.59, 87.98],
   ["Turukhansk",56.17, 101.87]
   ];

// Classes

function Player(north,east) {
   var mNorth = north;
   var mEast = east;
   
   this.GetPosition = function() { // --> Point
      var point = new Point();
      point.North = mNorth;
      point.East = mEast;
      return point;
   }
}

function Point() {
   this.North = 0;
   this.East = 0;
   
   this.ToString = function() { // --> String
      return this.North.toFixed(2) "N " this.East.toFixed(2) "E";
   }
}

function Revive(name,north,east) {
   var mName = name;
   var mNorth = north;
   var mEast = east;

   var mId = Revive.id   ;

   this.GetId = function() { // --> id
      return mId;
   }

   this.GetName = function() { // --> name
      return mName;
   }
   
   this.GetPosition = function() { // --> Point
      var point = new Point()
      point.East = mEast;
      point.North = mNorth;
     
      return point;
   }   
}
Revive.id = 0;

function Revives() {
   var list = new Array();
   
   this.Add = function(revive) { // --> void
      list[revive.GetId()] = revive
   }
   this.GetByName = function(name) { // --> revive
      for (i=0; i<list.length; i  ) {
         if (list[i].GetName() == name) {
            return list[i];
         }
      };
   }
   this.GetList = function() { // --> revives list
      return list;
   }
}

// Functions

function GetNearestRevive(revives, point) { // --> Point
   var nearestRevive = null;
   var nearestDistance = Math.pow(2,32) -1;
   var reviveList = revives.GetList();
   var reviveCount = reviveList.length;
     
   for (i=0; i< reviveCount; i  ) {
      revive = reviveList[i];
      position = revive.GetPosition();
      dist = Math.pow(
               Math.pow((point.East - position.East),2)   Math.pow((point.North - position.North),2)
            ,0.5);
     
      if (dist < nearestDistance) {
         nearestDistance = dist;
         nearestRevive = revive;
      }
   }
   
   return nearestRevive;
}


function SetRevives(reviveList) { // --> Revives
   var revive;
   var revives = new Revives();
   for (i=0; i<reviveList.length; i  ) {
      revive = new Revive(reviveList[i][0],reviveList[i][1],reviveList[i][2]);
      revives.Add(revive);
   }
   
   return revives;
}

// Main

var revives = SetRevives(defaultRevives);

var player = new Player(54,97.77);
var revivePoint = GetNearestRevive(revives,player.GetPosition());
alert("Player at "   player.GetPosition().ToString()   " revives at: "   revivePoint.GetName());

var player = new Player(54,97.78);
var revivePoint = GetNearestRevive(revives,player.GetPosition());
alert("Player at "   player.GetPosition().ToString()   " revives at: "   revivePoint.GetName());

</script>
</html>
« Last Edit: April 01, 2014, 11:06:23 pm by Event "Janе" Horizon »
  • Citizenship: Regular citizen
  • Last seen in New Urengoy [Q] at Outpost / Storages
  • Member of corporation: Savonation
  • Member of society: Savonites
NEVER DOUBT yourself. YOU ARE intelligent, forgiving and AWESOME.

Jane's AfterWorld Secrets
http://jaws.altervista.org/index.html

Offline Leopold "Shaqan" Mutter

  • Jr. Member
  • **
  • Posts: 95
  • I am MALE!
    • View Profile
  • Gender: Male [Male]
  • In game: No
  • State: Human
Re: Revive location indicator [mini-map option]
« Reply #14 on: April 02, 2014, 12:16:02 am »
I still do not see why a database is required.
more flexibility. It does not concern end users anyway because SQLite is serverless by nature. Convenient way for storing data/variables outside your code and faster than using text files. Plus extra functionalities you get with databases but can't do with text files.
« Last Edit: April 02, 2014, 12:22:57 am by Leopold "Shaqan" Mutter »
  • Citizenship: Regular citizen
  • Last seen in Saransk, Town at Outpost / Storages
  • Member of corporation: test
  • Member of society: Pleasure and Power
AMD FX-8350 on ASUS M5A99X Evo R2.0, 1x8Gb 1866Mhz DDR3, Creative SoundBlaster Live!, Nvidia Geforce 660Ti
LSI MegaRaid 9260-8i (2xSeagate Cheetah 15k7 600Gb SAS RAID 0)
Intel SASU8I (Initiator-Target mode firmware) Seagate Cheetah 15k7 300Gb SAS
OS:Win7 Pro x64 | OS:OpenSUSE 13.1 x64