Симуляция распределения температуры и токсичности. Горение предметов. Как это работает.

Привет. Я добавил в игру симуляцию некоторых процессов на поверхности планеты. А именно распределение температуры и концентрации токсичных веществ между клетками. Теперь, если хранить предметы около озера лавы, то они ожидаемо загорятся:)
Как это работает?

Как это работает:

  • У каждой клетки есть параметры температуры и токсичности.
  • Температура и концентрация токсичных веществ распространятся от клеток с большими значениями на клетки, где этого добра меньше.
  • Также тепло и токсичность постепенно рассеиваются в атмосфере.
  • Есть клетки-источники тепла/токсичности, например, лава. В таких клетках температура/токсичность не рассеивается сама по себе, поэтому они могут нагревать (давайте дольше только в контексте тепла, чтобы не повторять постоянно про токсичность :) ) клетки.
  • Таким образом рядом с горячими клетками температура постепенно растет.
  • На перегретых клетках время от времени появляется эффект всполохов пара (их видно на видео рядом с лавой).
  • На клетках, где очень токсично, периодически появляются облака газа.
  • Этим признакам можно понять, что в таких клетках лучше особо долго не шастать.
Симуляция распределения температуры и токсичности. Горение предметов. Как это работает.

Как горят предметы:

  • У предмета есть внутренние параметры: собственная температура, температура воспламенения, теплоемкость и теплоотдача.
  • Находясь в горячей клетке, предмет сам постепенно нагревается, пока не достигнет температуры воспламенения. Тогда начинается горение.
  • Когда предмет горит, клетка, в которой он лежит, временно становится источником тепла, а предмет отдает в нее много своего тепла.
  • Соседние клетки из-за этого тоже нагреваются, а предметы, которые в них лежат, могут загореться. Так получается цепная реакция, и огонь может распространяться дальше.
  • Чем выше температура клеток, тем вероятнее на них загорится предмет. И наоборот, как это видно на видео, огонь дошел до достаточно холодной клетки, не успел нагреть ее и потух.
  • Предмет может как сгореть полностью, так и оставить после себя угли и золу, которые уже не горят.

Меня всегда восхищала симуляция огня в олдскульных рогаликах и майнкрафте. Хотелось допереть самому, как это делается :)

Пока гореть могут только предметы. Но я сделаю, чтобы в теплообмене участвовали персонажи, растения и здания.

О чем игра:

Если совсем в трех словах, то это FTL+RimWorld+Dwarf Fortress+Pirates! Игрок начинает с того, что генерирует мир со своей историей, государствами, фракциями. Потом выбирает сценарий (например, доставить груз из одного конца галактики в другой), создает корабль (из запчастей или рандомом), набирает команду (генерит как в Римворлде), отправляется в космос. Можно высаживаться на планеты, можно сражаться на кораблях, можно торговать, нужно кормить-лечить-одевать команду, платить ей зарплату, а то бунд будет. Какие-то ресурсы можно получить только в космосе, какие-то только на планете (корабль например, в космосе апгрейдить не получится) Можно на все забить и просто как в песочнице строить. Такая основная идея, что в итоге получится, я не знаю :)

Если игра заинтересовала, то, пожалуйста, добавляйте в желаемое:

И в телеграм, пожалуйста, добавляйтесь:

7
3 комментария