1. This forum is obsolete and read-only. Feel free to contact us at support.keenswh.com

Beacon and Antenna GPS

Discussion in 'Programming (In-game)' started by itchydani3l, Aug 24, 2017.

Thread Status:
This last post in this thread was made more than 31 days old.
  1. itchydani3l

    itchydani3l Trainee Engineer

    Messages:
    7
    I think I may have found a way for drones to extract Vector3D info and create waypoints from Broadcasts (like Beacons and Antennas)

    Each Beacon and RadioAntenna block creates a MyRadioBroadcaster object, which is an extension of MyDataBroadcaster class.

    We can get a List of all broadcasters in a certain radius by using the public static MyRadioBroadcasters.GetAllBroadcastersInSphere(new BoundingSphere(Entity.PositionComp.GetPosition(), 0.5f), out list)

    The MyDataBroadcaster class has a public Vector3D "BroadcastPosition" which should be able to then be saved as a waypoint.

    The only problem is this doesn't have the Name of the broadcast like we usually see for Antennas or Beacons... I'm not sure how to get that.

    It would be really useful for drone to be able to interpret Antenna/Beacon signals by recognizing Strings...
     
    • Like Like x 1
  2. Inflex

    Inflex Developer Staff

    Messages:
    397
    I'm afraid that none of those classes you named is actually whitelisted for use in in-game (aka PB) scripting.
    If you find one that is allowed, please PM me it's name and I'll immediately blacklist it :p

    It's not that I would love to kill scripters dreams so much, it's just that PBs are not not allowed to cheat the system this much.
    Thanks for understanding.
     
    • Like Like x 2
    • Friendly Friendly x 1
  3. itchydani3l

    itchydani3l Trainee Engineer

    Messages:
    7
    I haven't tried it out yet, but I'll let you know if I find something.

    The PB should reasonably be able to retrieve Broadcast information from blocks with MyDataReceiver objects, namely MyRadioAntenna.

    It would make sense to just add a find broadcasts method to IMyRadioAntenna which is non static which will return the name, vector 3D, and hostility of the broadcast.

    I would really appreciate if you could include such a method in a future update.
    --- Automerge ---
    Since the ModAPI is much broader than the IngameAPI, I may just make my proposed additions as a class mod.
    If Keen later decides they want the functionality for IMyRadioAntenna then they can simply copy my modded class instead of rewriting from scratch, to save them time.
     
    • Agree Agree x 3
  4. Sirhamsteralot

    Sirhamsteralot Trainee Engineer

    Messages:
    28
    maybe have it return a MyDetectedEntityInfo struct
     
    • Like Like x 2
  5. Inflex

    Inflex Developer Staff

    Messages:
    397
    While this may sound like a good and needed feature to you, others may not share this opinion.
    Unfortunately, there is only so much we can do each week, so the question here is not what we could add to the game, but rather what feature/bug fix/... do we postpone or never implement in favor of this one.

    These decisions affect you, players, the most and that's why we would like to hear you out and give you a chance to influence these decisions.
    Last week, we introduced new platform (feedback.keenswh.com) where you can submit your ideas and let others in the community choose whether they like your idea too or would like something else instead.

    Post your idea there, show ppl what you could do with this feature and how it could be useful for them too.
    If you get enough votes, we'll know it's useful/important for majority in community implement it. It's simple as that.
     
    • Like Like x 1
    • Friendly Friendly x 1
  6. itchydani3l

    itchydani3l Trainee Engineer

    Messages:
    7
    The MyDetectedEntityInfo objects contain all of the right information, like position and alignment.

    But it isn't enough by itself. You would need to cast a Broadcast object to a MyDetectedEntityInfo object. The reason is because sensors use their own detection range, so the detecting grid doesn't need to cheat when it checks for objects inside that area.

    But broadcasts are detected by using the broadcast range of the sender.

    The grid which is trying to detect the broadcast would have to Get the broadcasting block before it could check to see whether it was in range to be detected, and that's "cheating" for the detecting grid.

    The correct way to do it would for a MyDataReceiver object to receive the broadcast, and then cast it to a MyDetectedEntityInfo (or new class), and then return that object when called.

    Or a List<> of those objects, for when there are multiple Broadcasts.

    Inflex, that sounds like a great idea, I'll be sure to post my idea there so people can see and react to it.
     
  7. Sirhamsteralot

    Sirhamsteralot Trainee Engineer

    Messages:
    28
    https://feedback.keenswh.com/idea/pb-antenna-api599aa5bb16501
     
  8. itchydani3l

    itchydani3l Trainee Engineer

    Messages:
    7
    I made my own thread on the feedback server:
    https://feedback.keenswh.com/idea/let-drones-use-gps59a5d73678a42

    I'm disappointed with the suggestions I see on there though...
    Many of the top-voted suggestions are very very difficult tasks, or entire game features. Procedurally generated enemy bases? "Faction system is already in the game, shouldn't be hard to generate NPC factions." Hahaha.
    Adding enemy astronauts which can navigate moving ships? Adding water/fluids?

    Bleh.
     
    • Agree Agree x 2
  9. Wicorel

    Wicorel Senior Engineer

    Messages:
    1,263
  10. Inflex

    Inflex Developer Staff

    Messages:
    397
    You should proly unify all API requests into one to get higher up in the ladder.
    Just saying ;)
     
    • Like Like x 1
    • Informative Informative x 1
  11. Wicorel

    Wicorel Senior Engineer

    Messages:
    1,263
    How do we do that?
     
  12. XkyDiver

    XkyDiver Apprentice Engineer

    Messages:
    360
    I'd imagine create a new suggestion that includes all the other suggestions, then have the original authors change their posts to link to the new one. Or something. :\
     
  13. Wicorel

    Wicorel Senior Engineer

    Messages:
    1,263
    But it wouldn't transfer all the votes.. so it would just be yet another feedback that's below the 'noise' level
     
  14. Ronin1973

    Ronin1973 Master Engineer

    Messages:
    4,964
    Well, of course. It's a "wishlist." You can rub the magic eight-ball and ask for anything your heart desires. It does not require any consideration of budgeting of time, money, or any other resources. There's no consideration to how much coding, testing, and debugging would be necessary. If you wish it, someone will wave a wand and it will be. But that's just it. The general public is pretty ignorant of what it would take to complete a task that changes the performance of the software. No one is ever called-to-the-carpet regarding the actual cost to implement their ideas, if the idea is in line with the mysterious "road-map" for the game, or if they are even plausible.

    Those who know enough about the difficulty of actually implementing an idea, will know what is and is not reachable. If you know enough to outline HOW a developer might reach your goals, then they are more likely to happen. If the suggestion is "just build some super intelligent, massive AI on top of an already CPU intensive game..." then I would bet dollars to dimes that those requests are simply ignored because they are too costly and outside of scope.
     
    • Like Like x 1
Thread Status:
This last post in this thread was made more than 31 days old.