Jump to content
gammadust

[WIP] ArmaSideMap - External Moving Map for Arma2:OA

Recommended Posts

ArmaSideMap

WIP

by Gamma

Teaser ALERT!

bCqOgl.jpg

*(click for full size)

Description: (Tentative)

Arma extension that mimics the in-game moving map as an external aplication which one can lay in a second monitor or even via network on a secondary computer.

Features/Usage: (Tentative)

Basic usage is still being defined, but there shouldn't be much deviations from what it is right now (also because there is not much interaction required from such an application).

  • Map moves along with player keeping him centered (maybe add the option to just keep player on-screen)
  • Player icon shows direction
  • Map can be moved arbitrarily when ASM has focus (currently keys, maybe mouse driven), repositioning itself as soon as it receives new position update.
  • ASM uses sockets for IPC, allowing seamless usage in a networked 2nd computer (if you don't have dual monitor setup). ASM executable is the server and ASM dll extension is the client.
  • Fullscreen mode, the application itself is still 2D but removing the application bar helps a lot in immersion.

* Screenshot shows version information in the hint dialog and received information confirming both map positioning and player position on map in the sideChat (showing internal coordinates)

To do:

  • Support for more icons (player's group units, color coded side/faction units, vehicles, etc.)
  • Add support for markers (objectives, AOs, etc.)
  • Figure a way to deal with zoom levels and map scale (currently 1 pixel = 0.5 meters)
  • Map loading optimizations and memory footprint (test map uses up ~70Mb of RAM in a 2x2km "Desert" - no paging implemented)
  • Devise some sort of handshaking strategy between the running ASM instance script and the server running the mission (to limit information displayed)
  • Secondary: Mimic arma's gps unit (watch and radio! units) in the map.
  • Secondary: Given the added realestate to display information, all sort of status stuff could migrate to this screen (depends on a yet to implement GUI)

Known Issues:

  • Map movement precision is limited (1 on-screen pixel, no sub-pixel support any soon)
  • Icons may leave trail behind (issue arises if the rate of update is too high)

Instalation: (Tentative)

There are at least three components for having a running ArmaSideMap:

  • The executable, and associated map assets, which will probably require an installer (at the very least detailed installation instructions from a zip), the way it communicates with arma it can sit anywhere on your hardrive, even a remote computer.
  • The Arma extension (dll), installed in a mod folder (must be its root)
  • A mission script which can be attached to an arbitrary mission which one wants to use together with ArmaSideMap.

Requirements:

  • Arma 2: Operation Arrowhead (>= Beta 87662)

Download?? Well not yet :/ (i hate logistics). Despite 3 weeks worth of free time, this is still very alpha, I intend to provide the full package in a minimal state. I can't make promises since real life will show no respect next week, but I am doing my very best to release this alpha next weekend or in 2 weeks time. And if it is mature enough along with the whole source code, if it is not mature enough at least the source code of the arma extension dll will always be made available no matter what.

Take note that at best I am a scripter, this is my first "real sized" project with a compiler in my hands. Btw, i am doing this in C++ against MingW.

Anyway, the main point of the thread is to let you guys know (and tease you a bit) with a working moving map for Arma, hopefully given some interest i antecipate in this, wanted features could start to pop in here, and help me take those steps back one should always do, to get the bigger picture that is easy to miss when one is so focused on its dealings.

Though I'll prolly keep silent until next weekend, please do: Fire at will!


26/05/2012

UPDATE - Download (no mirrors please)

Edited by gammadust

Share this post


Link to post
Share on other sites

You will be able to use your laptop or any secondary computer on your network :)

Share this post


Link to post
Share on other sites

Gosh. Will be watching this with interest.... If we use a second PC rather than a monitor, will the other machine need the game installed?

Share this post


Link to post
Share on other sites
You will be able to use your laptop or any secondary computer on your network :)

Oh my, now that is ****ing awesome!

Share this post


Link to post
Share on other sites
Gosh. Will be watching this with interest.... If we use a second PC rather than a monitor, will the other machine need the game installed?

No... you will need only to install the ASM executable on that PC. (And have the extension and mission script in your Arma PC)

Current testing I did on a LAN, was giving smooth enough results, but rate of update in this scenario will be something to consider.

Edited by gammadust

Share this post


Link to post
Share on other sites

Love the idea..there has been so many times during a op that i needed to check the map but could not because well you go blind when you check the map ..Cant see targets..This will add a touch of realism just because you can actually look at your map in real life while scanning for targets.. love the idea

Share this post


Link to post
Share on other sites

great job there mate. Nice to see someone took one of the many requests towards BIS head on. good luck, i'm sure to give it a go

Share this post


Link to post
Share on other sites

Nice. I know what I'll be using my iPad for now (via a third party screen extender app). Looking forward to this! :D

Abs

Share this post


Link to post
Share on other sites

