RSS
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 ... 17
[>] Re: ## std.game@Квантовый Кот ##
std.game
Peter(syscall,11) — Ромеро
2017-04-15 19:51:38


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

Ну вот кстати там, как раз 90% ответов на твои вопросы и было :)

[>] Re: ## Тестим игру "Леночка" ##
std.game
Peter(syscall,11) — Ромеро
2017-04-15 19:59:34


> вопрос не в программировании, а в логической цепи рассуждения - я не понимаю, это приказ принести кофе,

Не, ну там точно была просьба кофе принести. Но как оно там завернуто (в какой текст) я уже не помню.

[>] Re: ## Солюшены ##
std.game
Peter(syscall,11) — Ромеро
2017-04-15 20:26:42


> мда, в пять утра от звука разбитого стекла меня чуть инфаркт не хватил. соседей, полагаю, тоже
там ещё есть такие неожиданности? :)

В особняке? Ну там есть звуки, да. :)

[>] Re: Вопросы генерации сюжета машиной
std.tech
Peter(syscall,1) — XSet
2017-05-10 20:54:21


А ссылку на источник можно? На этот дэйдример.

[>] Re: Вопросы генерации сюжета машиной
std.tech
Peter(syscall,1) — Antokolos
2017-05-11 11:46:26


Про каракули в произведение -- все-таки тут человек участвует. :)
А музыка звучит просто жутко. Слепое мертвое чудовище (с) создает эту музыку, бррр.... Но интересно, конечно, как эксперимент.

[>] Re: Возврат из комнаты в ту, из которой мы попадаем при помощи way
std.prog
Peter(syscall,1) — Wol4ik
2017-07-22 21:29:24


Вот законченный пример (main3.lua). Он работает. :) Просто скопируй все в main3.lua и запусти. Если есть вопросы, оформляй в виде примеров - я исправлю.
xact.walkout = walkout -- сделали свою xact функцию walkout

room {
	nam = 'main';
        dsc = [[Я тут стою.]];
	way = { 'pribor' };
}

room {
	nam = 'pribor';
	dsc = '10:20';
	decor = [[{@ walkout|назад}]];
}

[>] Re: Важный вопрос
std.prog
Peter(syscall,1) — Wol4ik
2017-07-25 14:55:05


Я могу назвать только свои любимые игры. Но они совсем разные и по механике, и по сюжету.
Я вообще, не могу сказать что мне так уж важна форма. Но я не люблю обычно COYA игры. А так, вот список игр, которые я так или иначе помню.

- Лифтер 1 и 2;
- Лидия, Переход;
- Материк (добротно сделано, но сюжет не пошел. игра в steam);
- Инстедоз 3;
- Инстедоз 5;
- Кайлет;
- Славный город Лудд (но очень маленькая);
- Зараженные (как пример просто добротной игры, хотя сюжет не особо близкий);
- Неизбежные вещи (как пример интересной находки в геймплее);
- Новогодняя сказка (не знаю почему, но нравится!, хоть короткая);

[>] Re: Важный вопрос
std.prog
Peter(syscall,1) — Wol4ik
2017-07-25 15:08:53


> Пытаюсь не выходить из границ целей создания движка Instead (я читал манифест), с другой стороны мне важно как это будет выглядеть для игрока, ну и себе границы задать.

Суть манифеста не в том. Если ты чувствуешь в себе силы -- ломай границы, но только тогда неси сам ответственность за это. Если ты перерос ограничения -- это нормально. Но чаще, это не так. :)
Есть много примеров, когда люди делали что-то совсем новое, и это было круто! Инстед для экспериментов. Но:

1) если ты вышел за рамки документации -- ты уже НЕ новичок. Начиная с этого момента: no warranty, no support.

2) не жди, что твоя замечательная идея автоматически понравится всем, тебе помогут только те, кому это интересно.

3) очень часто, люди ломают не потому, что переросли ограничения -- а просто не разобрались с текущим положением вещей. Грубо говоря, в 90% случаях человек делает COYA просто потому, что он ничего больше не видел (не хочет видеть) и потенциал инстеда оказывается невостребованным.

А так, полно примеров. когда люди экспериментировали, и получилось интересно.
МП, прокси-меню, спрайты и так далее - все это результат экспериментов.

[>] Re: Важный вопрос
std.prog
Peter(syscall,1) — Peter
2017-07-25 15:14:23


Короче мой совет, напиши сначала несложную игру, освойся с инструментом. Почувствуй его. Потом все будет. ;)

[>] Re: Важный вопрос
std.prog
Peter(syscall,1) — Wol4ik
2017-07-25 20:41:33


> Собственно, да... пора уже переходить к фазе разработки несложной, но законченой игры. Первой игры на Instead.
Удачи! Будем ждать. :)

[>] АРХИВ: за кадром
std.hugeping
Peter(syscall,1) — All
2020-05-10 08:37:39


Подобные статьи часто называют "постмортем". А я не буду. Слово не
нравится. У него мрачный посыл. Пусть лучше игра живёт. :)

Когда я ещё писал "Архив" у меня возникла идея статьи, в которой я
написал бы как вообще трансформировался сюжет во время написания кода. Так
как мне самому было интересно следить за этим процессом. Сейчас, когда
игра уже написана, делать это уже не очень хочется. Но всё-таки, я
решил написать небольшую заметку, содержащую некоторые факты об игре.

Внимание! В статье жестокие спойлеры! Статью стоит читать только если
вы прошли игру или не планируете делать этого.

Обычно я создаю игру отталкиваясь от настроения или сцены. Не особенно
заботясь о самой игре. Настроением Архива было чувство единения
времён. "Если есть шаг -- должен быть след."(c) или "И никому нет
конца, даже тем, кто не с нами."(c). Я даже думал поместить эти
строчки в качестве эпиграфа, но не стал.

Чувство единения времён, объективного существования всех нас прошлых и
будущих. Но в то же самое время, эта вечность стоит на грани конца
времён. Представлял я это всё как место, в котором хранится
весь радио эфир. То-есть, мне казалось, что пилот попадёт на какую-то
планету, где он сможет изучать радиоэфир всех времён и это поможет ему
как-то в сюжете. Потом, он свяжется с родными и так далее... Кстати,
эта идея игры возникла на обломках другой ненаписанной игры. В которой
корпорация SkyJump провела неудачный эксперимент по прыжкам... Но этот
сюжет завял и я решил использовать часть наработок.

Когда я начал писать сцену с переходом, стало понятно, что это место
должно находиться не просто где-то, а в самом
гиперпространстве. То-есть, в игре гиперпространство играет роль
настоящего мира в котором наш мир выглядит как на ладони -- со всеми
своими событиями и временами. Но как быть со свободой воли? Свобода
воли и отсутствие времени плохо соотносятся друг с другом, по крайней
мере мы не можем это логически осознать. В игре есть момент, когда
герой затрудняется с ответом, что именно есть Архив?

Первоначально, всё должно было быть в чёткой sci-fi стилистике. Я
представлял себе монолитные башни, забитые странными футуристическими
механизмами. Одновременно красивая, но и жутковатая картина. Однако,
когда я начал писать код планеты в гиперпространстве, то вспомнил
сериал "Потерянная комната". Где обычные предметы имели необычные
свойства. И я понял, что вот оно! Идея была в том, что наш мозг не
способен осознать подлинные события в гиперпространстве, однако,
какую-то проекцию -- может. Об этом нам сообщает хранитель Архива. В
игре мы с одной стороны наблюдаем конец времён. А также тот факт, что
всё уже было и прошло (компьютер - данные). С другой - по прежнему
проявляем свободу воли (телефон - связь с людьми).

Кстати, я долго думал над тем, какие именно предметы будут в
башне. Мысль крутилась вокруг зеркала (например, кладём осколки, а в
зеркале видим целый объект). Это мне дочка подсказала. :) Но зеркало
как-то не хотело вписываться. Тогда я начал просто писать код и когда
дошёл до подвала... Старый компьютер в тёмном подвале! Вот же оно!

Да, я был очень захвачен этим сюжетом. Писал взахлёб, с любопытством
ожидая, что же будет дальше? Давно не чувствовал такой радости от
творческого процесса. Несмотря на то, что игра совсем недлинная, она
довольно сильно вымотала меня.

В этот раз я настроился на критику позитивно. Я старался, по крайней
мере. Но, видимо, я очень эгоистичен и горд, потому что моральный
дискомфорт от критики я по прежнему испытываю. Поэтому в этот раз, да
и на будущее, я решил не просить тестировать игру конкретных людей,
если только сам человек не предложит свою помощь. После релиза я
принципиально не просил никого играть в мою игру. Так что, если вы
испытываете дискомфорт от игры, просто закрывайте её! Нет никакого
долга в том, чтоб любой ценой пройти её через не хочу ради
"долга". Это демотивирует гораздо больше, чем просто негативный
отзыв.

Несколько забавных фактов из мира игры.

1) На самом деле Димидий - газовый гигант, а не планета земного
типа. Только один человек сообщил мне об этом и я не стал ничего
менять.

2) Зерно - остаток от загадки которую я выключил. Суть её была в том,
что при снятии скафандра гг начинает чувствовать себя плохо. Он
слабеет, не может передвигаться по кораблю (в люк из трюма). Съев
пшено, он "выздоравливает". Убрал -- так как хотел меньше концентрации
загадок на единицу площади и больше "созерцательности".

3) Дерево возникло спонтанно. Мне нужен был хитрый способ
перемещений. Телепортатор или что-то такое. Но когда появились
предметы, дерево стало очевидным решением. Вообще, люблю деревья. :)
Кстати, дерево в игре (да и по сюжету) -- одно. Вы можете положить на
локации предмет, пойти к другому дереву и он там будет.

4) Имя Хуан взято из новости на opennet.ru про разработчика Void Linux.

5) "Всполохи гиперпространства" появились в тексте ещё до того, как я
начал рисовать (кстати, эта игра первая, нарисованная мной в
цвете). Когда стали появляться картинки, я понял, что всполохи - то,
что нужно! Эти разноцветные разводы неба -- своего рода визитная
карточка всего настроения игры.

6) Концентрация атмосферы игры, на мой взгляд, это корабль в пшеничном
поле. Именно поэтому я оставил этот кадр и на титры.

7) Старику можно попробовать сказать "да" и это может вас рассмешить. :)

8) В моих играх я обычно делаю бегущие титры. Но не в этой. Я сделал
это специально. Не спрашивайте меня почему.

9) Олегус сказал, что окна бывают узкие или толстые, а узкие и
одновременно толстые -- не бывают. Я исправил. А потом (вот она
упёртость) вернул назад. Потому что окна бывают: узкие (ширина),
широкие(ширина), высокие(высота) и толстые(глубина). Потому что когда
я читал текст, он мне не нравился без "толстых" окон. :)

10) В корабле специально нигде явно не указывается о наличии или
отсутствии гравитации.

Ну вот, пожалуй и всё. Архив уходит в архив. Спасибо за отзывы,
поддержку и игры. Надеюсь, вам интересно так же, как и мне. :)

[>] Re: Plan9 и ACME -- бескомпромиссная простота
std.hugeping
Peter(syscall,1) — Difrex
2020-05-10 09:36:08


> А еще там скриншоты можно делать через cat /dev/что-то > image.png :)

Ага :)

> ACME не осилил, очень он странный.

Я тоже, но я вроде понял как МОЖНО им пользоваться. Много думал после этого. :)

[>] Re: ## Солюшены ##
std.game
Peter(syscall,11) — Рома
2017-04-16 07:41:18


Это одна из сложнейших игр на инстеде. Дал только потому что солюшен был. Сложнее только Карантин. :)

[>] Re: Вопросы генерации сюжета машиной
std.tech
Peter(syscall,1) — XSet
2017-05-11 17:37:52


Сегодня говорил с true-grue и пришел к такому выводу:

Идея хорошо может сработать в ситуации, когда модель становится "объектом", а не "субъектом". Грубо говоря -- боты не могут быть выше создателя, но могут стать "детьми". Чтобы совсем уж не уходить в философию, примеры таких рабочих ситуаций:

1) игра в который гг играет роль психолога, к которому приходят пациенты (со случайными характеристиками, но всегда с какой то аномалией в "параметрах"), и гг пытается исправить ситуацию, влияя на клиента. Клиент приходит к психологу регулярно, в течении нескольких дней. Каждое такое посещение -- это ход игры, за который происходят какие-то события в жизни пациента, о которых тот рассказывает психологу. После первого пациента, после "излечения", приходит другой (более сложный) и так далее... Сам я ненавижу психологию, но тем не менее -- идея рабочая.

2) игра в которой надо предотвратить убийство или самоубийство, путем воздействия на "ботов" в коллективе или индивидуального "бота" (не сторонник таких игр -- но тем не менее -- идея рабочая);

И так далее.... Пока других идей нет. То есть, когда в игре модель становится объектом исследования, все примерно понятно. При этом "моральная составляющая" все-таки конкретна и определена автором сюжета (как цель/результаты игры). Другое дело, что таки игры превращаются в игры - манипуляции "ботами". И хотя это всего-лишь боты -- мне не нравится в целом такая идея. Все-таки, даже в рамках игры это несет некий нехороший посыл, где общение заменяется манипуляцией.

Для себя лично я сделал еще некоторые выводы.

Творчество -- это всегда общение. Общение не возможно без "я - ты" (субъектов). Вся наша жизнь -- это творчество. Новое (творчество) и жизнь -- нераздельные вещи.

[>] Re: Вопрос по таймеру
std.tech
Peter(syscall,1) — Antokolos
2017-06-03 08:27:55


Таймер всегда синхронный -- он не прерывает команду инстеда, он обрабатывается между командами и сам может генерировать команду. Насколько я помню -- game.timer это уже производное событие -- которое обрабатывается как обычная команда своим чередом.

P.S. для вставки кода юзай такую запись

ПРИВЕТ МОНОШИРИЙНЫЙ МИР

[>] Re: Выложить объект из инвентаря в произвольную сцену room
std.prog
Peter(syscall,1) — Wol4ik
2017-08-02 12:13:04


> То есть вопрос, как вписать в функцию отсылку к ТЕКУЩЕЙ комнате, название которое тоже есть функция?
Если в place() 2й параметр не указан, то это будет текущая комната.
Но если нужна отсылка к этой текущей комнате еще для чегото, есть функция here() -- это и есть указатель на текущую комнату.

Далее, тут не понятно:
used = function(s)
    if s^'выложить' then
    place (s, ???????????);
    remove(s);
end; 

Скорее всего ты хотел написать:
used = function(s, w) -- s -- это и будет кувалда, нас интересует w а не s
    if w^'выложить' then
        place (s); -- в текущую комнату
        remove(s);
    end
end; 

Еще настоятельно рекомендую использовать отступы! Понятней код и самому проще и другим. :)

[>] Re: Выложить объект из инвентаря в произвольную сцену room
std.prog
Peter(syscall,1) — Peter
2017-08-02 12:17:54


Да еще. remove(s) тоже не нужен. place сам убирает объект из прошлого место-положения. Это put не удаляет, а place -- перемещает как бы объект в новое место.
Так что в твоем случае и remove не нужен (но я бы еще воткнул признак отсутствия реакции):

used = function(s, w) -- s -- это и будет кувалда, нас интересует w а не s
    if w^'выложить' then
        place (s); -- в текущую комнату
    else
        return false -- даем знать stead3, что ничего не сделали, тогда вызовется game.use
    end 
end

[>] Re: Выложить объект из инвентаря в произвольную сцену room
std.prog
Peter(syscall,1) — Andrew Lobanov
2017-08-02 12:22:11


> А почему не используешь drop()?
В принципе, drop() в stead3 практически совпадает с place ;) drop создан для наглядности кода главным образом. А так да -- самое место ему тут быть используемым. :)

[>] Бегство в детство
std.hugeping
Peter(syscall,1) — All
2020-05-10 18:48:33


В детстве, когда я видел по телевизору странный мультфильм (например, Ёжик в тумане), я не мог понять -- зачем они их делают? Другое дело -- Том и Джерри в видеосалоне!

Потом странные фильмы: Сталкер, Солярис и подобная "муть".

А потом вдруг всё это оказалось гораздо ближе к детству, чем казалось в самом детстве. Перечитал сказки Козлова. Пересмотрел Сталкера. Как так? Может быть это потому, что детству не нужны эти костыли. А вот взрослому без них прикоснуться к вечному -- невозможно? Интересно только то, что в детстве -- психика проста и целостна (ну, так кажется). А во взрослом возрасте -- наслоение на наслоении и куча заплаток. Странно это всё.

Хотя, я однобоко смотрю. Я предполагаю что детсво -- более совершенное состояние. А с этим точно можно поспорить.

Сейчас просто по Культуре идёт Солярис. Я его никогда полностью не смотрел в сознательном возрасте, очень захотелось это сделать.

[>] Фидбек как необходимость
std.hugeping
Peter(syscall,1) — All
2020-05-11 19:15:59


На "Архив" я получил довольно много фидбека. Причём, в разной форме. Несколько покупок, письма, комментарии... И это очень, очень помогает!

Так вот, на волне поднятия энтузиазма я отчётливо осознал, что фидбек для меня нужен не для того, чтобы потешить своё эго, получив похвалу. А в том, чтобы понять -- а нужно ли вообще то, что я делаю?

Со стороны это может казаться странным, но уверенности в этом я никогда не испытывал. Когда нет уверенности в востребованности, сложно что-то делать. Кажется, что лучше потратить условно свободное время на какие-то полезные дела. На работе ты работаешь, чтобы кормить семью. Вопросов тут нет. Отдыхаешь для того, чтобы отдыхать. :) Тоже понятно. А творчество, если оно делается в стол, конечно, тяготит. Если ты не графоман, конечно. (Надеюсь, что я не он.) И вот, вроде и сочинять интересно. Но думаешь, а нужно ли это кому-нибудь? Контакта то нет с аудиторией. Музыкант школьной группы видит зал, а тут ... даже не знаешь, попало ли?

В этот раз фидбека уже почти накопилось на то, чтоб начать делать полноформатную историю. Не знаю, решусь ли на это, конечно. Но факт остаётся фактом, я снова чувствую в себе силы переть напролом. :)

Так что, закрываю страницу на позитиве. Спасибо!

[>] Вернуться в детство с PICO-8
std.hugeping
Peter(syscall,1) — All
2020-05-21 07:47:18


Я тут снова выпал из жизни на 4 дня. В этот раз написал игрушку на PICO-8. Мне немного стыдно, что я как бы "предал опенсорц". Потому что до этого я игрался c TIC-80 -- опенсорс аналогом. Но... Я не выдержал и купил-таки PICO-8. Закрытый софт. :)

TIC-80 классный. Но в PICO-8 подкупает минимализм, дальше которого уже просто некуда. Кроме того, кажется, он более продуман в деталях. То-есть, в нём вроде всё проще, но ничего не хочется менять.

Палитра - фиксированная, но цвета выбраны очень удачно.

Язык - один Lua (в TIC-80 -- три), но его достаточно и он сдобрен приятным синтаксическим сахаром, который смотрится очень гармонично.

PICO-8 сразу экспортирует бинари для всех поддерживаемых платформ: Win, Lin, OS X, Малинка...

Картридж в пико может быть сохранён в виде png.

Формат картриджа (если не png) это plaintext! Я могу поправить форматирование прямо в емакс!

Экран - 128x128. Меньше -- нельзя. Но 128x128 хватает, даёт возможность сразу "стартовать". И главное - он квадратный! Не надо выбирать, просто пишешь. В тико - бОльшее разрешение и 4:3 экран.

По началу пугался среды в 128x128 но, оказалось, всё круто. Привык и даже емакс не использовал. :)

И главное! За эти 4 дня - как в детство вернулся. Просто берёшь и пишешь. Всё просто. Очень много фана получил.

Короче, если что, зацените: https://instead.itch.io/aa

[>] Игровая индустрия: за пределами алгоритмов
std.hugeping
Peter(syscall,1) — All
2020-05-23 10:00:29


Пока писал игру на pico-8 часто смотрел на другие игры. Заглядывал в discord чат любителей pico ну и так далее... И всё это время у меня зрела мысль, которая, с одной стороны, очень субъективна. Но с другой -- она зреет уже не первый год. А что такое блог как не высказывание субъективного мнения? Я лично верю, что мысль верная, а вы -- уже сами разбирайтесь, соглашаться со мной или нет. Поехали.

В общем, мнение моё такое, что разработчиков pico-8 (многих из них) укусила та же муха, которая ранее укусила и других инди разработчиков. Что это за муха? Большинство gif-роликов демонстрашек с новыми мграми содержат в себе технические изыски. Травка шевелится, реальная физика, спецэффекты с частицами и прочее и прочее... Когда я смотрю на игры, я вижу там то же самое. Упор на физику и эффекты.

Я отчётливо помню момент, когда все повально стали переходить на Box2d. Да, тогда это казалось невероятно крутым: вместо аркадной физики смотреть на "настоящую" -- испытывать восхищение от разваливающихся пирамидок. Помню игру, когда человечек бежит от вихря (или чего-то подобного), стулья переворачиваются, что-то летает, крутится... Так вот, это всё ничего не стоит само по себе. Часто, за простой картонной, аркадной, ненастоящей физикой скрывается увлекательный процесс, а переход на "настоящую" физику его разрушит. Представьте себе тетрис в котором фигуры падают под действием силы тяжести, при падении они отскакивают от пола, вращаются плавно с частотой 60-fps. Могут ломаться. Бред. Тетрис -- это тетрис! Марио. Пакман. Арканоид! Да, что то иногда можно получить интересное из этого подхода, но это скорее исключения. Наоборот, пониженная свобода в играх (например, хождение только под прямыми углами) часто обусловлена игровой логикой.

Эффекты. Сами по себе они не плохи и не хороши. Но их значение переоценено. В большинстве случаев мне плевать на то, шевелится трава или нет. Если я захочу посмотреть на траву, я могу выйти на улицу (но не сейчас :) или посмотреть её на youtube. При этом, эффекты иногда настолько гипертрофированы, что мешают играть. Часто вижу ролики, где непрестанно всё взрывается, трясётся, разлетается. Зачем? Это делает игру интереснее? Тем более, если это игра на pico-8. Я запускаю игру 128x128 ради эффектов?

Так вот, от pico-8 я ожидаю простоты, которой почти не осталось. К счастью, многие авторы (возможно, из-за отсутствия опыта) всё ещё пишут простые игры.

Короче говоря, я снова и снова настаиваю на том, что в игре (как и в любом произведении) важнее всего идея, настроение, атмосфера. И это всё очень косвенно относится к эффектам и физике. Можно сделать очень простую, но увлекательную игру, буквально с физикой по знакоместам. Или очень красивую, но пресную.

Свою игру я начал писать просто с неба и облаков. Я не знал, что игра будет про самолётик. Про брата-полярника. Всё, что было в голове -- облака, парящие над бескрайней Землёй, чувство путешествия и затерянности в большом мире. И надежда на возвращение домой. Поэтому в игре появился жалкий самолётик, под которым проносится бесконечные пейзажи, и брат на льдине. И стрелять ни в кого нельзя.

Можно упрекнуть меня в том, что я нахваливаю свою игру. Ну, может быть. Но я просто описываю то, что знаю точно. В большинстве игр я не вижу никакой идеи, никакой атмосферы. Но отличное техническое исполнение. Только это исполнение оторвано от того, что происходит за кадром. Да, я субъективен. Но это мой блог, я должен был это написать. Когда-нибудь. :)

Да, можно привести в качестве примера игры, завязанные целиком на механику. Те же рогалики. Что же, на мой взгляд и рогалик становится интереснее, если за ним стоит история и атмосфера чего-то большего, что остаётся за пределами алгоритмов.

[>] Re: ## Тестим игру "Леночка" ##
std.game
Peter(syscall,1) — Ромеро
2017-04-16 14:05:33


> а веб-версия будет?

http://instead-games.ru/game.php?ID=252

Кнопка -- играть онлайн

[>] Re: ## Тестим игру "Леночка" ##
std.game
Peter(syscall,1) — Ромеро
2017-04-16 14:11:09


Ага. Там всегда она последняя. 0.29 вроде сейчас.

[>] Re: Вопрос по таймеру
std.tech
Peter(syscall,1) — Antokolos
2017-06-03 18:28:14


Очень мне хочется, чтоб вы пощупали новые спрайты. В stead3. Ибо там они автоматом освобождаются. И мало кто их тестил. ;) У самого пока руки никак не дойдут до творчества...

[>] Re: Вопрос по таймеру
std.tech
Peter(syscall,1) — Antokolos
2017-06-05 06:08:58


Ну она работает, но теперь она вызывается автоматом при разрушении переменной. Так что вроде как не нужна. Я честно говоря не знал, что она осталась. :)

[>] INSTEAD на emscripten
std.tech
Peter(syscall,1) — All
2017-07-21 22:06:50


Сегодня удалось собрать сабж. С минимальными изменениями. Игры работают, и работают быстро! В том числе те, что со спрайтами. Fps в аркадах 60 fps. :)

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

Проблемы:
1.Переделать фейдинг
2.Музыка ogg (звуки уже работают)
3.Поддержка трекерной музыки
4.Поддержка iconv
5.Сохранения (сейчас они не переживают сессии)

Из всего этого, не знаю как решить 5. Может быть, поможет technix. Остальное, вроде понятно как делать.

Я думаю, что пока попридержу новый релиз до того момента, когда закончу изменения для emscripten

[>] Re: Очистка всего и вся, полный рестарт игры
std.prog
Peter(syscall,1) — Wol4ik
2017-08-10 07:09:01


Полный рестарт игры можно сделать: instead.restart(true)

Также можно только состояние мира заресетить. std:reset() -- но эту функцию нужно использовать с осторожностью. Проще instead.restart()

[>] Re: Очистка всего и вся, полный рестарт игры
std.prog
Peter(syscall,1) — Wol4ik
2017-08-10 17:31:04


> Может шпаргалку повесить?
А как ты сюда пишешь? У меня прямо под кнопкой отправить целый раздел ПОМОЩЬ.

Ну и снова не правильно.

[>] Re: Игровая индустрия: за пределами алгоритмов
std.hugeping
Peter(syscall,1) — Difrex
2020-05-23 12:34:54


> pico-8 это проприетарщина?

Да, увы. Я продался. :( Но есть ещё tic-80 -- он свободный. Но я продался. Писал об этом тут" ii://oZflb7Qejy63WVsEmZVP

С удовольствием отвечу на вопросы. Но там в принципе всё просто:

1) мелкое разрешение, отрисовка через SDL
2) весь инструментарий (спрайт-едитор,sfx/music editor,map editor) - встроен, те всегда внутри среды. Но можно и не так. Я писал всё в среде.
3) Lua в качестве ЯП
4) PICO экспортит бинари для всех ОС и HTML+js версию игры, но можно играть и в самой среде - по сети браузить загруженные энтузиастами игры
5) ограничение на число спрайтов, токенов кода
6) возможность делать poke - типа как буд-то ты там в видео-память пишешь итп


> На счет сюжета в рогаликах я не совсем согласен.

Понимаю. Я поэтому и завёл "блог", так как часто стараюсь не писать своё мнение, которое может задеть кого-то. А тут вроде - ну субъективное, автор так видит и всё такое. У меня своеобразное восприятие. Рогалики почти все фентезийные - поэтому я в них хоть и играл, но вяло. Когда сюжет более близкий - становится интересней. Есть такой вот _не рогалик_ robotfindskitten - даже в эту урезанную играл, потому что всё, что там есть - забавный сеттинг. Или очень урезанный мини-рогалик Zaga-33 - очень нравился. Потому что не фентези. Хотя казалось бы, какая разница?

[>] Re: Игровая индустрия: за пределами алгоритмов
std.hugeping
Peter(syscall,1) — Difrex
2020-07-03 16:11:04


> pico-8 это проприетарщина? Судя по сайту это какая-то виртуальная консоль.

Как оказалось, существует опенсорс плеер PICO-8: https://github.com/samhocevar/zepto8

Собрал и запустил обе свои игры. Работают! Я приятно удивлён. Только звук немного отличается, а в остальном, можно сказать что PICO-8 уже не такой закрытый.

[>] Lytdybr (чтение)
std.hugeping
Peter(syscall,1) — All
2020-08-03 20:35:10


Бытовые проблемы полностью захватили свободное время. Так что дневник пока пустует. Но писать о бытовых проблемах не хочется... Поэтому напишу про то, что читал в последнее время.

Дочитал вторую книгу трилогии "Задача трёх тел". Эту книгу начал читать довольно давно, ещё год назад. Написал её китайский автор Лю Цысинь о котором я почти ничего не знаю, кроме того, что он, похоже, довольно популярен и известен. Книга в жанре научной фантастики.

С одной стороны, книга именно в литературном плане не очень меня захватила. Много, очень много персонажей имена которых в моей голове часто путались. :) Повествование растянуто на сотни лет. В общем, монументально. Я больше люблю местечковое, личное. Ну, короче, романтическое. А тут всё жёстко.

С другой стороны, в книге масса идей и размышлений в лучших традициях НФ. И это захватывает. Вот так и читаю не спеша.

В качестве примера. В первой книге есть момент, который я часто представлял себе раньше: учёные обнаруживают, что на каком-то этапе законы физики перестали подчиняться логике. Вселенная оказывается непознаваемой. Но (к сожалению?) в книге потом даётся рационалистический ответ на то, что происходит на Земле. Не буду спойлерить. Надеюсь, я вас заинтриговал. :)

Похожий интерес я испытывал когда читал "Четвёртый ледниковый период" Абэ Кобо. Взять хотя бы момент, в котором ЭВМ моделирует человека, который был убит и его спрашивают о том, кто убийца:

> Стараясь подавить волнение, я обращаюсь к машине:
> - Можешь отвечать на вопросы?
> Короткая пауза. Затем слышится слабый, но отчетливый ответ:
> - Кажется, да. Если вопросы будут конкретными.
> Голос совсем живой, и я немного теряюсь. Словно в машине спрятан
> настоящий человек. Но это всего лишь электронная схема. У нее не должно быть
> ни сознания, ни воли.
> - Тебе, конечно, известно, что ты умер?
> - Умер? - испуганным, задыхающимся голосом шепчет формула внутри
> машины. - Я умер?..
> Нет, это ужасно. Я в страхе бормочу:
> - Ну да... Конечно...
> - Вот, значит, как... Меня все-таки убили... Вот оно как...

Жутко. Фактически, мы тут видим ситуацию, прохождения теста Тьюринга. Но всё-таки, это всего-лишь программа? Или уже нет?

Ещё немного почитал на тему "Большой проблемы сознания". На этот раз по наводке с вики немного почитал Дэвида Чалмерса "Сознающий ум". Но пока бросил. Пенроуз (Новый ум короля) нравился больше. Хотя, может быть просто состояние пока такое -- не до философии. Кстати, обратил внимание на то, что часто акцент ставят на квалиа, но совсем мало (или вообще никак) -- на сам факт существования феномена "я-ты". Был такой еврейский филосов Мартин Бубер, я его читал в студенчестве, и он этой теме уделил целый труд. Вообще, в очередной раз заметил, что многие люди вообще не замечают проблемы. Хочу как-нибудь написать на эту тему. На пальцах, для себя даже. Но не сейчас.

> Некоторые говорят, что сознание — это «иллюзия», но я даже плохо понимаю, что это могло бы означать. Мне кажется, что наша уверенность в существовании сознательного опыта превышает нашу уверенность в существовании чего-либо еще в мире. Временами я изо всех сил пытался убедить себя в том, что в действительности тут ничего нет, что сознательный опыт пуст, есть всего лишь иллюзия. В таком представлении есть нечто соблазнительное, и философы разных эпох пытались обыгрывать его, но в итоге подобная картина совершенно неудовлетворительна. Я ощущаю оранжевое, погружен в это ощущение, и что-то при этом происходит. Здесь есть что-то, что нуждается в объяснении даже после того, как мы объяснили процессы различения и действия, и это что-то — переживание.
> ...
> Эта книга может представлять интеллектуальный интерес для тех, кто думает, что здесь нет особой проблемы, но в действительности она предназначена тем, кто нутром ощущает эту проблему.

Потом, прочитал книгу про создателей Doom. Удивительно забавная и поучительная книжка. Всё о старых добрых (хотя, с какой стороны посмотреть) хакерских временах. Теперь стало понятно, почему Keen так сильно не похож на Dangerous Dave. :) Но не буду спойлерить, почитайте сами: (Masters Of Doom). В сети есть перевод на русский.

Вообще, я думал я почти не читаю. Оказывается, что-то всё-таки читаю. Чего всем желаю, эскапизм в хорошем смысле этого слова.

[>] emacs vs VSCode
std.hugeping
Peter(syscall,1) — All
2020-08-18 21:14:35


Тут на lor в новости о выходе новой версии emacs https://www.linux.org.ru/news/gnu/15850869 было много комментариев о том, какой же редактор круче. В основном, упоминался VSCode. Мне такие разговоры не близки, так как дело вообще не в "лучше". За VSCode стоит корпорация. Он работает на таких технологиях, которые сложно поддерживать и переносить. Мне этого достаточно, чтобы редактор перестал быть привлекательным. Но если он кому-то нравится, то почему я должен быть против?

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

В общем, вместо долгих рассуждений, я просто оставлю это здесь:

https://twitter.com/rob_pike/status/1055632360606035968

Это Роба Пайка спросили в 2018-м, какой редактор он использует.

> Acme. But I do not expect others to use it.

Вероятно, и go писал в acme. А вы говорите... :)

[>] Re: emacs vs VSCode
std.hugeping
Peter(syscall,1) — Difrex
2020-08-22 20:19:03


> Ну, Роб упоротый. Это его редактор и делал он его, наверное, под себя. :)

Да там такой KISS, что дальше уже просто не куда. ;)
P.S Не выдержал, снова поставил в виртуалку покрутить 9front. Зреет мысль, купить малинку и водрузить на неё для опытов. :)

[>] Re: emacs vs VSCode
std.hugeping
Peter(syscall,1) — Difrex
2020-08-22 20:47:09


Ещё в тему!

Крутя 9front (форк plan9), стало интересно, где верстается их мануал? ( http://fqa.9front.org/dash1.plan9haters.pdf ). Кстати, он очень забавный, рекомендую. :) В общем, latex там нет. Но есть troff! В линуксе gtroff используется разве что для манов. Но оказалось, что в troff можно верстать документы! Например, troff использовал Эндрю Таненбаум: https://www.cs.vu.nl/~ast/home/faq.html

>> What typesetting system do you use?

> All my typesetting is done using troff. I don't have any need to see what the output will look like. I am quite convinced that troff will follow my instructions dutifully. If I give it the macro to insert a second-level heading, it will do that in the correct font and size, with the correct spacing, adding extra space to align facing pages down to the pixel if need be. Why should I worry about that? WYSIWYG is a step backwards. Human labor is used to do that which the computer can do better. Also, using troff means that the text is in ASCII, and I have a bunch of shell scripts that operate on files (whole chapters) to do things like produce a histogram by year of all the references. That would be much harder and slower if the text were kept in some manufacturer's proprietary format.

>> What's wrong with LaTeX?
> Nothing, but real authors use troff.

Такой же шок я испытал, когда увидел, что в FreeBSD развивается OSS. Вместо того, чтобы делать новую звуковую подсистему (ALSA в Linux) они развили OSS. Так вот, может быть, конечно, Latex удобнее и гибче, однако если вы сравните объёмы дистрибутива Latex с troff...

Есть макросы для gtroff: https://www.schaffter.ca/mom/mom-03.html#tex

И формулы в нём можно делать: https://tex.stackexchange.com/questions/527864/latex-vs-groff-for-mathematics-formatting

Короче, рано хоронить Unix :)

Ещё, я стал как то больше уважения испытывать к GNU. Пока Linux сообщество увлечённо переваривает громадные проекты, которые "дарят" корпорации, GNU гнёт свою линию и пишет потихоньку софт, который способно поддерживать без помощи капиталистов. ;)

[>] Re: INSTEAD на emscripten
std.tech
Peter(syscall,1) — Antokolos
2017-07-22 11:45:12


> Отличные новости!
> Интересно, в чём была проблема прошлой Emscripten-версии, которая подтормаживала?
> сборочный скрипт для Emscripten будет прямо в основном репозитории Инстеда?

Там проблемы были в цикле обработке, в реализации таймера в SDL emscripten, в сборке SDL_mixer...

В основном репозитории думаю что как закончу все, что то положу точно. Или readme, или скрипты... А код уже пушаю по тихоньку.

Ну и вот, для первого тестирования прототипа (пока не оптимизированно по скорости, но по моему и так хорошо шпилит):
http://instead.syscall.ru/downloads/instead-em/project.html

Известные проблемы:
1) не всегда грузятся ogg шки
2) иногда исключение на рестарте
3) save пропадают

[>] Re: INSTEAD на emscripten
std.tech
Peter(syscall,1) — Peter
2017-07-23 16:27:35


Новая информация по emscripten сборке.
1) Все желающие с Linux могут попробовать собрать себе instead-em сами. Вот скрипт, который у меня собирает все зависимости и сам инстед:
https://github.com/instead-hub/instead/blob/master/contrib/instead-em-build.sh
Конечно, могут быть какие-то косяки, но в целом -- смотря внутрь скрипта не сложно разобраться что происходит.

2) Я вроде выяснил причину нестабильностей. Похоже, это SDL_mixer и Mix_PlayMusic. Если отключить музыку, то все работает стабильно. Если включить - то иногда она просто не играет, а иногда игра крашится при рестарте.

3) С сохранениями не разбирался, но нашел такую статью: http://www.alternativegames.net/blog/porting-to-emscripten/ где это вроде описывается.

4) Есть проблема -- почему то на андроиде не пашет мышка. Такое чувство, что canvas не получает фокуса или что то такое.

