I am once again asking for the quote of the month to be changed as it is now a new month - Mjmd

Create an account  

 
Reversing to Orion - project 1oom

I tried to buy Fusion Bomb from the Darloks and this happened:

edit: I restored the game with the Undo file and tried getting Fusion Bomb again and the game lists me 3 different lines of "Computer Technology" as potential exchange items.


Attached Files Thumbnail(s)
   
Reply

The AI seems to have difficulty scrapping ancient designs - I'm being attacked by ships with lasers and nuclear missiles during 2430 on impossible. The most recent attack had 1300 mediums and 70 larges, all with starting level tech + inertial stabilizer.

Silicoid AI is cleaning their pollution up - only a few planets have waste on them.
Reply

The project coder replies:

(September 4th, 2018, 09:23)Juffos Wrote: I tried to buy Fusion Bomb from the Darloks and this happened:

edit: I restored the game with the Undo file and tried getting Fusion Bomb again and the game lists me 3 different lines of "Computer Technology" as potential exchange items.

Please attach the save. EDIT: Found a bug in the tech trade code, fixed in v0.7-16. Probably fixed this; need the save to confirm.

(September 4th, 2018, 12:34)Juffos Wrote: The AI seems to have difficulty scrapping ancient designs - I'm being attacked by ships with lasers and nuclear missiles during 2430 on impossible. The most recent attack had 1300 mediums and 70 larges, all with starting level tech + inertial stabilizer.

Silicoid AI is cleaning their pollution up - only a few planets have waste on them.

Please attach the save(s).

Rule #1 of bug reporting: send the save!

EDIT:

I can't see any bug (which is not also in v1.3) in the AI design scrapping itself. The starting tech could be a result of the AI not having spent much on weapon research. The save will help in pointing out the flaw.

(September 4th, 2018, 12:34)Juffos Wrote: Silicoid AI is cleaning their pollution up - only a few planets have waste on them.

How did you determine this?

The waste cleaning code is not run for Silicoids except for the full cleanup on rebellion and capping to the max pop - 10. Can't see a bug, need that save.

While waiting, I did the following test:
  1. Start a One/Huge/Impossible vs. Silicoids game using 1oom
  2. Save, copy to waste_test_start.bin
  3. Click next until 2375
  4. Save, copy to waste_test_end_1oom.bin
  5. Convert waste_test_start.bin to save7.gam
  6. Start v1.3, continue (from save7.gam)
  7. Click next until 2375
  8. Save, convert to waste_test_end_v1_3.bin
  9. Hack up some code to write out waste stats

Results:
  • 1oom: no waste on 5/18 planets, 3 of which have 0 factories, avg 65.3%
  • v1.3: no waste on 2/16 planets, 0 of which have 0 factories, avg 67.7%

In both cases the 2 odd ones are Collassa and Darrian. Pretty close to v1.3. Saves attached for the curious.

I'm not saying there is no bug. I'm just pointing out that finding the bug is not trivial. "Save or it didn't happen" as the saying goes.


Attached Files
.zip   waste_test.zip (Size: 11.01 KB / Downloads: 0)
Support Free Software projects!
Reply

(September 4th, 2018, 09:23)Juffos Wrote: Silicoid AI is cleaning their pollution up - only a few planets have waste on them.

This is a bug in v1.3.  It's documented somewhere on this forum I believe; I'll try to find it so I can provide more detail.  It's not caused by the AI cleaning up pollution though:  It's something in the way the game reports or handles pollution.  If I remember correctly, any time you play as the Silicoids yourself and check pollution after a while, many of your worlds will show 0 even though you're spending nothing on ECO.  I can probably dig up a save file showing this [EDIT:  And indeed, I believe this one should have several:  The save file from 2438, a few turns before we won our Lumbering Rocks Succession Game:  (in .gam format)

This is a screenshot from the turn of that save, I believe, though after a lot of changes were made, such as designing new ships and setting them to build everywhere:

[Image: 2438c.jpg]

Note the absence of waste on several planets. I hope this helps!]
Reply

The project coder replies:

(September 5th, 2018, 16:15)RefSteel Wrote: This is a bug in v1.3.  It's documented somewhere on this forum I believe; I'll try to find it so I can provide more detail.  It's not caused by the AI cleaning up pollution though:  It's something in the way the game reports or handles pollution.  If I remember correctly, any time you play as the Silicoids yourself and check pollution after a while, many of your worlds will show 0 even though you're spending nothing on ECO.

Thanks for digging up the save. I'll try to see if I can spot the bug. Documentation on the bug would be very helpful.

EDIT:

The (partial) waste calculation in pseudocode: (see game_turn_build_eco)
  1. operated_factories = min(population * colonist_operates_N_factories, factories)
  2. v = operated_factories * waste_scale / 10
  3. waste = waste + ((100 - (waste * 100) / max_pop_base) * v) / 100
  4. if rebellion then waste = 0
  5. cleanup_cost = waste / have_eco_restoration_N
  6. v = operated_factories * colonist_operates_N_factories / 10
  7. waste = waste + ((100 - (waste * 100) / max_pop_base) * v) / 100
  8. (if not silicoid then reduce waste here)
  9. if waste < 0 then waste = 0
  10. if max_pop_base - waste < 10 then waste = max_pop_base - 10
  11. if waste < 0 then waste = 0

max_pop_base is the planet size without terraforming, waste_scale is 10, 8 ... 0.

