HeatMap (Processor of players pass-by-spot levels) [TOOL]

Tutorials and discussions about Mapping - Introduce your own ones!
User avatar
PrinceOfFunky
Godlike
Posts: 1200
Joined: Mon Aug 31, 2015 10:31 pm

Re: HeatMap (Processor of players pass-by-spot levels) [T

Post by PrinceOfFunky »

nogardilaref wrote:I am not sure which characters aren't allowed (or at least strongly advised against), but rather than excluding what you cannot use, it's probably better to opt to use a few and establish a notation instead.
For instance, alphanumeric, underscore and hyphens are allowed, so maybe you should stick with those.
Heatmap file names will include infos about the game situation, like the map name, the mutator list etc... I know they will have very long file names but what's a better solution for it?
I mean, imagine someone looking for DM-Pressure with InstagibArena mutator and minDist(the resolution of the heatmap) set to 100,50,30, wouldn't that person find it better to look for a list of filenames including all these settings or should he/she better open any file one by one just to read the settings?

EDIT: Unless I implement a GUI which lets you filter the heatmaps basing on their settings. I never made any GUI tho :/
"Your stuff is known to be buggy and unfinished/not properly tested"
User avatar
Barbie
Godlike
Posts: 2792
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: HeatMap (Processor of players pass-by-spot levels) [T

Post by Barbie »

PrinceOfFunky wrote:Well, I have a question now, what symbol could not be used to name map files?
That depends on multiple factors: The character set must be supported by the file system, the operation system and finally by UT itself. While UnrealTournament.exe can even open maps with characters outside the ANSI char set, UnrealEd denies opening it (just tried with "中文字.unr"). Probably UnrealEd supports only charsets with 8 Bit.

To answer your question: I don't know any file system that supports the NULL char (ASCII code 0) in file names. So IMO this char cannot be used to name Unreal maps. :satan:
"Multiple exclamation marks," he went on, shaking his head, "are a sure sign of a diseased mind." --Terry Pratchett
User avatar
PrinceOfFunky
Godlike
Posts: 1200
Joined: Mon Aug 31, 2015 10:31 pm

Re: HeatMap (Processor of players pass-by-spot levels) [T

Post by PrinceOfFunky »

Barbie wrote:To answer your question: I don't know any file system that supports the NULL char (ASCII code 0) in file names. So IMO this char cannot be used to name Unreal maps. :satan:
Yeah but at this point not even the heatmap file names support it XD.
PrinceOfFunky wrote:I'm trying to find a separator to use for heatmap file names.
Gawd they have been 8 hours since I'm programming this today D: wrote more than one thousand rows of code and I didn't even test anything yet :(( (Which means I may have f*cked up the whole project lol)

EDIT: What about spaces??
EDIT 2: Well, in the worst case I just won't use separators, that's an example: AS-OverlordBotpack.Assault100.0100.0100.01Botpack.DMMutator.uhm
lol what a messy name.
"Your stuff is known to be buggy and unfinished/not properly tested"
User avatar
XaNKoNII
Skilled
Posts: 216
Joined: Wed Jun 09, 2010 12:29 pm
Personal rank: Phenix
Location: Portugal

Re: HeatMap (Processor of players pass-by-spot levels) [T

Post by XaNKoNII »

In late response... I´m thinking so yeah
User avatar
PrinceOfFunky
Godlike
Posts: 1200
Joined: Mon Aug 31, 2015 10:31 pm

Re: HeatMap (Processor of players pass-by-spot levels) [T

Post by PrinceOfFunky »

UPDATE:
New features added and writing/reading into an intermediate file is completed.
Pretty much(for now) the workflow is this one(viewed from the UNREAL side, not from the other software):
1 - Connect, check if the protocol version is the same of the other software;
2 - If so, read a file which includes all the classes that the user/admin wants to track for the heatmap and spawn the respective "ClassTracker"s *read Tracker and ClassTracker below for info*;
3 - Also, send the match settings(including the map name of course);
4 - Wait for the other software to send a heatmap(intermediate) file name, in case there's already a heatmap matching the current match settings, if there's one read it and spawn all the readed "LocationInfo";
6 - Send a signal to end the process successfully.

Tracker: A Tracker is a class which implements a function that has an Actor as parameter and returns a boolean, it is called by HeatMap when deciding if to track a certain Actor or not.
ClassTracker: Extends Tracker and can be easily used by non-developers to track actors of a certain class, since of step 2 written above.

Here you can see me playing a map while info and locations are being sent to the other software, a file is created when I end the match and when I re-play that map(if settings are the same of the match I previously played) the intermediate file is readed by Unreal which spawns "LocationInfo"s in the map, which will be updated while playing the match and then re-sent etc..
(EDIT: From 4:36 to 5:55 there was something like a bug, it's like Unreal cannot read an INT if it has changed while in the same Unreal session)
lRMECoILKNQ
"Your stuff is known to be buggy and unfinished/not properly tested"
User avatar
PrinceOfFunky
Godlike
Posts: 1200
Joined: Mon Aug 31, 2015 10:31 pm

Re: HeatMap (Processor of players pass-by-spot levels) [T

Post by PrinceOfFunky »

Well, there's an update:
tIgG8CY5LJo
TCP is not used anymore, files and external scripts are used instead, you can modify the external scripts for your needs.
Other than a general testing, the features I still want to implement are:
- Possibility to save settings other than the standard ones;
- A GUI to let the user decide what to convert to T3D(filtering by actors etc), I already made one with Java but the library I used was totally bugged and the standard library is very out of date.
"Your stuff is known to be buggy and unfinished/not properly tested"
Red_Fist
Godlike
Posts: 2163
Joined: Sun Oct 05, 2008 3:31 am

Re: HeatMap (Processor of players pass-by-spot levels) [T

Post by Red_Fist »

Couldn't you do something like make the pickup or followed paths actors become larger the more it's traveled ?

By the end of the match you could see what is and what isn't being used, then , or, tag a little number to show the times it was collided with.

LoL, hell I don't know but something more hands on for quick testing, rather than making a separate file to read stats from, all you do is play the match to SEE what is going on without watching bots 10 trillion hours. :noidea
Binary Space Partitioning
User avatar
PrinceOfFunky
Godlike
Posts: 1200
Joined: Mon Aug 31, 2015 10:31 pm

Re: HeatMap (Processor of players pass-by-spot levels) [T

Post by PrinceOfFunky »

Red_Fist wrote:Couldn't you do something like make the pickup or followed paths actors become larger the more it's traveled ?

By the end of the match you could see what is and what isn't being used, then , or, tag a little number to show the times it was collided with.

LoL, hell I don't know but something more hands on for quick testing, rather than making a separate file to read stats from, all you do is play the match to SEE what is going on without watching bots 10 trillion hours. :noidea
Mhm? This is a project to get big-data, not just one-shot data, also it's not just for bots, it's for players and whatever other actors.
"Your stuff is known to be buggy and unfinished/not properly tested"
Post Reply