skruis 180 Posted July 18, 2014 What does it do? 1. Provides some 2nd screen functionality 2. Increases players situational awareness 3. Increases teamwork with little effort Involves: 1. Some mission scripting 2. Arma2NET 2.3 (server side only) 3. An Arma2NET Plugin 4. A centrally hosted web service 5. Windows 8.1 App How does it work? From the app side.... The app submits the users SteamID to the webservice. The webservice queries the database and looks for a 'mission' in which the player is participating. It then presents data to that user for only the side their unit (associated with the SteamID) belongs to. From the server side.... The mission launches some scripts that will be provided by me. Those scripts will collect the data (units, groups, vehicles, markers) and it uses Arma2NET to push the data to my dll which then publishes the data to the webservice. When will it be ready for public testing? A couple of weeks. I'm planning on restricting the initial deployment to only a few servers/server admins that are willing to report back with issues and constructive comments. I do have a road map of sorts but release 1 is all about getting the basics as 'right' as possible. Is this something that any server admin is interested in making available to their clans/groups/pubbers? -Bus Share this post Link to post Share on other sites
terox 316 Posted July 19, 2014 I like the idea of a second screen, especially just a map view screen especially if this displays on a second monitor. Its an ideal tool for mission commanders and or admins Share this post Link to post Share on other sites
skruis 180 Posted July 19, 2014 This is geared towards being something that a team leader or a soldier would have with them in the field ... with some exceptions and yes, this app can run on a 2nd monitor (assuming you're using W8.1), a tablet, a laptop, etc. It shines brightest on a touchscreen with pinch to zoom. I've tested some basic coop missions (one large group start here, one large group start there) with maybe ... 120 AI on foot, mrap's, ifv's, mbt's and a blackfoot each being displayed with the correct group marker and that group marker changes dynamically as a group leader enters and exits a vehicle. It takes about 10 seconds for the app to update the friendly unit positions...as they continue to move and decreases as units die off...so it's not 'as fast' as the ingame map but for the purposes of coordination and management, it doesn't necessarily have to be. I've only been working on this system for a couple of weeks. I'm sure performance improvements can be made. Share this post Link to post Share on other sites
terox 316 Posted July 19, 2014 I'd be happy to beta test this for you. I run 2 physical servers and 3 virtual A3 servers with at least 50 players in general daily play Not that many run win8.1. I do, and am sure most of the potential mission commanders will have a tablet Can the "Map View" window be resized or does it need to be run fullscreen Share this post Link to post Share on other sites
skruis 180 Posted July 19, 2014 I'd appreciate it. I'm going to wrap up a few things, test on my server for a couple days and then I'll touch base with you again. The app runs in any size pane. Share this post Link to post Share on other sites
skruis 180 Posted July 23, 2014 Just an update. I'm going to try and submit the app to the store this weekend. Not sure how long it will take to get approved. Here's an updated screen: Share this post Link to post Share on other sites
Hawkeye104 10 Posted July 23, 2014 I'm very interested in this app. I run two virtual servers for the 15th. Have 10-15 people running trainings every day and a 30+ person mission every other week. I've been looking for something like this for a while, especially since I got a Venue 8 Pro. Does it show all players on the server or just group leaders? Share this post Link to post Share on other sites
skruis 180 Posted July 23, 2014 Hawkeye, it shows all players 'on your side'. Dots for units. Group markers on top of group leaders. Tap the group marker to see who is in a group as shown in the screenshot above for Group B-Alpha 4-2. BTW - I loved the V8P. I've missed it since I sold it to get the Vivotab Note 8 for it's Wacom stylus. Share this post Link to post Share on other sites
terox 316 Posted July 23, 2014 Once you have developed this to your satisfaction, it may well we worth porting over for the Win 7 o/s Share this post Link to post Share on other sites
skruis 180 Posted July 23, 2014 Maybe. It's slightly doubtful. Even if 8.x is panned and avoided by a lot of users, potentially 25% of the Steam community can run this app (though that doesn't necessarily translate into 25% of A3 players) and from the leaks 9.x is shaping up to be a good desktop OS so with my limited time, it's eyes forward...unless the backporting requires little effort...maybe a web app instead of a desktop app. Share this post Link to post Share on other sites
Dahlgren 19 Posted July 25, 2014 Depending on how the app is implemented this might be portable to Android and iOS using Xamarin which allows running .NET code natively. If this is of interest I might be able to help out. But it would probably be a better idea to port it to a web app. Share this post Link to post Share on other sites
skruis 180 Posted July 26, 2014 I'm currently testing it on "bus COOP" and so far, it appears to be working pretty well. I'm going to test it out for the remainder of the weekend and then I'll be comfortable releasing it to the store for approval. After it's in the store, I'll post the mission scripts and Arma2NET plugin with instructions. It's actually pretty simple to get up and running. Share this post Link to post Share on other sites
skruis 180 Posted July 28, 2014 A couple more screens... Initial elliptical marker implementation Initial dot/mil_dot marker implementation The marker data is provided live from within the mission as well. Create a marker in game and it'll show up in the app (as I add support for various marker icons). The only potential issue is determining which 'side' should see which markers. Markers created by a player are appended with the session id and I'm able to use that session id to determine what side the player was on when they created the marker however as the markers are created via script, I'm currently only able to capture 'server side' markers or markers whose positions are known globally. Those markers, without additional work, are inherently global as there doesn't appear to be a way to capture marker 'scope' and by scope I mean 'who should see what markers'. I might create a variable that allows mission editors to tell me what side a marker belongs to...yea, that seems like the best option seeing as how this is a 'scripting' related issue anyhow. Another iffy thing is the Altis map: it's huge. I can provide a decently high res image for Stratis but Altis is a different story. I had to lower the initial resolution/quality of the image to prevent the app from crashing. I might figure out a way around it but for the initial release, the low res version is 'good enough'. Also, re: update frequency. When I ran it locally, the time for processing AI, rendering, etc. really slowed down the data export. On the dedicated server to the web service and then replaying the updates onto the app: it's about 5 seconds for a mission with less then 100 AI. Share this post Link to post Share on other sites
zooloo75 834 Posted July 28, 2014 Awesome work! C#? Share this post Link to post Share on other sites
skruis 180 Posted July 28, 2014 vb.net .... I know, I know :-) I started out in .net with vb.net so I just kind of stuck with it. Share this post Link to post Share on other sites
zooloo75 834 Posted July 28, 2014 vb.net .... I know, I know :-)I started out in .net with vb.net so I just kind of stuck with it. Hey, whatever gets the job done, eh? Share this post Link to post Share on other sites
skruis 180 Posted August 6, 2014 App released to store. Keep in mind...this is an alpha. I'm packaging the current versions of the server side scripts and the Arma2Net plugin and will have them available shorty. There is a site, www.athenamod.com, that I threw together in like 30 minutes just to satisfy the app stores 'privacy policy' requirement. Soon, server admins will be able to register and add 'servers' to their account. That information (ip address and 'auth code') should then be added to the athena.uplink.v1.dll.config file. Additionally, missions will have to run a few scripts and will have to update some info in an athena_server_init.sqf that's specific to the mission. App Store Link: http://apps.microsoft.com/windows/app/athena-mod/e8cea723-2d0e-43e5-b820-4ef8cd52b224 You can try running the app and connecting to bus COOP to try it out. Again...Alpha. Share this post Link to post Share on other sites
Hawkeye104 10 Posted August 6, 2014 Just tried it out on my PC and on my Venue 8 Pro and it worked great. Is there a way of zooming in and out on the PC version? I don't think the pinch and zoom translated to mouse/keyboard control. For anyone else using it, here's a tool to find your SteamID: http://steamid.co/ You want the Steam64 ID for the app. So how is it going to working for server owners? Will I be able to look at the missions going on or will I need the SteamID of someone playing in it? Share this post Link to post Share on other sites
skruis 180 Posted August 6, 2014 (edited) Glad you liked it or more accurately, that it worked :-) I plan to add + and - buttons for manual zooming but for now, you can zoom in with your mouse by pressing ctrl+scroll wheel. With regards to server owners...do you mean that you want to watch the mission as its being played by other players even if you're not on the server? I will add that but I'm concerned with cheating ... so it'll optional for mission designers to allow spectators. The way I figure it, if it's a coop mission...who cares if a non-player has access to mission data? But if it's PvP, having that kind of access is essentially cheating. The process for spectators would be that, if a mission designer approves spectator mode, that they app would have a 'spectate' button that would prompt the user to enter the server id...or perhaps search for a server name. I have a bunch of features that I'd like to add: app DVR (record the missions and playback later), comm tools, collaborative offline mission planning (create markers, save them and then replay back into the live mission), etc. Edited August 6, 2014 by skruis Share this post Link to post Share on other sites
Hawkeye104 10 Posted August 6, 2014 Yep that's what I mean. We officially only do co-op missions in the 15th and I think it would be neat if leadership could watch operations/trainings happening without having to connect in-game. Share this post Link to post Share on other sites
skruis 180 Posted August 6, 2014 Not a problem. Can't guarantee a time frame but as a server owner, I like the idea. Share this post Link to post Share on other sites
skruis 180 Posted August 7, 2014 I've updated the Athena Mod website with some additional information and opened up registration for users/servers: www.athenamod.com. The site is pretty basic but the required functionality is there. Right now, anyone can create an Athena account and register a server however I have not released the mission scripts and Arma2NET plugin yet...ran out of time. I'll post them tonight. Share this post Link to post Share on other sites
skruis 180 Posted August 7, 2014 Instructions and download information have been posted. Go to athenamod.com and click "Instructions" for more details. Share this post Link to post Share on other sites
terox 316 Posted August 8, 2014 (edited) Having quicky looked but will spend more time on it this weekend my opinion is For this to really take off, you need to remove the requirement for any additional scripting in missions. Looking at the variable values you require. Edit your missions init.sqf and insert the line: [] execVM "Athena\Athena_Server_Init.sqf"; Edit the Athena\Athena_Server_Init.sqf and update the folllowing variables: Athena_Var_Map - A string value that should be either altis or stratis Athena_Var_MissionName - A string value that that is displayed to the user when they use the Windows app Athena_Var_MissionDescription - A string value that that is displayed to the user when they use the Windows app Athena_Var_MissionAuthor - A string value that that is displayed to the user when they use the Windows app Athena_Var_UpdateInterval - A numeric value that specifies the interval between updates. 0 is fine and will cause the scripts to run continously. Athena_Var_Sides - An array containing sides. Enter the 'sides' that contain playable units and for whom you'd like to make Athena available. This should be possible via a SERVERSIDE only addon, which is even better than having clients also require it And if you really wanted the mission developer to have control, allow mission scripting variables to overide addon defined variables, that way this would work for all missions in a "default" mode but still allow mission developer settings to overide default Auto initialisation of the addon for each mission can be accomplished by using cfgfunctions preinit=1 in the addon, this will automatically initiate a precompiled function at preinit, eg before the mission.sqm is even read. You can then spawn or execvm or call additional functions from the pre initialisation functions to run if required at a time later than preinit VAR_MAP can be defined using the command worldName Mission name can also be automated Author can be read from getText missionconfigfile >> "Author" Var_Sides can be defined by listing the different sides of the playable units Athena_Var_UpdateInterval Use a default setting or optionally defined if set in a mission Addon Config.cpp class cfgfunctions { class ATH // Tag { class f // core functions { file = "ATH\core"; class Pre_Init {description = "Athena initialisation function.";preInit = 1;}; }; }; }; To automate your Athena_Var_SidesValues Athena_Var_Sides = []; {if!((side _x) in sidearray))then{Athena_Var_Sides =Athena_Var_Sides + [side _x}}foreach Playableunits; Athena_Var_Map = worldname; Apologies for the rushed post, was doing this late into night, need to hit the sack, hope you comprehend it. Automatically loading addon with default values is the way to go. Edited August 8, 2014 by Terox Share this post Link to post Share on other sites
skruis 180 Posted August 8, 2014 Terox, I'm definitely open to suggestions. I am not a experienced mission designer/addon creator. I've done some basic things, had an idea and figured out a way to 'make it work'. The notion that there's a 'better way' is not at all surprising to me but I do have some concerns that I don't think will allow me to avoid scripting entirely. The various values (Mission Name, Description, Author, bla bla)....that was just me being impatient when browsing the scripting commands on the Wiki but the problem for me is markers. I want to capture marker data and if it's Server Side only, that restricts me to the markers that the server knows about (global channel) but I won't be able to pull the markers created in non-global channels because they won't be available on the server. Any thoughts? -bus Share this post Link to post Share on other sites