Jump to content
skruis

Athena - An ARMA 2nd Screen Application

Recommended Posts

Yea, and this 'instability' in the tracking was actually emphasized w/ the more frequent updates from ARMA so it's a bigger issue that needs to be addressed. I'm going to try and nail that down tonight.

Share this post


Link to post
Share on other sites

Tank, is 'following' the player if they moved a major issue? The more complicated I make the 'follow' function, the more prone it will be to breakage.

You mean following them during any possible teleporting around the map? It's not a big problem if it introduces an unwanted layer of complexity.

 

// we crossposted //

Share this post


Link to post
Share on other sites

Yea, I know it might break immersion for certain solutions that scripters are using to simulate situations but with the variety of solutions that ARMA is capable of and that mission designers may use, strategically in terms of development effort, it makes a little more sense to keep the 'follow' function simple.

  • Like 1

Share this post


Link to post
Share on other sites

For you pilots, auto zoom adjust while flying based on speed? Sound like a worthy feature?

Share this post


Link to post
Share on other sites

Ok, I added it and it's pretty cool. I just need to add a way to disable it and then we're good for a release.

Share this post


Link to post
Share on other sites

I'm only an occasional (read crashy/fiery) pilot but I think I remember the mini map having a useful feature. As it's quite a small and highly zoomed map, it used to move the followed object away from the centre of the displayed map. So, if you were travelling north, it would move the followed vehicle slightly towards the bottom of the image, thus giving more map realestate to what was in front of the vehicle and less to what was behind. The faster the evhicle went, the more it would zoom out.

 

This is only useful to vehicles travelling at speed, perhaps > 80 khm. As Athena has variable zoom and never really zooms in far enough to make this useful, I wonder if it would be worth doing? Is the following vehicle hardcoded into the exact middle of the map?

Share this post


Link to post
Share on other sites

Tank,

 

As of right now, it 'is' hardcoded to the center. Hmm, well, it's in already, just have to give users a way to turn it off. If it turns out to be universally hated, I'll pull it. In other news, I 'think' I have a solution for your respawn problem. I added a 'static' player entry to the unit list. The problem is mostly because players are associated with actual units and the player 'occupies' a unit for what could be a long or short time but I figured the 'player' mostly wanted to track themselves. By default, it will track the 'player' unit. If the user selects a specific unit from the mission (themselves or another unit) and that unit disappears from collection (you switch sides, they switch sides, they die, you die, etc.), it will default to tracking the 'player'. Sound good?

 

-bus

  • Like 1

Share this post


Link to post
Share on other sites

Does sound good. Being a mission designer, I do have some idea of the challenges tracking the player gives and I think your doing a fine job. :)

Share this post


Link to post
Share on other sites

Ok, so here's a status report: First, my wife was in the hospital for a scheduled surgery so I was unable to actively work on Athena much but I have also been experimenting with using the per frame handler from CBA in order to provide X amount of updates per second (actually real time). What I've determined is that, and this is going to sound pretty obvious in hindsight, is that the impact on FPS greatly increased with the amount of friendly units. So, if it's just you, there's no impact to the FPS. If it's you and 60 others, I was able to measure an almost 30% impact to FPS. For example, I launched my test mission w/ around 60 friendly units in it. When I stared at the ocean, I would hit 100FPS. When I turned on Athena (pressing "Start" in the app), the FPS dropped to around 70. When I would actually particpate in the mission, I would get around 40FPS while walking around shooting at the enemy but when I turned on Athena (again by hitting "Start"), the FPS dropped to just below 30. To me, that's unacceptable. What if you're playing a mission w/ a 100 friendly units? It just doesn't scale well. I tried some tricks but querying the position and view direction of 60 units and then exporting that data to an extension takes some time and then if you have 60 FPS, it'll try to do that 60 times per second so even though we're talking about operations that take fractions of a second, multiplying those fractions of a second times the number of friendly units takes time away from other operations and thus reduces how many frames arma can produce per second and has a very noticeable effect on your experience. So, here's what I'm thinking: YOUR position will be updated in real time ... maybe your groups as well but the rest of the friendly units will continue to update as quickly as ARMA's scheduled environment is able to provide those updates. Does that seem like a good compromise?

Share this post


Link to post
Share on other sites