Holy second screens batman - this is amazing. Something to show on my other screen at last! Will definitely give this a go when you get an alpha running! When is the iPad version out ;-)

Ps. Anyone want to sell me a cheap iPad?

Edit ----> Damn, didn't see Abs' post before mine - looks like there's already a way to do this on an iPad. Hmm definitely need one now!

Edited by Jedra

Share this post


Link to post
Share on other sites

Use for my second monitor when gaming ArmA2 ... I am looking forward to this

Share this post


Link to post
Share on other sites
Love the idea..there has been so many times during a op that i needed to check the map but could not because well you go blind when you check the map ..Cant see targets..This will add a touch of realism just because you can actually look at your map in real life while scanning for targets.. love the idea

I agree. It's very realistic running and gunning with the map open.

Share this post


Link to post
Share on other sites
I agree. It's very realistic running and gunning with the map open.

Nice work, but I also can see this leading to an unfair advantage in competive modes. The player shouldn't be able to fire at the same time the map opens but then again server admins can just block this mod if they feel they need to.

edit:

If I understand the OP correctly, this mod will require a script to be added to the missions, so no big deal?

Share this post


Link to post
Share on other sites
I agree. It's very realistic running and gunning with the map open.

lol its not realistic running and gunning with it open..But when your unit is set up somewere with a perimeter up and you are one of those guys on the perimeter..going to the map in game to get grids or anything else inst really the best thing to do at the junction.. because as soon as you hit the map button it blocks your screen.. I didnt mean run around with it open ..I meant it wont cover your screen when you want to look at a map.

Share this post


Link to post
Share on other sites
I agree. It's very realistic running and gunning with the map open.
Nice work, but I also can see this leading to an unfair advantage in competive modes. The player shouldn't be able to fire at the same time the map opens but then again server admins can just block this mod if they feel they need to.

edit:

If I understand the OP correctly, this mod will require a script to be added to the missions, so no big deal?

I worry too about this, but indeed there is no way one can benefit from this in a multiplayer mission without it's author condoning its use and under which conditions (i imagine one enabling different levels of authorized information which could be based on the player having a map or not in its inventory - maybe even create new map items which open those extra functionalities against a check of its availability). Nothing which can't be sorted out afaik. Though in regards on how exacly a mutiplayer mission maker goes about implementing these checks, these will be running in a a per-client basis... i am kind of in shaky grounds.

On the side of required hardware to benefit from the extension (having a dual monitor setup/extra laptop), this is no different than having a proper joystick to fly vehicles against those only having a keyboard or using a TrackIR type of setup against those without. Therefor a non-issue imo.

But I appreciate this input ever still, it is good to have this kind of stuff in mind so that any unpredicted issues can be accounted for. This one specifically won't be a problem and I will try to include demo missions for a multiplayer scenario too, probably borrowing help from some mp mission maker at a later stage.

Share this post


Link to post
Share on other sites

Well guys... download is on first page.

I whish i had the time to wrap the alpha in a better package, but I simply have to hit the pillow. Not before some install and use notes:

inside zip you'll find

- @ASM (mod folder type install)

- DemoMission (copy "SideMap_alpha.Desert_E" to your missions folder to test Desert map with ASM, nothing fancy at all, just the basic script loading stuff)

- asmipc_source (as promised the source of the dll which interfaces with ArmaSideMap.exe - yes it's a mess, i know it, ever learning, will get better, code gurus input appreciated too)

[source for the application itself i am keeping locked until get more confidence in what i have - but will no doubt be released under GPLv3 - just setling main features in]

After the basic installation:

- run "@ASM\SideMap\ArmaSideMap.exe" (SideMap folder can actually be copied anywhere - make a shortcut for the .exe for easy access)

- let windows firewall recognize it the first time and open the exception (even if running local currently all communication is TCP/IP based)

- launch Arma, make sure @ASM is loaded properly on the initial screen

- load the above mission

Soon enough you'll get the map loaded in ArmaSideMap, responding to your player's movement.

You can move the window to your secondary display and maximize it there and have it side by side with Arma.

I temporarily disabled the fullscreen mode since it is currently tied to my desktop dimensions.

Image paging has been introduced, i had to tackle this early because of memory concerns (desert map is not a problem but bigger maps will be), it dynamicaly loads/unloads map tiles on demand

You may notice slight bumps when this operation occurs (due to the fact tiles are too big currently 1000x1000px), plenty of room to optimize and make it smoother.

Memory footprint reduced to between ~7Mb-24Mb (from previous ~70Mb), depending on the amount of tiles loaded. Zoom yet to be implemented but on track.

Icon trails issue has been also circumvented. And markers overall will be much simpler to use.

You can also move the map arbitrarily using WASD keys (when ASM has focus only), but do NOT do this if you have Arma running behind and sending data. These are running in different threads and NO LOCKS are in place. This should only represent an issue for those installing ASM in a remote computer. This will be taken care of.

Let me add that the current state is very fragile, despite my best efforts, i realize how begginner i am, how i find so much stuff "over the knee" and lack of consistency, this leads to an easy to break app (ie. remove/move a file from the current folder structure and you break it). This is also one of the reasons source is not made open yet, i know there is much to improve before learning more, and i am a bit overwhelmed by the sheer breath of all the new stuff.

I advise you to take care, not modifying "sidemap.sqf" mindlessly. Unreachable IP's HALT Arma before it quits trying, the same regarding wrong ports. Make sure you have exact IP of remote computer before modifying that. Leave por "5555" as it is (hardcoded in the .exe, will be customizable in the future). Please be warned.

Regarding performance, I have capped frames per second at 33. CPU load oscilates from 3 to 10% on my Q6600@stock. Right now this is only noticeable where player's direction is concerned, it's position and map movement are less dependant due to its integer pixel limitation.

I am sure to be missing much more but I really have to get some rest now. Hopefully next release will be more solid, both the application and all related information.

Questions/Issues... I am all hears!

PS: ASM requires MinGW runtime dlls, which are duplicated where they are needed in the folder structure, further down the road an installer will be the recommended route since these are shared and require PATH environment setting. Also SDL (Simple DirectMedia Layer) dlls are also included, without which this project would had never even hit the drawing board.

Edited by gammadust

Share this post


Link to post
Share on other sites

Nice inmersive addon

Long time waiting someone did it...

Ty from Spain

Share this post


Link to post
Share on other sites

So is it possible to push this onto an iPad? Anyone got idiot proof instructions for that ?

Share this post


Link to post
Share on other sites

Nice 1

Was talking to a mate last week about having the game GPS on your mobile phone, this is a great step in the right direction.

Cant get it working thou :(

Addon folder is empty, is that right?

plus need to know where to put asmipc_source folder and the dll files in the @ASM ?.

Cant wait till this or the GPS work's on mobiles... :)

Share this post


Link to post
Share on other sites

So what I've done is

Unzip all the files over to my ARMA 2/OA folder

Ran the ArmaSideMap.exe

Added it to exception

Added launch parameter to ARMA OA

Added your desert demo mission to my User/missions file

Still can't get it to work, as I have no idea what needs to be done with the files in Source, and why is the addons file empty?

Either way I'm a bit dumb when it comes to putting pieces together, hopefully you'll make an installer version downthe road

But aside from not being able to use it, I really like the idea. How will additional map support work?

Share this post


Link to post
Share on other sites

FOR those having issues running ASM:

Please make sure you are running Arma2:OA Beta 87662 and above get it here

Sorry if i forgot to mention this more explicetely (it is in the requirements on first page)

So is it possible to push this onto an iPad? Anyone got idiot proof instructions for that ?

Apparently Abs knows how to do it... i am not into that yet. (I am not sure but i suspect he does it through a VNC type application, ie remote desktop for iDevices)

Nice 1

Was talking to a mate last week about having the game GPS on your mobile phone, this is a great step in the right direction.

Cant get it working thou :(

Addon folder is empty, is that right?

plus need to know where to put asmipc_source folder and the dll files in the @ASM ?.

Cant wait till this or the GPS work's on mobiles... :)

"@ASM\addon" folder IS supposed to be empty, yes. Arma only needs to load "GAMASMipc.dll" in the root of @ASM.

"asmipc_source" is not a requirement for the app to work, i just made it available as promised before, it's the source for the dll alone for now.

In regards to failing to work... as in: Application does not launch? Player icon does not move? Application quits without warning? Arma hangs?

(I have some sort of logging implemented but there is a lot of clutter output currently, and I disabled it before files get too big and unatended, I will definitely sort this out, this information will be useful to track potential failures)

Make sure you let the app go through your windows/any firewall(s).

So what I've done is

Unzip all the files over to my ARMA 2/OA folder

Ran the ArmaSideMap.exe

Added it to exception

Added launch parameter to ARMA OA

Added your desert demo mission to my User/missions file

(...)

Those are the right steps, something must be failing somewhere else. Aside of your firewall make sure your antivirus is not "sandboxing" (avast or equivalent) neither the dll nor the application.

Ignore "asmipc_source" - not a requirement, I will release it in a separate zip next release to reduce confusion, sory for that. An installer is in the works and will be provided later on.

Regarding map support:

Maps get big, REAL big, I am now using jpgs because of this (compression ratio is way higher - used png previously) a 2x2km map fits nicely in the distribution at ~2.5Mb, while my estimation for 15x15km (Chernarus) sits at ~125Mb (highest zoom level). My approach to this will be to release map packs as a separate download down the line. And first I will have a lot of stitch work to do before all stock maps be finalized. Instructions will be provided for map creators to add their own later.

I won't get to the biggies before getting a zoom feature working, but "Utes", "Proving Grounds" and "Shapur" will be the next in line.

I am all over cleaning my code and checking your comments during this weekend.

Edited by gammadust

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

×