Small Robots - Just make the robots a bit smaller.

by Pi-C

Change the size of logistic, construction, and combat bots! You can scale vanilla and modded bots between 50% and 250% of their original size. This mod is the perfect complement for "miniMAXIme: Character scaler and selector".

Tweaks
27 days ago
0.16 - 2.0
3.58K

g [Implemented] Add Companion Drones mod support

1 year, 10 months ago

Good afternoon! There is an interesting Companion Drones mod https://mods.factorio.com/mod/Companion_Drones

But the bots in it, when the character is reduced, look overly gigantic.

Can you add support for this mod?

Thank you!

1 year, 10 months ago

Hi! I've already added them. There are still some other things to fix, though. For example, see what happens when you scale down your bots to 30% and shoot them!

Also, there are some more drone mods (construction, mining, and transport). Do you think it would make sense to scale these as well?

1 year, 10 months ago
(updated 1 year, 10 months ago)

Good afternoon! Thank you very much for your reply!

I think it makes sense to adjust the size only for portable drones, for example:

More Defender Capsules https://mods.factorio.com/mod/more-defenders
Robot Mining Site https://mods.factorio.com/mod/robotMiningSite.


In the case of drones that are used only in specialized buildings, for example:
Long range delivery drones https://mods.factorio.com/mod/Long_Range_Delivery_Drones
Mining Drones https://mods.factorio.com/mod/Mining_Drones
Transport Drones https://mods.factorio.com/mod/Transport_Drones

I think it's best to leave things as they are.

But this is just my personal opinion.

1 year, 10 months ago
(updated 1 year, 10 months ago)

Good afternoon! Thank you very much for your reply!

I think it makes sense to adjust the size only for portable drones, for example:

More Defender Capsules https://mods.factorio.com/mod/more-defenders

I've added support for prototypes under data.raw["combat-robot"], so these should be supported now out of the box.

Robot Mining Site https://mods.factorio.com/mod/robotMiningSite.

These are "construction-robot" prototypes, so they should already be supported.

In the case of drones that are used only in specialized buildings, for example:
Long range delivery drones https://mods.factorio.com/mod/Long_Range_Delivery_Drones

Thanks for mentioning this mod! The long-range delivery drones are actually car prototypes under the hood, and I used the chance to blacklist them in Autodrive and GCKI. :-)

1 year, 10 months ago
(updated 1 year, 10 months ago)

Hi! I've noticed that you've a localization mod for Russian. Would you mind translating this new string?

[mod-setting-name]
SmallRobots-remove-shadows=Remove shadows of bots

That's rather to the point, so I don't think a mod-setting-description is necessary here. If you disagree, you are welcome to add one! :-)

1 year, 10 months ago

I can do it.
Can you copy the text of the updated English localization here?

1 year, 10 months ago

Thanks, I thought it would be more, but it really isn't much more than one setting name (I don't think a descriptionis necessary here).

[mod-setting-name]
SmallRobots-remove-shadows=Remove shadows of bots
1 year, 10 months ago
(updated 1 year, 10 months ago)

[mod-setting-name]
SmallRobots-remove-shadows=Удаление теней от дронов

1 year, 10 months ago

Thanks, I've added this.

1 year, 10 months ago

Please check out version 1.1.3! Does that work as expected?

1 year, 10 months ago
(updated 1 year, 10 months ago)

Unfortunately I don't know if this is related to your mod update, but I got a conflict when running: AAI Programmable Vehicles + Companion Drones + Small Robots - Just make the two robots a little smaller.

Here is an extract from the log:

1.275 Script @aai-programmable-vehicles/prototypes/ai-vehicles.lua:264: aai_make_ai_vehicles: companion
1.275 Script @aai-programmable-vehicles/prototypes/ai-vehicles.lua:282: aai_make_ai_vehicles: companion valid guns: 1
1.275 Script @aai-programmable-vehicles/prototypes/ai-vehicles.lua:300: aai_make_ai_vehicles: companion found item companion
1.275 Script @aai-programmable-vehicles/prototypes/ai-vehicles.lua:319: aai_make_ai_vehicles: companion found recipe
1.275 Script @aai-programmable-vehicles/prototypes/ai-vehicles.lua:346: aai_make_ai_vehicles ai version: companion with 0
1.277 Error ModManager.cpp:1560: Не удалось загрузить мод "aai-programmable-vehicles": aai-programmable-vehicles/prototypes/ai-vehicles.lua:94: attempt to perform arithmetic on field '?' (a nil value)
stack traceback:
aai-programmable-vehicles/prototypes/ai-vehicles.lua:94: in function 'make_composite_unit_from_vehicle'
aai-programmable-vehicles/prototypes/ai-vehicles.lua:447: in function 'aai_make_ai_vehicles'
aai-programmable-vehicles/prototypes/ai-vehicles.lua:466: in main chunk
[C]: in function 'require'
aai-programmable-vehicles/data-final-fixes.lua:4: in main chunk
1.277 Loading mod core 0.0.0 (data.lua)
1.331 Checksum for core: 3744854889
1.380 Error ModManager.cpp:1560: Error in assignID: recipe-category with name 'crafting' does not exist.

Source: default (utility-sprites).
1.506 Initial atlas bitmap size is 16384
1.507 Created atlas bitmap 2048x640 [icon, not-compressed, mipmap, linear-minification, linear-magnification, linear-mip-level]
1.518 Texture processor created (2048). GPU accelerated compression Supported: yes, Enabled: yes/yes. Test passed. YCoCgDXT PSNR: 35.83, BC3 PSNR: 33.82
1.600 Parallel Sprite Loader initialized (threads: 5)
1.883 Sprites loaded
1.905 Generated mipmaps (5) for atlas [0] of size 2048x640
1.905 Custom mipmaps uploaded.
1.909 Factorio initialised

1 year, 10 months ago
(updated 1 year, 10 months ago)

Thanks for the report! I suppose AAI is running after my mod, is that correct? Then adding

"(?) aai-programmable-vehicles"

to the dependencies in info.json should fix this.

Here is an extract from the log:

1.277 Error ModManager.cpp:1560: Не удалось загрузить мод "aai-programmable-vehicles": aai-programmable-vehicles/prototypes/ai-vehicles.lua:94: attempt to perform arithmetic on field '?' (a nil value)
stack traceback:
aai-programmable-vehicles/prototypes/ai-vehicles.lua:94: in function 'make_composite_unit_from_vehicle'

The critical line is the last one of these:

-- collision_box should be square otherwise it will get stuck during rotation
vehicle.collision_box = vehicle.collision_box or {{0,0},{0,0}}
local extent_min = math.min(-vehicle.collision_box[1][1], -vehicle.collision_box[1][2], vehicle.collision_box[2][1], vehicle.collision_box[2][2])

For making things more predictable while I work on the prototypes, I formatted the bounding boxes like this:

collision_box = { {x = x, y = y}, {x = x, y = y} }

Positions can be given as either {x, y} or {x = x, y = y}, and bounding boxes can be either { left_top = position_1, right_bottom = position_2 } or { position_1, position_2}. So the error is that Earendel doesn't check for all possible variations but assumes that the box will be in a particular format. But that's OK if he acts before I make my changes, so adding the dependency should work around that.

There's another problem though: AAI is trying to act on the companion drone! It really shouldn't do that. Sure, the companion is a spider-vehicle, but it's not meant to be used as a vehicle. You should tell Earendel to ignore the companion drones! (I've already blacklisted them in my WIP versions of GCKI and Autodrive, by the way.)

EDIT: I guess instead of adding specific names to our ignore-lists, we (AAI Programmable Vehicles, Autodrive, and GCKI) should outright ignore any vehicle where prototype.allow_passengers == false, that should prevent a lot of false positives!

1 year, 9 months ago

I have forwarded your message to Earendel on discord.com and github.com
Hope he responds.

1 year, 9 months ago

I also found another bug - the tower of the companion bots, when reduced, now does not match the base and is shifted up by about 20px

1 year, 9 months ago

I have forwarded your message to Earendel on discord.com and github.com

Thank you! In version 1.1.5, the format of the bounding_boxes after I've scaled them will be {{x, y}, {x, y}}, as expected by AAI Programmable Vehicles and IR3. Hopefully, this won't break other mods! :-)

Hope he responds.

I guess there's a good chance, as he's more active on Discord than on the forums.

1 year, 9 months ago

I also found another bug - the tower of the companion bots, when reduced, now does not match the base and is shifted up by about 20px

I can't reproduce that, everything seems to look alright when I look at it. Do you have a screenshot?

1 year, 9 months ago
(updated 1 year, 9 months ago)

Uploaded screenshots for comparison https://wampi.ru/image/RP13xmq

1 year, 9 months ago

Uploaded screenshots for comparison https://wampi.ru/image/RP13xmq

Original size on the right, scaled down on the left.

I think you will notice that on the left the drone tower, in relation to the base of the drone, is strongly shifted upwards. At the base of the drone, even a hole in the center is visible.

Also, the fire is strongly shifted down from the base of the drone.

1 year, 9 months ago

You're right, this is obviously an error! But when I load a game, the drone is scaled correctly, with no space between tower, base, and fire. Could you upload a saved game, please? Perhaps it's another case of a particular combination of mods causing strange effects …

1 year, 9 months ago

Attached archive with test save: https://disk.yandex.kz/d/7a2pqpyut4mbNw

There are only two mods:
Small Robots - Just make the two robots a little smaller.
Companion Drones

The problem is the same.

1 year, 9 months ago

Thanks! I could reproduce the problem now, after switching to HR graphics. So the solution is obvious: switch to normal-quality graphics! :-D

1 year, 9 months ago

I understand. It turns out that there is no solution for HR graphics?

1 year, 9 months ago

There should be one, but I've got to figure out what exactly goes wrong. As far as I can see, the real bots pose no problem in HR mode, it's just the companion drone -- which (a) is based on an entirely different prototype, and (b) combines different layers for tower, base, and fire into one animation.

1 year, 9 months ago

I understand. Thank you!

New response