Lemures Posted September 26, 2014 Share Posted September 26, 2014 (edited) I've been looking at the flash game TagPro (Picture, Gameplay, Website), in which you basically have 8 people controlling the motion of balls on the screen (limited viewing area). I need to practice trajectory analysis and prediction of different types to compare their relative effectiveness', and I think TagPro would be an interesting platform from which to work because it provides unpredictable movement in a relatively simple environment. The problem is, I can do the math, but I have no idea where to even begin when it comes to grabbing the position's of the balls on the screen. If I have those, I could compare subsequent position updates to get trajectory's and velocity's (and this is what I need to practice). Do you have any suggestions for accurately grabbing this data, and quickly enough to be of relevance? I'm sure some people could just read the actual data to get the positions of the balls, but I have no idea how to do that. Thanks! Edited September 26, 2014 by Melba23 Title amended Link to comment Share on other sites More sharing options...
JohnOne Posted September 26, 2014 Share Posted September 26, 2014 http://www.autoitscript.com/forum/index.php?app=forums&module=extras§ion=boardrules AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted September 26, 2014 Moderators Share Posted September 26, 2014 Lemures,As I read this you are not looking to automate the game as it is being played, but trying to read the positions of the balls onscreen during a game for later analysis in order to compare various non-game-related trajectory/prediction algorithms. Am I correct in this assumption? M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Lemures Posted September 26, 2014 Author Share Posted September 26, 2014 Melba23, correct. I'm looking at putting some object avoidance on an arduino for fast moving objects with difficult to predict trajectories, but I'm still at the stage of learning how to hook up the resistors to not fry the components . There will eventually be quite a bit of coding with this, so I'm starting that now. One step there is to learn trajectory analysis and prediction in 2d, and then eventually moving that to 3d. In TagPro, the balls (other players) can appear from off screen coming in at really pretty much any velocity, and that can and WILL be changing because the other players are, well, playing. I want to compare successive position reads to predict the next position of the target (ball). However, because those can change, I need to put probability and uncertainty weights on everything, so I can generate what would essentially be a 2d heat map of probable collisions. Once I feel I can make this constantly changing heat map, I can transfer it to whatever physical platform it is on (e.g. a quadcopter with ping pong balls thrown at it) and figure out how to get that platform to move accordingly. In short, I mostly just need an array of JUST positions of objects (that's all a camera would see) that are moving in 2d where the objects are moving, and their trajectory can be predicted with weighted probabilities of new trajectories (something flung towards the camera) in order to attempt to avoid it. TagPro provides a pretty good platform for this data that I need in order to start working with this, I just don't know how to pull that data out. If you're aware of anything else that may serve as a better source of data, please let me know. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted September 26, 2014 Moderators Share Posted September 26, 2014 (edited) Lemures,I am afraid I have no idea how to help but I encourage others to so as given your explanation I am quite happy for this thread to remain open. And if anyone has any ideas on another possible data source that is NOT a game and so less likely to raise eyebrows and make additional work for me please let Lemures know ASAP. M23Edit: I have amended the thread title to prevent too many reports from those who do not read far enough into the thread. Edited September 26, 2014 by Melba23 MikahS 1 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
JohnOne Posted September 26, 2014 Share Posted September 26, 2014 What sort of alternative data are you talking about, say for example you have the data such as x y z coordinates from within a flash animation, that would not help you because you would not have that data from a ping pong ball. So what exactly do you mean? AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans. Link to comment Share on other sites More sharing options...
czardas Posted September 26, 2014 Share Posted September 26, 2014 (edited) JohnOne, I'm wondering if the screen capture code you wrote recently might be useful for this. Time sequence freeze framing might simplify things - just a thought. Edited September 26, 2014 by czardas operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
JohnOne Posted September 26, 2014 Share Posted September 26, 2014 Not sure, >here is link in case it is. AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans. Link to comment Share on other sites More sharing options...
Lemures Posted September 26, 2014 Author Share Posted September 26, 2014 JohnOne, I've put together a terrible little diagram that hopefully explains better what I'm looking at doing. Your program may indeed be of use, I'll look into it, because I could use it to give me the frames to analyze (for anything) AND to give me the time differential between each frame. http://imgur.com/Lm5NpTA Link to comment Share on other sites More sharing options...
JohnOne Posted September 26, 2014 Share Posted September 26, 2014 You mention velocity, but do you mean vector? AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans. Link to comment Share on other sites More sharing options...
Lemures Posted September 26, 2014 Author Share Posted September 26, 2014 Well, velocity IS a vector, but sure. In this case I suppose they amount to the same thing. Working on too much today while I post on this thread, so sorry if I'm not coming across clearly. I'll poke around some more and see if I can write a simple "bouncing balls" simulation where the balls randomly change their velocity, then extract the data from some "frame" in the middle and pass that on to whatever I need to code it in. I happen to be most familiar with AutoIt at this time (member since 2003, holy crap) and need to start learning C and python, so I could probably just write the data creator in autoit and then start learning one of those others to parse it out and do stuff with it. Link to comment Share on other sites More sharing options...
JohnOne Posted September 26, 2014 Share Posted September 26, 2014 I believe openCV has a lot of stuff regarding object recognition, but I've never used it. AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now