Well, I improved the performance to the point to where I don't really see a point in 'not' tracking all friendly per frame. Additionally, I've made some architectural changes. Instead of going straight to a socket server and pushing the frames to the Athena application, I've created a separate executable that hosts a pipe server and will perform the socket operations for me. Offloading some of the functions to the executable helped increase the performance a bit, although probably in ways that could have also been implemented from within the ARMA extension, but mostly, it's made debugging so much easier. I can attach to the executable and see what's going on behind the scenes (what data is coming from ARMA, what data is going into ARMA, what data is coming from Athena, what data is going into Athena) so tracking down formatting and communication bugs is much much easier than it used to be. Another change is that multiple simultaneous Athena clients are going to be supported... why is this something you should care about? I don't know...but for those of you that are hardcore pilots...maybe you can imagine the possibilities.

 

Also, I imported Tonoa:

 

20160607-Tonoa-Island-Center-HMG-SM.png​

  • Like 1

Share this post


Link to post
Share on other sites

You guys feel like doing some bug hunting? Well, it won't be difficult :-)

 

http://www.athenamod.com/download/20160610.zip

 

Be sure to:

 

1. Download the zip

2. Right click on it and select properties

3. Look at the general tab

4. On the bottom of the tab, it may indicate that the file is 'blocked', click 'unblock'.

 

Place the @athena folder in your arma3 folder and run the Athena Desktop.exe. You may get a prompt from your firewall software to allow activity, allow it. Additionally, the extension has not been submitted to BIS so 'DISABLE BATTLEEYE'.

 

In this release, I've included:

 

General

1. Per frame unit position and direction updates

2. All other data is collected at minimum every 5 seconds but actual updates will depend on your PC speed and mission scripting complexity

3. Updated the scripts to track player side changes

4. Disabled the auto hiding of units

5. Enabled auto zoom when in vehicle based on speed (needs serious improvement, non-configurable and cannot currently be disabled)

 

Mission Exports

1. Resolved issues with the black blobs in < 0 elevation terrains

2. Improved the forest rendering algorithm and lowered map export times

 

Application

1. Renamed the 'track' button to 'follow'

 

Not included but previously claimed as 'done':

1. Locations added via scripts - the current version of the script crashes ARMA when exporting heavy amounts of data (N'Ziwasogo crashed when exporting the forests consistently when the location script was in use)

 

So, this update, again, features some architectural changes: why? There are going to be multiple Athena applications and multiple Athena supported clients in the future. These changes both helped to improve my debugging of the mod and laid some groundwork for the future. These changes resulted in the creation of the Athena Relay program that will launch and close automatically with Arma 3. If you get a prompt about Athena Relay, allow it to run and open holes in your computer's firewall.

 

Also, with the introduction of the per frame updates, performance issues in the desktop app have surfaced. The app used to take around 4-5% CPU depending on what was going on but on mine, I'm seeing 20% usage at time because of the 30+ updates per second. This is driving the need for streamlining and optimization within the desktop application. That will happen but it has not happened yet. This is a test release just to get feedback on the per frame updates. Additionally, Multi Ink seems to be flaky. It's on my 'to investigate' list.

 

Give the new version a whirl and let me know what you think.

 

Thanks,

 

bus (skruis)

  • Like 1

Share this post


Link to post
Share on other sites

...doesn't matter :-) I don't think anything in the mod relies on anything in the dev version though the export scripts performance will be improve slightly when the next version is released...just because of changes to a couple of commands but even still, it won't be a huge difference.

Share this post


Link to post
Share on other sites

Thx bud, appreciate it

Share this post


Link to post
Share on other sites

Thx bud, appreciate it

 

YOU are doing the hard work, not me ! ;) 

Thx for sharing all this with the community !

  • Like 1

Share this post


Link to post
Share on other sites

Oh, I screwed up, the athena desktop.exe in the zip was out of date, I updated the zip. If you downloaded it already, please redownload. Sorry for the inconvenience!

 

I also just noticed that Athena doesn't work with the campaign or at least, the beginning of it. I took a look at the data coming from ARMA. It's sending vehicles but no groups or units. I'm guessing that's because, currently, I'm starting the collection routine for both groups and units with a call to allGroups. allGroups according to the wiki, collects all groups except those of sideLogic. So at first, I thought I had a major issue but the thing that caught my attention was that vehicles 'were' being populated. If there aren't any groups on my side and there aren't any units on my side, how am I able to pull up crewed vehicles belonging to my side? I believe it's because the vehicle collection script iterates through all of the vehicles and then compares them directly to the 'side' of the player whereas the other scripts use allGroups. I'm guessing BIS is doing something smart in the background with sideLogic in the opening of the campaign that's causing the allGroups to not work the way I was expecting. I'll revise the data collection scripts. I was hoping that by calling groups for a side and then collecting the units of the groups that perhaps I could cut down resource usage rather than iterating through all of the units and checking their side ... but if it doesn't work, it doesn't work or at least, how I'm going about doing this isn't working so ... yea. A fix will be available later tonight (GMT -6).

Share this post


Link to post
Share on other sites

Just wondering, is the location / map display in Athena dependent on having an actual map, compass and or GPS in game?

If not, would this be hard to add?

 

Was talking about this with a server owner, and he mentioned this. Without this feature it might be cheating in certain missions were no map or GPS is available.

 

Besides that, fantastic work there! Was waiting for something similar to appear since playing arma 2. This goes way beyond what I expected!

Share this post


Link to post
Share on other sites

Some unrelated questions and comments...

 

A few posts back you mentioned that you imported Tanoa. Will that be available as a map package download on the website anytime soon, or did you mean you imported it in some other way?
Reason I'm asking is that I can't seem to get that done myself... When I try to use EXPORTNOGRID ( or TOPOGRAPHY) I don't get any .emf files. I ran A3 in administrator mode, and double checked that I was entering the command right, and I got the activation message after typing the command each time...

I checked the A3 wiki, and it seems to quote KK's blog, in saying:
"Go to c:\ ... If you had activation message and no file saved, something is wrong with write file permission to this location, you will have to troubleshoot it on your own."

Not really sure how to troubleshoot that, and google doesn't seem so sure how to help me either :/. I'm running windows 10 and I think UAC is disabled, but maybe there's still some issue with file permissions (I can't imagine what).

 

Can a kind soul enlighten me as to what I may need in order to fix this issue?

Also, a link to a .emf or .png download for Tanoa would rock too! Tried googling for said downloads, but I can't find either.

 

 

Second question, is the Athena program available on your website the same version as the one on the Windows store? Which do you recommend using?

 

On a less serious note, the image links in the thread OP seem to all 404 :P

Share this post


Link to post
Share on other sites

CNutter,

 

I should probably pull the store version. It's hopelessly out of date so you should use th one from the webstie or the 'dev' versions I've been posting here. Actually, I'd recommend using the 'dev' version. For one, the map exports are almost completely automated and the update frequency is much improved. As far as why it's not working in the latest versions of ARMA, I'm sorry...I don't have an answer for you. I've taken a little break from ARMA and haven't had a chance to look into the issue with exportnogrid. Sorry.

 

Re: the images, whoops :-) will fix. Thanks for the heads up.

 

Thanks,

 

skruis (bus)

Share this post


Link to post
Share on other sites

Just read through the thread, and now I see that there is a lot of stuff in the dev version that's not in the version I was using. Admittedly I had stopped using Athena until recently, and kudos on all the awesome stuff you added!

I just installed the latest dev version that you posted, and ran A3. Was getting like two or three FPS and I couldn't get the app to connect to the game (I let it through the firewall, etc.)
Started looking around and I noticed that you said to disable Battleye for the dev versions. Disabled BE and I was immediately back to normal FPS, and the app happily informed me that there was a terrain that it needed to render!
Funny thing was that I was still in the main menu– apparently Athena detected Tanoa, which was rendered as the background scene.

So I let it do it's thing and the height mapping looks brilliant!

I think the dev version just about solved all my problems

 

Not sure if it's been asked, but can/ do you plan on getting it working with BE? Kinda bummed not being able to use Athena in multiplayer :/

 

Thanks anyway man, you do great work!
 

Share this post


Link to post
Share on other sites

Ha! I didn't realize it would run like that in the main menu. I disabled the world loading in the main menu in my launcher settings so I never experienced that. Too funny. I absolutely plan to get it working with BE. The dll was in such a state of flux that I would have been pestering BE to whitelist it on a daily basis there for a while. I'll review what I was planning on adding to the dev version prior to release and if there isn't much 'meat' left, I'll apply for whitelisting 'as is'.

 

Thanks,

 

skruis (bus)

  • Like 3

Share this post


Link to post
Share on other sites

First off: I love what you are doing with this addon, and this is precisely what I was looking for. 

 

The bad part however is that I would love to use the map on Coop server which are not hosted by me, and which are protected by battleeye.

I have no idea how you would go forward with the hosting/mission protection problem, as it seems a lot of map devs have scripts in place to detect the players asking the server for Unit positions.

 

 

Edit: due to me reading this Thread backwards, I did not read the last post of bus...

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×