还在为殖民地频繁断粮而头疼?总被枯萎病打得措手不及?这份攻略帮你彻底解决食物问题!
(其实是我总是纠结应该种多少格的地,研究了一下后,写下指南)
游戏链接及简介:
由聪明的人工智能故事讲述者驱动的科幻殖民地模拟电脑游戏。通过模拟心理学、生态学、枪战、近战、气候、生物群落、外交、人际关系、艺术、医学、贸易等来生成故事。
指南适合玩家:
受够反复计算种植面积的强迫症
想用最小空间养活最多殖民者基地的规划党
追求数据化管理的硬核玩家
说明:投稿中的表格均来自我的Steam指南,另外,如有错误,欢迎指正。
—————————————
作物:水稻
简介:
尽管该作物生长速度快导致单个图块的总产量较高, 但是平均每日产量为最低,因此该植物无论在播种/收获的总工作量是最大的。
分析:
很短的成熟时间使得它成为建立殖民地初期的最理想的农作物,当食物短缺时可以作为紧急粮食作物,可以被用于生长季节较短的生态环境以及作为入冬前“最后一次农作物种植”的作物。
由于水稻的收获频率很高,成长期又短,因此来自枯萎病、寒流和其他具有破坏性事件的损失比其他农作物要少得多,该作物快速生长的特性也可以用来快速提升殖民者的种植等级。
一些我获取到的数据:实际生长时间为5.54日,基础产量为1.08/天,每格产量为6单位,肥力敏感性100%
补充上具体数据后,表格如下:
—————————————
作物:土豆
简介:
一种简单而营养丰富的块茎植物。即使在比较贫瘠的土地上也能茁壮生长。不用多久就能收获。一种强大万能的农作物。
分析:
在普通的土壤中(100% 肥沃度),土豆单图块的平均日产量略低于水稻和玉米, 所以该植物的主要优势是土壤肥沃敏感度较低,因此适合种植在一些干旱,肥沃度较低的土地中,如果选择种植在肥沃土壤或使用水栽培,其表现更差。
在那些全年适合播种时间较短,玉米等其他农作物生长速度过慢的环境中,土豆会是一个更好的选择,因为其生长速度相较于玉米较快,劳动强度更低。
数据:实际生长时间为10.71日,基础产量为1.03/天,每格产量为11单位,肥力敏感性40%
补充数据后,表格如下:
—————————————
作物:玉米
简介:
生长周期较长,产量非常高,但是无法在水栽培植物盆中种植。
分析:
在普通土壤(100%肥沃度)中,玉米每天提供的营养略低于水稻,略高于土豆植株。 玉米的主要优势为工作效率(播种以及收获时间)极高。
但是较长的生长周期也意味着如果在生长过程中不幸遭遇枯萎病、寒流、火灾或其他事件,则该植物的损失及其惨重。并且,根据生态环境的影响,温度、气候等,玉米可能无法在冬天到来之前成熟(如果你的生态环境为全年可播种则无所谓)
数据:实际生长时间为20.86日,基础产量为1.06/天,每格产量为22单位,肥力敏感性100%
补充数据后,表格如下:
—————————————
作物:总结章
水稻
水稻凭借极短的生长周期成为危机应对的首选。
在普通土壤中每格日产量1.08单位(6单位/5.54天),水培盆中飙升至3.03单位/天。
但频繁操作导致殖民者大半农业时间消耗在播种/收割上。
优势:降温前5天抢种仍可收获(普通土地),枯萎病损失可控(单次损失≤6单位)
土豆
40%的肥力敏感性使其在沙砾地块(70%肥力)仍保持0.90单位/天产量,远超水稻的0.76单位。
但肥沃土地表现平庸(1.19单位/天),甚至不如玉米在普通土壤的1.06单位。
优势:在沙砾这类地块仍能获得较高收益
玉米
单次22单位的超高产量使其成为储备粮首选,但过长生长周期意味着可能越冬失败,或是难以应对枯萎病、寒流等事件。
不能水培,即使是肥沃土地也需要至少15天生长期缓冲。
优势:解放殖民者,让他们更少地把时间花费在播种/收割上
种植策略
沙漠/干旱灌木(沙砾较多):土豆
温带:水稻
热带雨林:玉米
另外,默认开局的食物仅能生存约一周,建议第一次种植都选择水稻。
研究出水培后,使用水培种植水稻效率最高,土豆因肥力敏感度问题,实际利用效率远低于水稻。
同时应搭配玉米,减少殖民者的工作量。
最后,建议每季度根据殖民地人口、电力储备、地块等调整种植比例。
—————————————
基础餐饮
殖民者在大多数情况下不需要直接生吃食物(减少心情,并且可能食物中毒),而是将它们制作成熟食。
熟食可以从相同数量的生食中获得更多营养,例如,烹饪简单食物需要0.5营养,但是会提供0.9营养,相当于食物凭空多了180%,此外,还可以增加殖民者的心情。
因此,我们需要考虑到种植对熟食的影响。
根据数据,土豆、玉米、稻米的营养值均为0.05。
简单食物:需要投入0.5的营养
营养膏:需要投入0.3的营养
两者均能为食用它的人提供相同的数值——0.9营养。
根据以上数据,列出表格如下:
一个标准的、没有其它修正的成年人一天要消耗1.6营养来满足饥饿,并且他们能够随时“储存”1.0 营养(因为现实中的人类也不是吃完一顿饭就赶紧吃第二顿饭)
也就是说,约每天两顿饭(或32单位生食)可以喂养一个成年人。
加入作物的营养值与相关食品的数据,再考虑5%冗余,供养殖民者需要种植的格数如下:
—————————————
计算程序
因为觉得每次都查会很麻烦,所以写了一个程序帮助计算。
链接:pan.quark.cn/s/237f744ff126
提取码:bk6S
这里先叠个甲,我是学文科的,课程不涉及编程和数学,这方面内容都是自学,可能存在很多错误。
以下是这个Python程序的代码,方便大家使用及修改。
import math
# === 数据配置 ===
CROP_LIST = [
{"id": 1, "name": "土豆", "fertility_sensitivity": 0.4, "base_yield": 11, "growth_days": {"沙砾": 12.17, "普通": 10.71, "肥沃": 9.23, "水培": 6.23}},
{"id": 2, "name": "玉米", "fertility_sensitivity": 1.0, "base_yield": 22, "growth_days": {"沙砾": 29.8, "普通": 20.86, "肥沃": 14.9, "水培": None}},
{"id": 3, "name": "水稻", "fertility_sensitivity": 1.0, "base_yield": 6, "growth_days": {"沙砾": 7.91, "普通": 5.54, "肥沃": 3.96, "水培": 1.98}}
]
SOIL_LIST = [
{"id": 1, "name": "沙砾", "display": "沙砾地块", "fertility": 0.7},
{"id": 2, "name": "普通", "display": "普通土地", "fertility": 1.0},
{"id": 3, "name": "肥沃", "display": "肥沃土地", "fertility": 1.4},
{"id": 4, "name": "水培", "display": "水栽培植物盆", "fertility": 2.8}
]
MEAL_TYPES = {
"简单饭菜": {"input": 0.5, "output": 0.9},
"营养膏": {"input": 0.3, "output": 0.9}
}
YEAR_DAYS = 60 # 游戏年总天数
# === 函数配置 ===
def show_menu(items, title):
print(f"\n=== {title} ===")
for item in items:
print(f"{item['id']}. {item.get('display', item['name'])}")
while True:
try:
choice = int(input("请选择编号: "))
selected = next((x for x in items if x["id"] == choice), None)
if selected:
return selected
print("错误:无效编号,请重新输入")
except ValueError:
print("错误:请输入数字")
def get_valid_input(prompt, min_val, max_val):
while True:
try:
value = int(input(prompt))
if min_val <= value <= max_val:
return value
print(f"错误:请输入{min_val}-{max_val}之间的整数")
except ValueError:
print("错误:请输入有效数字")
def calculate_farmland(crop, soil, population, growing_days):
# 验证生长期是否足够
crop_growth_days = crop["growth_days"][soil["name"]]
if crop_growth_days is None:
raise ValueError(f"{crop['name']}不能种植在{soil['display']}")
if crop_growth_days > growing_days:
raise ValueError(f"{crop['name']}需要{crop_growth_days}天生长期,但当前只有{growing_days}天")
# 计算有效肥力
effective_fertility = 1 + (soil["fertility"] - 1) * crop["fertility_sensitivity"]
# 计算年产量
harvests = growing_days // crop_growth_days
annual_yield_per_tile = crop["base_yield"] * harvests * effective_fertility
# 计算所需格数(包含5%冗余)
required_nutrition = population * 1.6 * YEAR_DAYS
required_tiles = math.ceil(required_nutrition / (annual_yield_per_tile * 0.05) * 1.05)
# 餐饮计算
total_annual_nutrition = annual_yield_per_tile * required_tiles * 0.05
meal_data = {}
for meal_type, params in MEAL_TYPES.items():
meals = int(total_annual_nutrition // params["input"])
nutrition_output = meals * params["output"]
supported_people = nutrition_output / (1.6 * YEAR_DAYS)
meal_data[meal_type] = {
"total_meals": meals,
"daily_meals": round(meals / YEAR_DAYS, 1),
"supported_people": round(supported_people, 1)
}
return {
"crop": crop["name"],
"soil": soil["display"],
"tiles": required_tiles,
"harvests": harvests,
"layout": optimal_layout(required_tiles),
"annual_yield": annual_yield_per_tile * required_tiles,
"meal_data": meal_data
}
def optimal_layout(tiles):
if tiles <= 0:
return "无需种植"
# 寻找最佳近似正方形
best_diff = float('inf')
best_w = 1
best_h = tiles
max_width = min(int(math.sqrt(tiles)) * 2, tiles)
for w in range(1, max_width + 1):
h = math.ceil(tiles / w)
area = w * h
diff = abs(w - h) + (area - tiles) * 0.1 # 平衡形状和冗余
if diff < best_diff and area >= tiles:
best_diff = diff
best_w = w
best_h = h
# 优化显示格式
if best_w == best_h:
return f"{best_w}×{best_h}"
return f"{best_w}×{best_h} (共{best_w*best_h}格)"
# === 主程序 ===
def main():
print("\n=== 边缘世界农场工具 ===")
print("作者:吾之野望 | 数据版本:1.5.4069")
try:
# 用户输入
population = get_valid_input("\n请输入殖民者数量: ", 1, 1000)
growing_days = get_valid_input("请输入生长期天数 (1-60): ", 1, 60)
# 菜单选择
crop = show_menu(CROP_LIST, "选择作物")
soil = show_menu(SOIL_LIST, "选择土地类型")
# 计算并显示结果
result = calculate_farmland(crop, soil, population, growing_days)
print("\n=== 种植数据 ===")
print(f"作物:{result['crop']}")
print(f"土地:{result['soil']}")
print(f"年收获次数:{result['harvests']}次")
print(f"所需格数:{result['tiles']}格(含5%冗余)")
print(f"推荐布局:{result['layout']}")
print("\n=== 餐饮生产 ===")
for meal_type, data in result["meal_data"].items():
status = "充足" if data['supported_people'] >= population else "不足"
print(f"\n{meal_type} {status}")
print(f" 全年总量:{data['total_meals']}份")
print(f" 日均生产:{data['daily_meals']}份/天")
print(f" 供养能力:{data['supported_people']}人")
print("\n说明")
print("- 此程序布局优先近似正方形,允许10%以内长宽差异")
print("- 已包含5%产量冗余,防止意外损失")
except Exception as e:
print(f"\n发生错误:{str(e)}")
finally:
input("\n按回车键退出程序...")
if __name__ == "__main__":
main()
—————————————
附录
(不完全)使用公式:
实际生长周期 = 基础周期 / (1 + (土壤肥力% - 1)*肥力敏感度
例:水稻普通土地=5.54/(1+(1.0-1)*1.0=5.54天
日产量 = 单次产量 / 实际周期
例:水稻水培=6/1.98≈3.03单位/天
日营养产出 = 日产量 * 0.05
例:水培水稻=3.03*0.05≈0.152营养/天
理论格数 = (1.6 * 人口数 * 60) / (日营养产出 * 60)
简写:格数=1.6*人口/日营养产出
实际格数 = 理论格数 * 1.05(5%冗余)
例:10人水培水稻=1.6*10/0.152*1.05≈110格
简单食物量 = 总营养 / 0.5
营养膏量 = 总营养 / 0.3
供养人数 = (食物量 * 0.9) / (1.6 * 60)
2000食物≈18.75人
变量说明:
土壤肥力%:沙砾70/普通100/肥沃140/水培280
肥力敏感度:土豆0.4/玉米1.0/水稻1.0
单次收获量:土豆11/玉米22/水稻6
参考:
RimWorld中文维基(rimworld.huijiwiki.com/wiki/)
RimWrold Wiki(rimworldwiki.com/wiki/)
更多游戏资讯请关注:电玩帮游戏资讯专区
电玩帮图文攻略 www.vgover.com