Cyst Placement

kaffaljidhmakaffaljidhma Join Date: 2011-07-14 Member: 110392Members
edited August 2011 in Ideas and Suggestions
Problem:

Cysts need to be placed quickly, and fumbling around for the sweet spot wastes precious time. Even the easiest cyst placement model, which I think was build 183, doesn't allow for the propagation of cysts necessary for easy micromanagement.


Solution:

One measure that can be flexible as cyst pathing evolves is guaranteed cyst placement based on the vector from the nearest live cyst. If you try to place a cyst just out of range, the cyst will instead preview at the closest acceptable point within range of the nearest live cyst. In other words, every click with a pustule armed guarantees placement at an (up to) normalized line from the most proximal cyst to the vector coordinates.

Here's a picture I made in 5 minutes with Paint:

<a href="http://imgur.com/vBGdH" target="_blank"><img src="http://i.imgur.com/vBGdH.png" border="0" class="linked-image" /></a>

I believe it will make cyst placement more robust overall and take some of the frustration out of commanding aliens. It will also even the playing field for people who are not willing to memorize optimal cyst locations for max distance.

Comments

  • whoppaXXLwhoppaXXL Join Date: 2006-11-03 Member: 58298Members, Reinforced - Shadow
    I like that Idea a lot.
  • subshadowsubshadow Join Date: 2003-04-21 Member: 15710Members
    Completely redundant.
    The cysts aren't LOS, they have a maximum distance between eachother, when an obstruction is between them, the pathing will work his way around the obstruction, eating away at your radius.

    The only thing the developers need to do is a bit of smoothing of the placement and making the visual radius changing dynamic with the obstructions in the original radius (wrapping around corners).

    I don't know if this visual indicator will use a lot of cpu resources...
  • twilitebluetwiliteblue bug stalker Join Date: 2003-02-04 Member: 13116Members, NS2 Playtester, Squad Five Blue
    <!--quoteo(post=1869303:date=Aug 16 2011, 04:06 AM:name=subshadow)--><div class='quotetop'>QUOTE (subshadow @ Aug 16 2011, 04:06 AM) <a href="index.php?act=findpost&pid=1869303"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I don't know if this visual indicator will use a lot of cpu resources...<!--QuoteEnd--></div><!--QuoteEEnd-->
    It will most likely be client side predicted. The server only needs to check where the Cyst is to be placed (indicated by left click).
  • kaffaljidhmakaffaljidhma Join Date: 2011-07-14 Member: 110392Members
    edited August 2011
    <!--quoteo(post=1869303:date=Aug 16 2011, 07:06 AM:name=subshadow)--><div class='quotetop'>QUOTE (subshadow @ Aug 16 2011, 07:06 AM) <a href="index.php?act=findpost&pid=1869303"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Completely redundant.
    The cysts aren't LOS, they have a maximum distance between eachother, when an obstruction is between them, the pathing will work his way around the obstruction, eating away at your radius.

    The only thing the developers need to do is a bit of smoothing of the placement and making the visual radius changing dynamic with the obstructions in the original radius (wrapping around corners).

    I don't know if this visual indicator will use a lot of cpu resources...<!--QuoteEnd--></div><!--QuoteEEnd-->

    The cyst preview is already rendered in real time in the current model, and none of the other factors need to be rendered. No additional graphical resources need to be allocated to make this idea work.

    The obstruction is mislabeled - the cyst preview would be truncated if pathing cannot get past the obstruction at all, such as if you try to place a cyst outside of the map. In that scenario, the cyst will be seen to hug the wall closest to where you trespassed outside buildable bounds.

    My approach to programming something like this would probably be to ID the closest cyst at mouse pointer position when I select pustules in the command menu and update that query on mouse movement as long as the mouse is outside a buildable radius, and turn off that calculation when the mouse is inside a buildable radius to save computing power for pustule heavy zones. If that makes it prone to glitching, then the calculation would still be done inside the radius but the proximal cyst would only be reassigned if the pointer moves completely out of the proximal radius, so you won't have to calcuate overlapping pustule areas continually.

    Since that is client side, CPU resources are never really a problem.


    Another way of doing it is to precalculate the maximum non-overlappng pathing distance of each cyst and find the boundary bit closest to the mouse pointer position, and put the preview there. Since this is being done anyway and is being graphically rendered besides, if I got that right from the twitter feed, it's probably the easiest method. Plus, if that works out, the maximum placement boundary might not even need to be rendered graphically, which would save on clientside resources.
  • KalabalanaKalabalana Join Date: 2003-11-14 Member: 22859Members
    edited August 2011
    <!--quoteo(post=1869277:date=Aug 16 2011, 03:50 AM:name=kaffaljidhma)--><div class='quotetop'>QUOTE (kaffaljidhma @ Aug 16 2011, 03:50 AM) <a href="index.php?act=findpost&pid=1869277"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->...If you try to place a cyst just out of range, the cyst will instead preview at the closest acceptable point within range of the nearest live cyst. In other words, every click with a pustule armed guarantees placement at an (up to) normalized line from the most proximal cyst to the vector coordinates.<!--QuoteEnd--></div><!--QuoteEEnd-->

    This is actually an amazing idea, and I would not be surprised at all if I saw it implemented in the game by the devs. Good job


    EDIT: Saw another post calling this redundant and wondering about CPU resources. It will require so little extra processing as to be inconsequential. Also it is not redundant as there is nothing that currently has this functionality.
  • subshadowsubshadow Join Date: 2003-04-21 Member: 15710Members
    I guess I misunderstood the original post.
    So your idea is when you click 5 times somewhere around the map, the game will place a line of 5 cysts towards your cursor?
  • HaiHaiHaiHai Join Date: 2011-08-01 Member: 113466Members
    edited August 2011
    I completely love this idea, as an alien commander its a real big pain in the butt to place cysts. This would definitely save time.
  • kaffaljidhmakaffaljidhma Join Date: 2011-07-14 Member: 110392Members
    <!--quoteo(post=1869560:date=Aug 17 2011, 05:12 AM:name=subshadow)--><div class='quotetop'>QUOTE (subshadow @ Aug 17 2011, 05:12 AM) <a href="index.php?act=findpost&pid=1869560"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I guess I misunderstood the original post.
    So your idea is when you click 5 times somewhere around the map, the game will place a line of 5 cysts towards your cursor?<!--QuoteEnd--></div><!--QuoteEEnd-->
    Unless you run into a wall first, which would stack the remaining cysts up against it if they can't go around.
  • ZycaRZycaR Join Date: 2002-11-12 Member: 8263Members
    one question... how do the prediction know which one is proximity cyst? in case there are several of them near by each other and "in radius" ?
  • subshadowsubshadow Join Date: 2003-04-21 Member: 15710Members
    <!--quoteo(post=1869568:date=Aug 17 2011, 05:47 AM:name=kaffaljidhma)--><div class='quotetop'>QUOTE (kaffaljidhma @ Aug 17 2011, 05:47 AM) <a href="index.php?act=findpost&pid=1869568"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Unless you run into a wall first, which would stack the remaining cysts up against it if they can't go around.<!--QuoteEnd--></div><!--QuoteEEnd-->

    Then I didn't misunderstood it, I tought your goal was to automate the cyst-placing, if that isn't the case, it's still redundant. If I click outside the possible radius it mean I clicked by accident, and i don't want the game to decide where to place my cyst.
  • Taxen0Taxen0 Join Date: 2010-07-30 Member: 73357Members
    the only thing that is needed is for the "range" circle to change so it actually reflect where you can place the cyst. also add a red overlay on places within range where you can't place them.
  • KalabalanaKalabalana Join Date: 2003-11-14 Member: 22859Members
    <!--quoteo(post=1869578:date=Aug 17 2011, 07:02 AM:name=subshadow)--><div class='quotetop'>QUOTE (subshadow @ Aug 17 2011, 07:02 AM) <a href="index.php?act=findpost&pid=1869578"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Then I didn't misunderstood it, I tought your goal was to automate the cyst-placing, if that isn't the case, it's still redundant. If I click outside the possible radius it mean I clicked by accident, and i don't want the game to decide where to place my cyst.<!--QuoteEnd--></div><!--QuoteEEnd-->
    Agreed, no accidental placement. Maybe when the cyst is within 10 ft ingame will the functionality work.
  • kaffaljidhmakaffaljidhma Join Date: 2011-07-14 Member: 110392Members
    edited August 2011
    The objective of this is to let people place cysts at max range quickly if they really want to, so obviously the mechanism can be further tweaked beyond the normalized preview system. Also, for areas within range where you can't place the cyst, under this method the cyst will still preview at the closest buildable point in a line to the proximally placed cyst.




    Yet another way of doing this is to have the cyst preview follow your mouse coordinates while you're in the powered zone and just stop moving once you leave, like if you're playing a game in windowed mode and you move your mouse out of the window. Your regular mouse moves out of the window to interact with whatever, but your in-game rendered mouse stays at the border where you left, and only updates when you move your mouse back into the game window.
  • ZycaRZycaR Join Date: 2002-11-12 Member: 8263Members
    edited August 2011
    <!--quoteo(post=1869655:date=Aug 17 2011, 01:26 PM:name=kaffaljidhma)--><div class='quotetop'>QUOTE (kaffaljidhma @ Aug 17 2011, 01:26 PM) <a href="index.php?act=findpost&pid=1869655"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->... Yet another way of doing this is to have the cyst preview follow your mouse coordinates while you're in the powered zone and just stop moving once you leave, like if you're playing a game in windowed mode and you move your mouse out of the window. Your regular mouse moves out of the window to interact with whatever, but your in-game rendered mouse stays at the border where you left, and only updates when you move your mouse back into the game window.<!--QuoteEnd--></div><!--QuoteEEnd-->
    +1 ... fully agree with this idea !!

    also the "preview" cyst in another color (maybe green..or fully in red)
  • Smug_LobsterSmug_Lobster Join Date: 2009-06-22 Member: 67903Members
    You should just be able to click and drag a path and the cysts will be created spaced out efficiently (max distance possible) and if you want to fortify any gaps you can just click extra ones in.
  • kaffaljidhmakaffaljidhma Join Date: 2011-07-14 Member: 110392Members
    <!--quoteo(post=1869574:date=Aug 17 2011, 06:28 AM:name=ZycaR)--><div class='quotetop'>QUOTE (ZycaR @ Aug 17 2011, 06:28 AM) <a href="index.php?act=findpost&pid=1869574"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->one question... how do the prediction know which one is proximity cyst? in case there are several of them near by each other and "in radius" ?<!--QuoteEnd--></div><!--QuoteEEnd-->

    A tacky way to do that, if the mouse pointer is actually outside all buildable zones, is to give the cysts a large "preview" radius, like Kalabana suggested, which would be an area larger than the buildable area that would tell the preview function that the mouse is near that cyst. The first preview radius that the mouse gets into is locked as the proximal cyst, and that doesn't change until the mouse leaves the preview area entirely.

    The benefit of that is that overlap won't factor at all, since if a cyst preview has a choice to be in several areas, it will always choose to reference the proximal cyst that it was attached to before. The disadvantage is that it imposes a strict limit on how far away from any cyst you can be to preview at all, which might not be an issue if people don't want to place cysts they can't even see.

    I actually think the code is already there to do this sort of thing, because cyst previews are already calculated by a maximum pathing distance from the proximal cyst, so such a solution would probably take minimal effort.



    With the second method I proposed that you liked, this isn't an issue at all because all you need to know is the position you were in when you left the cyst border. The disadvantage is that you have to move your mouse within the buildable border to engage the preview.
  • SewlekSewlek The programmer previously known as Schimmel Join Date: 2003-05-13 Member: 16247Members, NS2 Developer, NS2 Playtester, Squad Five Gold, Subnautica Developer
    wow, why i didn't think of that? this idea is simple, but also simply great. we need this system in the game :)

    big +1 for that
  • KurrineKurrine Join Date: 2010-07-03 Member: 72235Members
    I kinda like the click and drag idea of smug's, though having both wouldn't really overlap I don't think.
  • IactoIacto Join Date: 2010-11-23 Member: 75209Members
    <!--QuoteBegin-flayra+--><div class='quotetop'>QUOTE (flayra)</div><div class='quotemain'><!--QuoteEBegin-->Cyst placement is not LOS, it actually needs a path. Andrew will be adding in a quick graphical path showing the connection.<!--QuoteEnd--></div><!--QuoteEEnd--> from this I'm assuming this will be fixed in the next patch (a few days perhaps?)
  • ZycaRZycaR Join Date: 2002-11-12 Member: 8263Members
    Finally UWE implement a wine ? draw line between proximity cyst and new placed one ?
Sign In or Register to comment.