Jump to content
Sign in to follow this  
skruis

Gauging interest from other server admins re: Windows 8.1 app

Recommended Posts

arma_min.jpg

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

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

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

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

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

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:

alpha_2014_07_22_thumb.png

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

A couple more screens...

Initial elliptical marker implementation

Alpha_20140727_01_thumb.png

Initial dot/mil_dot marker implementation

Alpha_20140727_02_thumb.png

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

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
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? :thumb:

Share this post


Link to post
Share on other sites

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

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

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 by skruis

Share this post


Link to post
Share on other sites

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

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

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

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

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 by Terox

Share this post


Link to post
Share on other sites

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

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×