The following warnings occurred:
Warning [2] Undefined variable $awaitingusers - Line: 33 - File: global.php(779) : eval()'d code PHP 8.1.31 (Linux)
File Line Function
/global.php(779) : eval()'d code 33 errorHandler->error
/global.php 779 eval
/showthread.php 24 require_once
Warning [2] Undefined array key "style" - Line: 837 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 837 errorHandler->error
/showthread.php 24 require_once
Warning [2] Undefined property: MyLanguage::$lang_select_default - Line: 4950 - File: inc/functions.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions.php 4950 errorHandler->error
/global.php 837 build_theme_select
/showthread.php 24 require_once
Warning [2] Undefined array key 1 - Line: 1394 - File: inc/functions.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions.php 1394 errorHandler->error
/inc/functions.php 1349 fetch_forum_permissions
/showthread.php 132 forum_permissions
Warning [2] Undefined variable $visibleonly - Line: 412 - File: showthread.php PHP 8.1.31 (Linux)
File Line Function
/showthread.php 412 errorHandler->error
Warning [2] Undefined array key 1 - Line: 1394 - File: inc/functions.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions.php 1394 errorHandler->error
/inc/functions.php 1359 fetch_forum_permissions
/inc/functions.php 2862 forum_permissions
/showthread.php 616 build_forum_jump
Warning [2] Undefined array key 1 - Line: 1394 - File: inc/functions.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions.php 1394 errorHandler->error
/inc/functions.php 1359 fetch_forum_permissions
/inc/functions.php 2862 forum_permissions
/showthread.php 616 build_forum_jump
Warning [2] Undefined array key "mybb" - Line: 1907 - File: inc/functions.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions.php 1907 errorHandler->error
/inc/functions_indicators.php 41 my_set_array_cookie
/showthread.php 624 mark_thread_read
Warning [2] Undefined property: MyLanguage::$ratings_update_error - Line: 5 - File: showthread.php(727) : eval()'d code PHP 8.1.31 (Linux)
File Line Function
/showthread.php(727) : eval()'d code 5 errorHandler->error
/showthread.php 727 eval
Warning [2] Undefined array key "additionalgroups" - Line: 6846 - File: inc/functions.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions.php 6846 errorHandler->error
/inc/functions_user.php 734 is_member
/inc/functions_post.php 398 purgespammer_show
/showthread.php 1057 build_postbit
Warning [2] Undefined array key "profilefield" - Line: 6 - File: inc/functions_post.php(466) : eval()'d code PHP 8.1.31 (Linux)
File Line Function
/inc/functions_post.php(466) : eval()'d code 6 errorHandler->error
/inc/functions_post.php 466 eval
/showthread.php 1057 build_postbit
Warning [2] Undefined array key "canonlyreplyownthreads" - Line: 641 - File: inc/functions_post.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions_post.php 641 errorHandler->error
/showthread.php 1057 build_postbit
Warning [2] Undefined array key "showimages" - Line: 699 - File: inc/functions_post.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions_post.php 699 errorHandler->error
/showthread.php 1057 build_postbit
Warning [2] Undefined array key "showvideos" - Line: 704 - File: inc/functions_post.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions_post.php 704 errorHandler->error
/showthread.php 1057 build_postbit
Warning [2] Undefined array key "showimages" - Line: 742 - File: inc/functions_post.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions_post.php 742 errorHandler->error
/showthread.php 1057 build_postbit
Warning [2] Undefined array key "additionalgroups" - Line: 6846 - File: inc/functions.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions.php 6846 errorHandler->error
/inc/functions_user.php 734 is_member
/inc/functions_post.php 398 purgespammer_show
/showthread.php 1057 build_postbit
Warning [2] Undefined array key "profilefield" - Line: 6 - File: inc/functions_post.php(466) : eval()'d code PHP 8.1.31 (Linux)
File Line Function
/inc/functions_post.php(466) : eval()'d code 6 errorHandler->error
/inc/functions_post.php 466 eval
/showthread.php 1057 build_postbit
Warning [2] Undefined array key "canonlyreplyownthreads" - Line: 641 - File: inc/functions_post.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions_post.php 641 errorHandler->error
/showthread.php 1057 build_postbit
Warning [2] Undefined array key "showimages" - Line: 699 - File: inc/functions_post.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions_post.php 699 errorHandler->error
/showthread.php 1057 build_postbit
Warning [2] Undefined array key "showvideos" - Line: 704 - File: inc/functions_post.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions_post.php 704 errorHandler->error
/showthread.php 1057 build_postbit
Warning [2] Undefined array key "showimages" - Line: 742 - File: inc/functions_post.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions_post.php 742 errorHandler->error
/showthread.php 1057 build_postbit
Warning [2] Undefined array key "invisible" - Line: 1491 - File: showthread.php PHP 8.1.31 (Linux)
File Line Function
/showthread.php 1491 errorHandler->error
Warning [2] Undefined variable $threadnotesbox - Line: 30 - File: showthread.php(1518) : eval()'d code PHP 8.1.31 (Linux)
File Line Function
/showthread.php(1518) : eval()'d code 30 errorHandler->error
/showthread.php 1518 eval




Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Pathfinding in a wrap-around world
#1
We've knocked out a lot of new features and fixes for 0.22, and a few days ago, all that was left was this little issue, where sometimes we see a resident walking off across the lake (or otherwise going where nobody should be).

And wow, that turns out to be one deep rabbit hole!

The problem is that path-finding and navigation in a cylindrical coordinate system (which applies to torus and sphere habs in High Frontier, as well as cylinders of course) is a whole lot more complicated than normal path-finding.  Every point has an infinite number of equivalent coordinates.  For example, if your cylinder is 100 units around, then a point at X=10 is the same as X=110, X=-90, X=210, and so on.

We were normalizing all coordinates (basically using modular arithmetic) to get all the coordinates into a standard range, but that doesn't work correctly in some cases.  A little path from X=90 to X=110 ends up looking like a big path from X=90 to X=10, and then we find a ton of intersections with that and other paths which are halfway around the cylinder.  Bad mojo.

We've just about got our heads wrapped around it now; it's all solvable, but tricky.  There's been surprisingly little written about this situation, so we will be doing at least a blog post, if not a tech report, once we have it all sorted out!

- Joe

Joe Strout
Lead Developer, High Frontier

Reply
#2
Whew! That was a lot harder than it seemed even a week ago. But I think we have all the edge cases working now.

This was the last item on our to-do list for v0.22, so that blog post is going to have to wait... we need to get the next build out the door!

Joe Strout
Lead Developer, High Frontier

Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)