Using Imra from that save as example, here's what happens:
  1. operated_factories = 220
  2. v = 220
  3. waste = 0 + ((100 - (0 * 100) / 25) * 220) / 100 = 220
  4. (does not apply)
  5. (ignored)
  6. v = 220 * 4 / 10 = 88
  7. waste = 220 + ((100 - (220 * 100) / 25) * 88) / 100 = 220 + -686 = -466
  8. (does not apply)
  9. if -466 < 0 then waste = 0

One way to fix the negative waste addition would be to do the max_pop_base - 10 limiting also before step 7. But should it be before the cleanup_cost calculation? Why is that before the second waste addition (or reduction, as the case may be)? Why are steps 2 and 6 different? All of this seems weird. Maybe I better read OSG again.

I'm fairly certain this behaviour is accurate to v1.3. I won't attempt an optional fix as I don't know what that would be.

--

If storing a new save file each year does not bother you, please set game.yearsave = true in the config file. Having saves from many turns ago can be crucial in fixing bugs spanning many turns, such as AI having obsolete tech in ships. HD space is cheap, time wasted on replicating bugs is not.

--

MOO1 was released 1993-09-06. Happy 25th anniversary! Here's 1oom v0.8 to celebrate the occasion. Changes:
  • click again to accept for transport redirection
  • all Advanced Technology are available for research
  • multiplayer player switching reduced
  • fix several music bugs
  • fix ship visibility during movement
  • fix ship scanner range
  • a handful of small fixes

Source code: https://gitlab.com/KilgoreTroutMaskReplicant/1oom
Binaries: https://gitlab.com/KilgoreTroutMaskRepli.../tags/v0.8
Homepage: https://kilgoretroutmaskreplicant.gitlab.io/plain-html/

HELP WANTED!

v1.0 looms in the horizon. This project needs more testing to reach it. Play! Report any bugs!

(insert Sakkra "We Can Do It!" poster)
Support Free Software projects!
Reply

I gave 1oom a spin last night and I have to say that things are looking good! The governor function is one that I can appreciate, as it's particularly useful in keeping the eco slider minimized during the opening and removing some busywork. Additionally the research indicators are a nice help too, although I think those were just ported from the unofficial patch? (I haven't toyed around with that one). At any rate, nice quality of life improvements.

What I didn't enjoy so much was the changed behavior of the UI when re-centering the map. Often I want to select a different planet without re-centering the map, but this does not seem to be possible in the current iteration. Is there any switch to disable this UI-behavior?

Similarly, as someone who often suffers from motion sickness, I did not appreciate the re-centering animation when a new area was clicked in empty space.
Reply

That's how things work in MoO 1, if a little bit dated. I prefer drag to move myself.
Reply

In MoO1, the screen does not re-center when you select a planet. You're right that the screen re-centers when you click an empty space, though. I guess it's just the animation being different that I'll try to get used to if I am to play more 1oom. Still, it would be nice to have an option to not re-center on a planet when it's selected.
Reply

The project coder replies:

(September 7th, 2018, 09:31)pebaha Wrote: Additionally the research indicators are a nice help too, although I think those were just ported from the unofficial patch?

Kind of. They were requested. I wouldn't call the method porting.

(September 7th, 2018, 09:31)pebaha Wrote: re-centering

First let's agree on the terms: to "center" to a planet means to instantaneously jump the map view so that the planet is at the center of it (or near enough given the map borders) and to "scroll" is to slowly pan the map to a given position when clicking on an empty spot.

I'm fairly certain that v1.3 centers to a clicked (or F2'd) planet. I'll check again and come back to eat these words if it's not the case.

The scrolling animation is a lot smoother in 1oom. What would help? Make that optionally instantaneous/slower/faster? Drag to move?

When is centering acceptable?

How would you ideally move to a different part of the map?

I'm wary of adding a plethora of UI options, but am willing to consider some for issues that prevent playing.

EDIT:

You were right. v1.3 does not center. Words eaten, bug fixed in v0.8-3 (available now/soon? in the resurrected devbuild page). Sorry about that.

Questions still stand. What would make the scrolling more tolerable? You could try if this helps:
Code:
# This is a PBXIN file.
# It removes the two layers of stars in the starmap.
# Use "1oom_pbxmake nostars.txt nostars.pbx" to make the PBX file.
# Then "1oom_classic_sdl1 -file nostars.pbx" to use it.

0,"Remove parallax scrolling"
1,"Removes the background stars used for starmap parallax scrolling."

# The next three lines remove the closer stars.
# Add a '#' in front of all 3 lines to keep them.
5,starmap.lbx,1,0,"\x01\x00\x01"
5,starmap.lbx,1,0x16,"\x1c\x00"
5,starmap.lbx,1,0x1a,"\x01\xff"

# The next three lines remove the farther stars.
# Add a '#' in front of all 3 lines to keep them.
5,starmap.lbx,2,0,"\x01\x00\x01"
5,starmap.lbx,2,0x16,"\x1c\x00"
5,starmap.lbx,2,0x1a,"\x01\xff"
Support Free Software projects!
Reply

The project coder replies:

(September 4th, 2018, 12:34)Juffos Wrote: Silicoid AI is cleaning their pollution up - only a few planets have waste on them.

I've convinced myself that steps 6 and 7 in the previously outlined algorithm are unnecessary and someone forgot to remove them when adding steps 2 and 3. I've added an optional fix (waste_calc_fix) in v0.8-6 and wrote more on this in OSG Errata.
Support Free Software projects!
Reply



Forum Jump: