Архив работ: gamedev-2016-32k-archive-fixed-6.zip (пароль: gamedev)
Наш конкурс на Pouet: http://www.pouet.net/party.php?which=1757&when=2016
Сегодня официально стартует конкурс 32К. От участников конкурса требуется в срок до 08 ч. 00 мин. 14 марта 2016 года написать компьютерную игру, удовлетворяющую следующим требованиям:
Игра должна представлять собой один исполняемый файл размером не более 32 кб (32768 байт). Игра должна запускаться как минимум на одной из ОС: WinXP SP3 32 бит*, Win7 или Win8 32 или 64 бита (архитектура x86/x86_64). Вопрос о Линуксе и других ОС еще не решён, но рассчитывать пока следует только на Windows для упрощения судейства. Конкурсная работа должна быть запакована в архив (rar, zip или 7-zip), в котором помимо игры обязательно должен быть ReadMe-файл, содержащий как минимум информацию о версии ОС, на которую игра рассчитана; также рекомендуется в архив с игрой вложить несжатую версию на случай возникновения проблем с антивирусом, ругающимся на UPX и/или проблем с запуском игры на не-целевой версии ОС. Кроме того, если игра рассчитана только на запуск в Windows XP, участник обязан подготовить версию для запуска на Windows 7 или 8, поскольку у большинства судей установлены именно эти версии (адаптированная для судейства версия может иметь размер больше 32 кб и включать сторонние DLL и фреймворки для запуска). При обратной ситуации — когда игра даптирована под Windows 7, но при установке, например, .NET Framework 3.5 (входящего в состав Windows 7) может запуститься на Windows XP — рекомендуется указать эту зависимость в ReadMe и дать ссылку на загрузку установщика. Основной исполняемый файл (конкурсная версия игры) при всём этом должен на целевой ОС запускаться самостоятельно, без находящихся с ним в архиве файлов и без сторонних фреймворков и рантаймов. Игра не должна требовать ничего, не входящего в ОС изначально. DirectX, OpenGL, .NET framework нужной версии должны быть в стандартном составе хотя бы одной из перечисленных ОС или в драйверах (OpenGL). Если игра что-то из этого требует - это нужно указать в ReadMe (что, и какой версии). Обратите внимание, что такие библиотеки как XNA и D3DX не входят в состав Windows и их использование не допускается. Поскольку Adobe Flash входит в состав Windows 8, его использование разрешено. Однако правило "один исполняемый файл" остаётся в силе. О том, как запаковать .swf и .html в один исполняемый bat/cmd файл, можете ознакомиться здесь (благодарим bodja за данную инструкцию). Напоминаю, что незапакованную версию тоже рекомендуется положить в архив. Максимальные требования игры к аппаратуре: DirectX11-совместимая видеокарта 512 МБ, OpenGL 4, CPU уровня Intel Core i3, 4 ГБ ОЗУ, звуковая карта, клавиатура, мышь, монитор с разрешением экрана 1024х768. Допустимо использовать сторонние ресурсы (например, чужую MIDI-музыку), в этом случае список сторонних ресурсов и их авторов нужно указать в ReadMe. Разумеется, такое использование должно быть правомерным, вся ответственность лежит на конкурсантах. Допустимо использовать любые инструменты и компиляторы, старые наработки, но не уже готовые проекты. Игра должна запускаться "как есть", без инсталляции. Игра должна иметь однопользовательский режим и не должна требовать подключения к интернету. Наличие многопользовательского режима не запрещено, но по желанию судей он может быть проигнорирован. Игра может участвовать одновременно и в других конкурсах, если это не противоречит правилам тех конкурсов. Допустима саморазархивация игры в память или на HDD в свою либо временную директорию. Допускается, чтобы игра не удаляла за собой при выходе созданные файлы. Если игра разархивируется при каждом запуске, время разархивации не должно превышать 3 мин., если только первый раз - 10 мин.
Работу надо предоставить до 8 ч. 00 мин. 14 марта 2016 года. В течение одного-двух дней с этого момента участники тестируют все игры на запускаемость, в случае возникновения проблем с запуском участник может выпустить обновление (баг-фикс). Обновление должно только исправлять запуск. Конкурсанты, воспользовавшись этим случаем для доработки своих проектов позднее срока, могут быть дисквалифицированы по решению других участников конкурса.
Судейство начинается 16 марта после сборки архива с окончательными версиями работ и продолжается до 28 марта. Судейство может закончиться ранее, если все судьи выставят оценки раньше этого срока.
Для подачи заявки на конкурс напишите в этой теме:
<font color=red><b>Заявка</b></font>
Заявку можно подать в любое время вплоть до крайнего срока сдачи работ. Однако рекомендуется это делать заранее.
Как обычно, в судействе участвует каждый конкурсант. Каждому судье даётся 5*(N-1) баллов (при количестве участников N), которые он должен распределить между работами своих конкурентов, выставляя им баллы от 1 от 10. Числа могут быть десятичными дробями с точностью не более 0,1. При выставлении баллов судьи в первую очередь должны отталкиваться не от абсолютных значений баллов, а разности значений между работами. То есть задача судей не только определить, насколько одна работа лучше другой, но и насколько превосходство одной игры от второй больше (или меньше) превосходства второй игры над третьей. К 10-балльной работе надо относиться не как к идеальной, а как к превосходящей остальные. Решающую роль играет разность баллов, а не их абсолютная величина.
Для упрощения расстановки баллов написан небольшой веб-сервис:
http://romanshuvalov.com/stuff/rate-32k2016/ (спасибо FordPerfect за помощь в написании скрипта)
Баллы, скопированные из текстового поля, присылать мне в л/с.
В случае, если некоторые участники отказались от голосования, по средним баллам других судей рассчитывается эквивалентный голос отказавшихся.
Параллельно по желанию публики может быть проведено такое же голосование за приз зрительских симпатий. Правила такие же, но голосующим выдаётся не 5*(N-1), а 5*N баллов. Народное голосование является дополнительным и не влияет на расстановку призовых мест (но результаты народного голосования может быть использовано спонсорами, если они этого пожелают). Голосовать могут только участники, зарегистрированные на форуме до публикации этого сообщения.
*Анонимный спонсор. Перечислит победителю конкурса скромные 1500 рублей.
Если есть желающие проспонсировать данное мероприятие, назначить свои награды победителям - пишите.
1 место: mr.DIMAS
2 место: Mikle
3 место: FordPerfect
И почётную деревянную медаль за четвёртое место я забираю себе.
+ отзывы участников:
http://www.gamedev.ru/projects/forum/?id=209634&page=94#m1403
http://www.gamedev.ru/projects/forum/?id=209634&page=95#m1410
http://www.gamedev.ru/projects/forum/?id=209634&page=98#m1462
http://www.gamedev.ru/projects/forum/?id=209634&page=100#m1493
http://www.gamedev.ru/projects/forum/?id=209634&page=101#m1514
http://www.gamedev.ru/projects/forum/?id=209634&page=102#m1519
+ отзывы от неучастников:
http://www.gamedev.ru/projects/forum/?id=209634&page=93#m1384
http://www.gamedev.ru/projects/forum/?id=209634&page=94#m1405
+ небольшие рассказы о создании игры и используемых технологиях:
http://www.gamedev.ru/projects/forum/?id=209634&page=101#m1513 и далее
+ обсуждение pouet:
http://www.gamedev.ru/projects/forum/?id=209634&page=102#m1523
Участники:
01 Mikle 04 mr.DIMAS 05 vallydol 07 Panzerschrek[CN] 08 fullspektr 11 Роман Шувалов 15 Порядок 16 gammaker 17 .z. 19 FordPerfect
Ручной слив:
02 AWPstar (#1026) (Если не успею выложить работу, то считайте, что Сливаюсь) 09 cNoNim 12 kipar 14 fent 18 Жора Монтировка
Автоматический слив:
03 CStalker 06 LifeKILLED 10 someone0 13 frid33
Архив работ см. выше.
0. Предыдущие конкурсы на GameDev.ru с подобной тематикой:
- Конкурс 64к 2013 года: http://www.gamedev.ru/projects/forum/?id=180947
- Конкурс 96к 2015 года: http://www.gamedev.ru/projects/forum/?id=198179
- Конкурс 4к графики 2016 г.: http://www.gamedev.ru/projects/forum/?id=209153
1. Сборник всей мировой демосцены, для ознакомления:
http://www.pouet.net/prodlist.php
2. Линкеры и упаковщики, позволяющие сильно уменьшить размер получающегося EXE файла:
http://crinkler.net/ - пакующий линкер
http://upx.sourceforge.net/ - упаковщик исполняемых файлов
http://www.farbrausch.de/~fg/kkrunchy/ - упаковщик исполняемых файлов
http://www.farbrausch.de/~fg/kkrunchy/test/ (последняя версия)
http://www.gamedev.ru/files/?id=114467 - mpress, упаковщик для C#
3. Коллекция 4k demo с примерами кода:
http://www.iquilezles.org/
4. Генерация персонажей в Spore:
http://chrishecker.com/My_liner_notes_for_spore#cite_ref-3
5. Статьи о демосцене от одного из авторов .kkrieger (ссылка на исходники .kkrieger прилагается)
https://fgiesen.wordpress.com/category/demoscene/
6. Статьи о демосцене от создателей elevated:
http://www.rgba.org/webpages/articles.php
7. Shader Minifier (уменьшение объема HLSL/GLSL шейдеров):
http://www.ctrl-alt-test.fr/?page_id=7
8. Уменьшение размера исполняемого файла до 1Кб в Visual Studio 2008
http://blog.f5soft.com/%D1%83%D0%BC%D0%B5%D0%BD%D1%8C%D1%88%D0%B5… studio-part1/
9. Настройка GCC/MinGW для уменьшения размера исполняемого файла + общие советы
http://ptspts.blogspot.com/2013/12/how-to-make-smaller-c-and-c-binaries.html
10. Аттракцион невиданной щедрости от FordPerfect: MinGW+kkrunchy, MinGW+Crinkler
http://www.gamedev.ru/projects/forum/?id=209634&page=5#m61
11. Пример Makefile для использования Crinkler с MinGW
http://www.dbfinteractive.com/forum/index.php?topic=1773.0
12. Исходники .kkrieger (а так же всего его движка werkkzeug) на гитхабе
https://github.com/farbrausch/fr_public
T1. Создаем генератор процедурных текстур. Статья:
http://www.gamedev.ru/community/toolcorner/articles/TFScript (автор: Mikle)
T2. Простой шум Перлина:
http://www.gamedev.ru/flame/forum/?id=180947&page=58#m865
T3. Статья о генерации шума:
http://www.gamedev.ru/code/articles/procedural_noise (автор: FordPerfect)
T4. Шум Перлина:
http://mrl.nyu.edu/~perlin/doc/oscar.html
http://www.noisemachine.com/talk1/
T5. Octave Value Noise (часто ошибочно называемый шумом Перлина):
http://freespace.virgin.net/hugo.elias/models/m_perlin.htm
T6. Cellular Textures (ячеистые текстуры):
http://blackpawn.com/texts/cellular/default.html
https://fgiesen.wordpress.com/2010/03/28/how-to-generate-cellular-textures/
https://fgiesen.wordpress.com/2010/03/29/how-to-generate-cellular-textures-2/
S1. Синтез звука струны:
http://www.gamedev.ru/flame/forum/?id=180947&page=67#m991
S2. Архив исходных кодов для обработки аудио:
http://musicdsp.org/archive.php
S3. Генерация музыки:
http://countercomplex.blogspot.ru/2011/10/algorithmic-symphonies-… -line-of.html
S4. Музыка в .kkrieger:
http://blog.kebby.org/?p=34
http://blog.kebby.org/?p=36
http://blog.kebby.org/?p=38
http://blog.kebby.org/?p=40
S5. Генерация кода музыки для 4k demo:
http://4klang.untergrund.net/
S6. Генератор звуковых эффектов:
http://drpetter.se/project_sfxr.html
http://www.bfxr.net/ - его онлайн-инкарнация
S7. Веб-утилита для прототипирования звуков
https://jsfiddle.net/ofp1tcxk/embedded/result/
S8. Онлайн парсер MIDI (спасибо FordPerfect)
https://jsfiddle.net/nrnszkr4
S9. Статья о процедурной генерации звука в реальном времени
http://www.gamedev.ru/community/rt_proc_sound/articles/rt_softsynth_basics (автор: xdevxx)
S10. Сборник ссылок по DSP
http://www.gamedev.ru/community/rt_proc_sound/articles/dsp_links
J1. javascript demo competitions:
http://js1k.com/
http://demojs.org/
J2. javascript demos (некоторые с разборами):
http://www.p01.org/releases/
http://mrdoob.com/
J3. Сжатие javascript:
https://github.com/mishoo/UglifyJS
https://developers.google.com/closure/compiler
J4. Онлайн сжатие javascript:
http://packer.50x.eu/
http://dean.edwards.name/packer/
J5. Сжатие javascript с использованием png:
http://www.pouet.net/prod.php?which=59298
https://gist.github.com/gasman/2560551
P.S. Если вам категорически не нравится система оценок, высказываться лучше здесь: http://www.gamedev.ru/projects/forum/?id=201751
Заявка
Кооперироваться можно?
Вслух поговорю всякие мелочи разные:
1. http://www.iquilezles.org/ в списке полезных ссылок упомянут дважды: в п. 7 и п. 10. Наверное, из 10 можно убрать, а в 7 при желании добавить подпункты:
http://www.iquilezles.org/code/isystem1k4k/isystem1k4k.htm - framework 4k,
http://www.iquilezles.org/code/framework64k/framework64k.htm - framework 64k,
http://www.iquilezles.org/www/material/breakpoint2007/breakpoint2007.htm - Techniques for 64k demos
http://www.iquilezles.org/www/material/function2009/function2009.htm - Behind Elevated
там вообще полезного много на сайте, кроме этих вещей.
2. Может как-то переформулировать фразу
Допустимо использовать MIDI-музыку, но её наличие нужно указать в ReadMe.
А то у меня на конкурсе 96k Mikle трижды что-ли переспрашивал, в каком смысле у меня MIDI.
3. В полезные ссылки можно добавить:
https://github.com/farbrausch/fr_public - прямая ссылка на исходники .kkrieger (точнее всего его движка werkkzeug)
http://www.dbfinteractive.com/forum/index.php?topic=1773.0 - использование crinkler с MinGW
4. Может стоит явным образом оговорить понятие "исполняемый файл"? Во избежание.
html/javascript разрешён?
5. Из косметических соображений - можно выдать 50*(N-1) баллов, но убрать десятые.
> Кооперироваться можно?
Хороший вопрос. Наверное, да. Что скажут остальные?
> 1.
Спасибо. Подпункты бессмысленны, всё это можно найти с главной странице, там же есть каталог.
> 2.
Исправил на
> 3.
Добавлено.
> 4.
Всё вроде оговорено. Даже приведена ссылка на инструкцию от Bodja для упаковки html+flash в один исполняемый файл. Что не так?
> 5. Из косметических соображений - можно выдать 50*(N-1) баллов, но убрать десятые.
Хотел, но не стал. Психологически проще расставлять оценки от 1 до 10, чем от 10 до 100. А с веб-оценивалкой это всё вообще будет не актуально.
Роман Шувалов
> Хороший вопрос. Наверное, да. Что скажут остальные?
Конечно можно, как обычно - заявку подаёт кто-то один.
Тогда ищу моделера\геймдиза. Сам умею кодить маленький код и немного рисовать.
SDC
> Тогда ищу моделера
Что он тебе должен будет выдать? Чтобы уместиться в 32к, модели надо генерировать процедурно. Ну, разве что немножко низкополигональных моделек влезет.
Ну их и запаковать можно наверно... ладно ищу кого-нибудь)
SDC
Ну, парочку низкополигональных запакуешь, да. Но остальное только генерировать. Если в роли программиста будешь ты - напиши Hello World минимального размера. Дальше, когда будешь потихонечку превращать его в игру пусть и с временными моделями, поймёшь, что к чему.
Роман Шувалов
>Что он тебе должен будет выдать? Чтобы уместиться в 32к, модели надо генерировать процедурно. Ну, разве что немножко низкополигональных моделек влезет.
В http://www.iquilezles.org/www/material/breakpoint2007/breakpoint2007.htm юзают. Моделер, как я понимаю, выдаёт файл в обычном формате (.obj, whatever), перегнать его скриптом в более компактное представление - задача программиста.
>> 1.
>Спасибо.
>> 3.
>Добавлено.
Ээ... не вижу.
Я скорее о другом (хотя это уточнение тоже дельное).
В том случае Mikle интересовало, что я играю MIDI своим синтезатором, а не штатными средствами ОС.
Так что будем делать с Линуксом?
Тема в архиве.