Author Topic: Two bug reports  (Read 3277 times)

0 Members and 1 Guest are viewing this topic.

Offline Induktio

Re: Two bug reports
« Reply #15 on: December 16, 2019, 04:31:28 PM »
From a game design standpoint I predict that to be a complete fail, at least in this game.  "Formers getting themselves killed" is a typical problem of many Civ-style games.  Allowing units to continue to move while taking wounds, is likely to be a quick death in many circumstances.  If you think you can work "throttling code" into such a decision, have fun with that... but game design-wise I think you'll be walking into a genre of AI misbehavior that players do not want to see in their games.

Not sure what's your motivation to keep commenting on this kind of stuff if you refuse to use all patches anyway.

Offline Douglas

Re: Two bug reports
« Reply #16 on: December 16, 2019, 07:51:56 PM »
1) ... Way too many times, I've had it ignore obvious mag tube routes, sometimes even when the mag tube is an utterly trivial single square deviation from the direct line path. I've even had it go off the mag tubes for a single square, only to move right back on one square later, when there's another mag tube square connecting them without even requiring a greater number of steps...
To my knowledge, this behavior occurs when underlying road is destroyed, rendering intact magtube unusable. Hope this helps.

Much more sad behavior demonstrate needlejets, flying aimlessly back and forth, sometime crashing in process.
No, I check the route it's going to take before releasing the button, and when I see it ignoring a mag tube I cancel giving that order and manually move it step by step past the trouble spot. Doing this gets the unit through with 0 movement spent every time; I've never had this fail.

That needlejet behavior is an example of the last point from that paragraph in my post. I haven't had it happen to me, but I've seen an AI do it. Yang was trying to fly across my territory, and couldn't find a way through all the crawlers I had. I watched about a dozen needlejets move back and forth until they crashed that turn.

This reminds me of another bug. In the incident with Yang flying across my territory, I saw an opportunity to try to force those needlejets to crash, and surrounded them completely with units so they couldn't move without declaring vendetta and attacking. Nothing happened to them. They just sat there doing nothing, and not crashing, for a few turns until I gave up on it and moved the units back. Then they moved in a loop until they crashed. Apparently the fuel check is part of the movement/orders logic, and if you don't give a needlejet orders it won't use its fuel.

Offline PvtHudson

Re: Two bug reports
« Reply #17 on: December 17, 2019, 08:04:30 AM »
1) ... Way too many times, I've had it ignore obvious mag tube routes, sometimes even when the mag tube is an utterly trivial single square deviation from the direct line path. I've even had it go off the mag tubes for a single square, only to move right back on one square later, when there's another mag tube square connecting them without even requiring a greater number of steps...
To my knowledge, this behavior occurs when underlying road is destroyed, rendering intact magtube unusable. Hope this helps.

Much more sad behavior demonstrate needlejets, flying aimlessly back and forth, sometime crashing in process.
No, I check the route it's going to take before releasing the button, and when I see it ignoring a mag tube I cancel giving that order and manually move it step by step past the trouble spot. Doing this gets the unit through with 0 movement spent every time; I've never had this fail.
Apparently, the requirement for a road beneath magtube is part of pathfinding logic, but not of actual movement mechanic. Typical result of duplicating program code.
become one with all the people

Offline L to the P

Re: Two bug reports
« Reply #18 on: December 17, 2019, 09:06:00 AM »
if you don't give a needlejet orders it won't use its fuel.

This reminds me of another behavior I observed, which was upgrading bombers that were ordered to hold with grav and a better reactor caused them to consider themselves to have moved (ie will crash if I moved them without "landing" (hitting space)) with their fuel never refilling while "holding" because they no longer had full fuel tanks, because the capacity had increased. To check if I was right, I attacked with one and sure enough it crashed despite being at that base for years.

Offline scient

Re: Two bug reports
« Reply #19 on: January 16, 2020, 07:55:05 PM »
hex_cost() logic used by Path class if anyone is interested:
https://github.com/b-casey/OpenSMACX/blob/master/src/veh.cpp#L668

I'm going to start working on breaking down Path class soon.

Offline scient

Re: Two bug reports
« Reply #20 on: May 18, 2020, 01:48:31 AM »
Some initial work on the Path class. There is a map continent struct that I need to do more analysis on to continue further. Will see about finishing it for next release.

https://github.com/b-casey/OpenSMACX/blob/master/src/path.h
https://github.com/b-casey/OpenSMACX/blob/master/src/path.cpp

Offline scient

Re: Two bug reports
« Reply #21 on: August 18, 2020, 11:31:31 PM »
More progress on Path class. Definitely gave me some insight into how continents and world is being built out.

Just the three largest functions left (find, move, sensors). There is a draft version of sensors on repo but I haven't gone through testing it yet. Ran into some issues with the way I've been doing automated regression tests for the last few completed Path functions. Ended up having to manually go through assembly and compare to original. I generally do this as a last step after automated tests catch most things. I'm going to work on some of the save game and game data IO code. I figured I can hook into these for better and more reliable regression tests. Planning on wrapping up last three Path functions for next release.  :)

 

* User

Welcome, Guest. Please login or register.
Did you miss your activation email?


Login with username, password and session length

Select language:

* Community poll

SMAC v.4 SMAX v.2 (or previous versions)
-=-
24 (7%)
XP Compatibility patch
-=-
9 (2%)
Gog version for Windows
-=-
103 (32%)
Scient (unofficial) patch
-=-
40 (12%)
Kyrub's latest patch
-=-
14 (4%)
Yitzi's latest patch
-=-
89 (28%)
AC for Mac
-=-
3 (0%)
AC for Linux
-=-
6 (1%)
Gog version for Mac
-=-
10 (3%)
No patch
-=-
16 (5%)
Total Members Voted: 314
AC2 Wiki Logo
-click pic for wik-

* Random quote

Let the Gaians preach their silly religion, but one way or the other I shall see this compound burned, seared, and sterilized until every hiding place is found and until every last Mind Worm egg, every last slimy one, has been cooked to a smoking husk. That species shall be exterminated, I tell you! Exterminated!”
~Academician Prokhor Zakharov Lab Three aftermath

* Select your theme

*
Templates: 5: index (default), PortaMx/Mainindex (default), PortaMx/Frames (default), Display (default), GenericControls (default).
Sub templates: 8: init, html_above, body_above, portamx_above, main, portamx_below, body_below, html_below.
Language files: 4: index+Modifications.english (default), TopicRating/.english (default), PortaMx/PortaMx.english (default), OharaYTEmbed.english (default).
Style sheets: 0: .
Files included: 45 - 1228KB. (show)
Queries used: 40.

[Show Queries]