LINUX.ORG.RU
ФорумGames

Loria - кислотная sci-fi игра для minetest

 , , , ,


4

3

День добрый.

Последние года два, если память меня не подводит (может больше), я с гражданином, чей ник слишком часто меняется в виду банов, пилим minetest game под названием Loria (названную в честь понятно какого форума).

Пишется всё это дело на лишпе Fennel, который потом транслируется в Lua.

Фичи

Их много, из того, что можно вспомнить, это:

  • Кислотный графен
  • Сотни грибов, растений, лиан и прочей кремниевой живности
  • Шесть биомов, в которых живёт вышеописанное
  • Смертоносная радиация (альфа, бета и гамма излучения)
  • Гравитация (чем глубже - тем выше и наоборот)
  • Электричество, которое считается с помощью хитрого MNA-солвера, но об этом у моего коллеги спрашивайте, я в этом совершенно не секу
  • Газы, полезные и не очень.
  • Хардкорный геймплей, который сыроват пока, но всё будет.

Ссылки

Ссылка на гитхаб

Скачать с КонтентДБ

Скриншоты

Летающее болотце

Ещё болотце, лесок с пустыней

Полянка

Желто-зелёные джунгли грибов

Электричество

Координируется разработка на фринодовском ирц канале #chlor

Задавайте ваши ответы.



Последнее исправление: BIALYSTOK (всего исправлений: 4)

я с гражданином, чей ник слишком часто меняется в виду банов

С Царем что ли?

anonymous
()
Ответ на: комментарий от xDShot

Зачем такой костыль?

Чтобы борщ не остыль.

anonymous
()

Едрить там психоделика, у меня глаза чуть не вытекли.

einhander ★★★★★
()

(чем глубже - тем выше и наоборот)

Дядя, а вы в курсе, что гравитация чем глубже - тем ниже?

PPP328 ★★★★★
()
Ответ на: комментарий от PPP328

Дядя, а вы в курсе, что гравитация чем глубже - тем ниже?

Ну ты уж не обобщай, это если планета в форме шара, и плотность одинаковая. А там судя по скрину «летающие в воздухе» куски материи. Плюс представим что ядро планеты имеет очень большую плотность по сравнению с верхними слоями. В такое случае - чем глубже - тем сильнее

abs ★★★
()
Последнее исправление: abs (всего исправлений: 1)

Есть работающий сервер, к которому можно подключиться и затестить? Какая версия клиента minetest понадобится, или нужно вообще что-то кастомное?

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Да, в контентДБ написано - 5.3 (последняя). Просто сложно пока поддерживать ещё и старые, альфа же.

BIALYSTOK
() автор топика
Ответ на: комментарий от BIALYSTOK

Посмотрите в сторону OpenSim. Там в плане графона куда веселее, чем в mine*.

Ваше творение постараюсь опробовать, хотя с версией децл огорчили, на моём дебиане олдстабле его придётся руками собирать, видимо.

5.3

Только сейчас заметил! Они решили сходить конём и умножили нумерацию версий на 10???

P.S. Да, точно. ещё в 5.0, ну я слоупок.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от Leupold_cat

Движок завязан на этом луа, но все равно, несмотря на неприязнь, автор попер туда. Личная неприязнь без какой-либо аргументации - скорее всего руки не оттуда просто.

xDShot ★★★★★
()
Ответ на: комментарий от xDShot

Личная неприязнь без какой-либо аргументации - скорее всего руки не оттуда просто.

Скобкофобам это расскажите.

Gentooshnik ★★★★★
()
Ответ на: комментарий от xDShot

Я не спорю, что Lua и особенно luajit весьма быстры, но:

LuaJIT 2.1.0-beta3 -- Copyright (C) 2005-2017 Mike Pall. http://luajit.org/
JIT: ON SSE2 SSE3 SSE4.1 fold cse dce fwd dse narrow loop abc sink fuse
> print(1 + '1')
2
> function add(a, b)
>>    return a + b
>> end
> add(5)
stdin:2: attempt to perform arithmetic on local 'b' (a nil value)
stack traceback:
        stdin:2: in function 'add'
        stdin:1: in main chunk
        [C]: at 0x7f475f4081d0

Динамическая типизация — это всегда неприятно. И не надо рассказывать, что у меня руки кривые, я это и так знаю.

anonymous
()
Ответ на: комментарий от anonymous

Сильная динамическая типизация - это приятно. В Lua слабая. Не проверял, но почти наверняка Fennel тоже унаследовал слабую.

Gentooshnik ★★★★★
()
Ответ на: комментарий от Gentooshnik

Не проверял, но почти наверняка Fennel тоже унаследовал слабую.

Да, но там хотя бы макросы есть.

anonymous
()

Лисп неудобное говно

anonymous
()

Fennel лучше чем Lua, согласен.

anonymous
()
Ответ на: комментарий от anonymous
> function add(a, b)
>> return a + b
>> end
> a, b = add(5, 5)
> print(a)
10
> print(b)
nil
> a = "omg"
> print(a)
omg

Как видим, у a тип побывал и числом и строкой. Что сказать то хотел?

Gentooshnik ★★★★★
()
Ответ на: комментарий от anonymous

это то как луа работает с переменными. переменные инициализируются в nil, когда ты передаёшь меньше параметров в одну или другую сторону, то «не переданные» параметры остаются инициализированными в nil, когда больше - лишние игнорируются.

anonymous
()

Рад видеть игромоддера, продвигающего вменяемые языки в индустрию.

L29Ah
()

у меня чуть глаза не вытекли)) но круто, психоделическая игра на 5-рку

timur_kostin
()

в FortressCraft Evolved кто то играет?

ekt85
()
Ответ на: комментарий от cvs-255

чем это плохо?

Тем, что формулы с подсчётом индексов массива получаются другие, не как в почти всех других языках (C/C++, Pascal, Oberon, Ada, Fortran, Java, Python, Perl, Ruby, PHP) и легче запутаться и совершить ошибку.

X512 ★★★★★
()
Ответ на: комментарий от X512

Ну в фортране индексы тоже с 1 по дефолту, потому, что так принято в математике

А вообще, если тебе много где надо подсчитывать индекс массива, велика вероятность, что ты что то делаешь не так

cvs-255 ★★★★★
()
Последнее исправление: cvs-255 (всего исправлений: 3)
Ответ на: комментарий от cvs-255

Ну в фортране индексы тоже с 1 по дефолту

Можно задать произвольное начало массива.

потому, что так принято в математике

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

А вообще, если тебе много где надо подсчитывать индекс массива, велика вероятность, что ты что то делаешь не так

Не всё можно записать через итераторы.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)

ммм. Передавай привет шизику :)

ну и передаю привет всему #chlor-у

ЗЫ. давно чот я в ирку не заходил

bvn13 ★★★★★
()
Ответ на: комментарий от X512

Вот если ты возьмешь 10 стаканчиков и пронумеруешь их, у тебя будет ‘первый, второй, третий,…’ или ‘нулевой, первый, второй, …’?

cvs-255 ★★★★★
()
Ответ на: комментарий от cvs-255

Вот если ты возьмешь 10 стаканчиков и пронумеруешь их

Идентификаторы объектов - это отдельная задача. Ноль часто используется для идентификатора несуществующего объекта. Неиспользуемые идентификаторы могут использоваться повторно.

При обращении к массиву с нуля многие формулы упрощаются и обходятся без +-1. Также удобно использовать полуоткрытые интервалы. Статья Дейкстры.

X512 ★★★★★
()
Ответ на: комментарий от X512

Идентификаторы объектов - это отдельная задача.

В данном случае это индекс (номер) стаканчика.

Нумерация традиционно ведется натуральными числами, которые начинаются с 1.

И именно поэтому в фортране и начинается с 1 нумерация элементов массива

cvs-255 ★★★★★
()
Последнее исправление: cvs-255 (всего исправлений: 2)
Ответ на: комментарий от X512

В тех же случаях, когда у тебя возникает куча +-1 в формулах, у тебя по сути не нумерация элементов, а сдвиг относительно начала.

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

cvs-255 ★★★★★
()
Ответ на: комментарий от cvs-255

у тебя по сути не нумерация элементов

Для нумерации объектов массивы не используются (или используются только во внутренней реализации и не напрямую). Например auto increment primary key базы данных.

X512 ★★★★★
()
Ответ на: комментарий от X512

Для нумерации объектов массивы не используются

ой, да неужели

cvs-255 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.