Page 2 of 2

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

Posted: Wed Nov 15, 2017 2:36 am
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 :/

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

Posted: Wed Nov 15, 2017 3:30 am
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:

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

Posted: Wed Nov 15, 2017 4:20 am
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.

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

Posted: Thu Nov 16, 2017 12:54 am
by XaNKoNII
In late response... I´m thinking so yeah

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

Posted: Fri Nov 17, 2017 10:03 pm
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

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

Posted: Mon Jan 08, 2018 11:25 pm
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.

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

Posted: Tue Jan 09, 2018 4:52 am
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

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

Posted: Tue Jan 09, 2018 6:12 am
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.