Я сейчас хочу прерваться. На самом деле, нужно понять зачем нам это все нужно.
Плюсы -- инстед прям как "настоящий". Аркады можно гонять, и они работают быстро! :)

Минусы -- нужна поддержка webgl, нестабильная музыка.

В целом, мне нравится, но нужно дальше развивать проект. Я пока делаю перерыв. Если есть желающие помочь/поэкспериментировать -- буду рад!

[>] Re: INSTEAD на emscripten
std.tech
Peter(syscall,1) — Peter
2017-07-23 17:20:20


Еще дополнение. На chromium у меня не упало даже с музыкой. Перезалил обновленную версию. Добавил несколько игр:
http://instead.syscall.ru/downloads/instead-em/project.html

В браузере должен быть включен webgl.

[>] Re: INSTEAD на emscripten
std.tech
Peter(syscall,1) — Peter
2017-07-24 21:05:07


Еще хорошие новости.
Заработала трекерная музыка в полном объеме!
Обновил версию:

http://instead.syscall.ru/downloads/instead-em/project.html

Кроме того, сейвы работают, правда пока локально для браузера.

[>] Re: INSTEAD на emscripten
std.tech
Peter(syscall,1) — Peter
2017-07-25 14:38:30


Обновил.
Сохранение настроек. Добавил игру про кота. :) В целом, все работает.
В git пушнуты изменения (скрипт сборки).

http://instead.syscall.ru/downloads/instead-em/project.html

[>] Re: INSTEAD на emscripten
std.tech
Peter(syscall,1) — Peter
2017-07-26 11:56:39


Исправил работу с конфигурационным файлом:

http://instead.syscall.ru/downloads/instead-em/project.html

[>] Re: INSTEAD на emscripten
std.tech
Peter(syscall,1) — Peter
2017-07-27 11:12:20


INSTEAD-EM близок к релизу!

Почти все мои игры в веб варианте здесь:

http://syscall.ru/games/

Если что, все есть в git :)

[>] Re: INSTEAD на emscripten
std.tech
Peter(syscall,1) — Peter
2017-07-27 15:18:41


Версия обновлена. Теперь и на мобилках. Но дизайн не адаптирован. В самом инстеде поиграйтесь с настройками разрешения, если будет мелко...

http://syscall.ru/games/

[>] Re: Очистка всего и вся, полный рестарт игры
std.prog
Peter(syscall,1) — Wol4ik
2017-08-10 17:57:30


> Пишу ответить (символ повернутой стрелочки) или новое сообщение.
Вот проскроллируй вниз до самого конца. На странице, где пишешь текст. Там подсказка.

[>] События точскрина в INSTEAD
std.prog
Peter(syscall,1) — All
2017-08-12 14:39:51


Обновил демку модуля finger. Находится демка тут:
https://github.com/gl00my/stead3/tree/master/tests/fingers

Если что, спрашивайте.
Обычно модуль не нужен, так как нажатия на экран ловятся и модулем click, но для аркад и поддержки одновременного нажатия на экран в нескольких местах -- пригодится модуль finger.

[>] Re: Синтаксис работы с way
std.prog
Peter(syscall,1) — Wol4ik
2017-08-15 17:20:23


> А как добавлять way на сцену?
В way может быть сама комната, и в этом случае можно просто добавить саму эту комнату:

ways():add 'локация'
Но есть и другие способы. Во первых, вместо добавления-удаления, можно делать open/close или disable/enable локации:

room {
    nam = 'дом';
...
}:close() -- закрытый дом

room {
    nam = 'main'
    way = { 'дом' }; -- переход невидим
}
где то в коде:

open 'дом' -- открыли дом -- появился переход

И, наконец, можно использовать path:

way = { path { nam = '#дом', 'В дом', 'дом'}:disable() };  -- выключенный переход

enable 'вдом' -- включили переход.

Можно еще создавать path на лету new и добавлять их... Но это лишнее...

Насчет переменных, не совсем понял вопрос, но вот варианты:

a = path('Выход', 'exit')
И вставляем везде где хотим:

way = { a };
Еще вариант:

exitroom = room {
    nam = 'exit';
....
}
И вставляем где хотим:
way = { exitroom };

В твоем примере с rtt, просто везде в момент загрузки игры в way вставится слово 'локация5', если это то, что тебе нужно - можно и так. Но изменение переменной rtt ничего не изменит в уже созданных комнатах.

[>] Добро пожаловать!
std.club
Peter(harbor:club.syscall.ru) — All
2017-04-09 21:51:34


Добро пожаловать в уютный ламповый клуб INSTEAD.
Кратко об эхах:
std.club - клуб
std.prog - программирование в INSTEAD
std.tech - технические вопрсы
std.bugs - баги

Гейт в ii должен работать по http://club.syscall.ru/ii

Все что вы видите может быть снесено :) Пока экспериментируем.

[>] Re: Добро пожаловать!
std.club
Peter(harbor:club.syscall.ru) — kerber
2017-04-09 21:59:45


Завтра попробую с цезия. А веб, по-моему, прекрасен! Ификшен сюда не пройдет. =)

[>] Re: ## std.game@Инстедоз 5 ##
std.game
Peter(syscall,1) — Рома
2017-04-16 14:35:42


> ща, в Весну поиграю малёхи
Весна супер гама. Но сложная. ;)

[>] Re: Добро пожаловать!
std.club
Peter(harbor:club.syscall.ru) — spline
2017-04-10 07:00:52


Ответил Рома.
Сделал http://ii.club.syscall.ru/
Вроде теперь должно работать!

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 ... 17