Симуляция распределения температуры и токсичности. Горение предметов. Как это работает.
Привет. Я добавил в игру симуляцию некоторых процессов на поверхности планеты. А именно распределение температуры и концентрации токсичных веществ между клетками. Теперь, если хранить предметы около озера лавы, то они ожидаемо загорятся:)
Как это работает?
Как это работает:
- У каждой клетки есть параметры температуры и токсичности.
- Температура и концентрация токсичных веществ распространятся от клеток с большими значениями на клетки, где этого добра меньше.
- Также тепло и токсичность постепенно рассеиваются в атмосфере.
- Есть клетки-источники тепла/токсичности, например, лава. В таких клетках температура/токсичность не рассеивается сама по себе, поэтому они могут нагревать (давайте дольше только в контексте тепла, чтобы не повторять постоянно про токсичность :) ) клетки.
- Таким образом рядом с горячими клетками температура постепенно растет.
- На перегретых клетках время от времени появляется эффект всполохов пара (их видно на видео рядом с лавой).
- На клетках, где очень токсично, периодически появляются облака газа.
- Этим признакам можно понять, что в таких клетках лучше особо долго не шастать.
Как горят предметы:
- У предмета есть внутренние параметры: собственная температура, температура воспламенения, теплоемкость и теплоотдача.
- Находясь в горячей клетке, предмет сам постепенно нагревается, пока не достигнет температуры воспламенения. Тогда начинается горение.
- Когда предмет горит, клетка, в которой он лежит, временно становится источником тепла, а предмет отдает в нее много своего тепла.
- Соседние клетки из-за этого тоже нагреваются, а предметы, которые в них лежат, могут загореться. Так получается цепная реакция, и огонь может распространяться дальше.
- Чем выше температура клеток, тем вероятнее на них загорится предмет. И наоборот, как это видно на видео, огонь дошел до достаточно холодной клетки, не успел нагреть ее и потух.
- Предмет может как сгореть полностью, так и оставить после себя угли и золу, которые уже не горят.
Меня всегда восхищала симуляция огня в олдскульных рогаликах и майнкрафте. Хотелось допереть самому, как это делается :)
Пока гореть могут только предметы. Но я сделаю, чтобы в теплообмене участвовали персонажи, растения и здания.
О чем игра:
Если совсем в трех словах, то это FTL+RimWorld+Dwarf Fortress+Pirates! Игрок начинает с того, что генерирует мир со своей историей, государствами, фракциями. Потом выбирает сценарий (например, доставить груз из одного конца галактики в другой), создает корабль (из запчастей или рандомом), набирает команду (генерит как в Римворлде), отправляется в космос. Можно высаживаться на планеты, можно сражаться на кораблях, можно торговать, нужно кормить-лечить-одевать команду, платить ей зарплату, а то бунд будет. Какие-то ресурсы можно получить только в космосе, какие-то только на планете (корабль например, в космосе апгрейдить не получится) Можно на все забить и просто как в песочнице строить. Такая основная идея, что в итоге получится, я не знаю :)
Если игра заинтересовала, то, пожалуйста, добавляйте в желаемое:
И в телеграм, пожалуйста, добавляйтесь: