Войти
ПроектыФорумКонкурсы

Конкурс минималистичных движков Nano Engine [2+1 недели]

Страницы: 1 2 348 49 Следующая »
#0

Задача написать движок, имеющий минимальное внешнее API с максимальной гибкостью, позволяющий реализовывать разнообразные игры. Потенциальные жанры: cайдскроллер, платформер, шутемап (вид сверху), логическая игра.

По истечении 2 недель внешнее API должно быть задокументировано и меняться уже не может.
После будет предоставлен тайлсет (2D или 3D на выбор) и выдано ТЗ по реализации примитивной игры.
На реализацию игры дается неделя (чтобы при разных графиках все имели возможность поработать в выходной).
Движок можно дорабатывать внутри, реализовывать любые хаки, но при этом внешее API не должно никаким образом меняться или дополняться.
После завершения участник обязан предоставить саму игру и код игры, который и будет оцениваться.
Оцениваться будет стабильность, соответствие игры ТЗ, а также читаемость и объем кода.
За изменение фиксированно API сразу следует дисквалификация. Даже если int& был заменен на int*.

TL;DR
2 недели пишем минималистичный движок основываясь на фрейморвках и либах.
1 неделю пишем игру по ТЗ.
Оценивается лаконичность API и игрового кода.

Необходимый минимум в движке - проигрывание звуковых файлов, ввод с клавиатуры, любого уровня UI (минимум кнопка и текст) и разумеется сам рендер (2D или 3D, или все вместе).
Только эти функции будут задействованы в ТЗ.

Сроки:
1  июня 00:01 - Старт конкурса.
17 июня 23:59 - Фиксируем и публикуем API.
24 июня 23:59 - Выкладываем игру и ее код.

Условия:
- Судейство производится самими конкурсантами путем расстановки работ участников от лучшего к худшему.
- Движок не должен основывать ни на каком другом движке, но позволяется использовать сторонние фреймворки из указанного ниже пополняемого списка.
- Выбор любых математических библиотек, библиотек по загрузке и проигрыванию игровых ресурсов (текстуры, звук, модели, спрайты, шрифты), UI тулкитов свободный.
- Выбор языка программирования свободный, но если судьи не будут в состоянии понять всю глубину ваших глубин, то имеют право поставить работу на последнее место.

Целевая платформа:
Windows 7 x86/x64. Видеокарта уровня OpenGL 3.3, DirectX 11.

Фреймворки:
Голый WinAPI
SDL1.2
SDL2
GLFW
SFML
PyGame
AvalancheProject
MonoGame

Заявку как обычно подаем красным текстом, чтобы я не пропустил.

Участники:
Жора Монтировка
kipar                        https://gitlab.com/kipar/nonoengine
war_zes                  https://github.com/warzes/NanoEngine
MrShoor                  https://github.com/MrShoor/BackTerria
zavod3D
.z.                            https://github.com/Zakhar-V/NanoEngine
nes
Madware
widewrd
равен

Призовой фонд:
Panzerschrek[CN] - 2.018 р
Vitorio - 1.000 р
skalogryz - 3.000 р

31 мая 2018 (Правка: 15 июня 2018, 20:15)

#1

API
Madware
kipar
nes
widewrd
Жора Монтировка
MrShoor rev 20105f4acc841687e22efcf53096b55944565c98

ТЗ
Шрифт:
http://www.1001fonts.com/advanced-pixel-7-font.html
Альтернативно можете использовать любой, если SDF реализован.

+ Текст

Ассеты, план уровня, текст

Релизы
MrShoor
Madware
Жора Монтировка
kipar

31 мая 2018 (Правка: 24 июня 2018, 20:56)

#2

[reserved]

31 мая 2018

#3

>Движок можно дорабатывать внутри, реализовывать любые хаки, но при этом внешее API не должно никаким образом меняться или дополняться.
Так можно сделать движок с одной единственное функцией:

void* GetEngineFeature(const char name[]);
И уже понадергать из нее 100500 функций.

31 мая 2018

#4

На здоровье. Не забывай, что оценивать тебя будут остальные и твой фокус не пройдет. У нас не машинная оценка по количеству внешних функций.

31 мая 2018 (Правка: 21:08)

#5

Заявка

31 мая 2018

#6

Dampire
> После завершения участник обязан предоставить саму игру и код игры, который и будет оцениваться.
Я правильно понял, что открыть надо только код игры, но не код реализации API?

Dampire
> За изменение фиксированно API сразу следует дисквалификация. Даже если int& был заменен на int*.
У нас тут как бы не многомиллионный грант разыгрывают, опечатки и мелкие доработки предлагаю оставить, но отмечать об изменениях (если изменение существенное - судьи занизят балл).

31 мая 2018 (Правка: 21:20)

#7

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

31 мая 2018

#8

Роман Шувалов
Да, правильно. Все что за интерфейсом никому не интересно. Если ты ведешь к тому, "А что если кто-то статически слинкует какой-нибудь движок и никому не скажет", то я тебе отвечаю - "А ничего. Молодец, может даже выиграет конкурс. И получит ничего, разве что ЧСВ потешит"

31 мая 2018

#9

И еще. Насколько игра должны быть независима от сторонних API? Ведь движок может просто возвращать скажем ID3D11Device и ID3D11DeviceContext, а игра уже будет сама реализовывать все что ей надо. Насколько легитимны такие штуки?

31 мая 2018

#10

MrShoor
> А еще неплохо было бы ограничить платформы, на которых все должно работать, и
> минимальный уровень по железу, с которым все должно запускаться.
Платформы ограничил. Семерка с GL3.3/DX11 железом.
MrShoor
> И еще. Насколько игра должны быть независима от сторонних API? Ведь движок
> может просто возвращать скажем ID3D11Device и ID3D11DeviceContext, а игра уже
> будет сама реализовывать все что ей надо. Насколько легитимны такие штуки?
Легитимны на 100%. Я повторюсь. Вы можете выкидывать хоть какое внешнее API в движке. Хоть SetPixel(x,y,Color). Но оценивать движок будут другие участники и они разместят проекты согласно своему видению минималистичности API. То есть самим участникам должно быть выгодно писать чистый и понятный высокоуровневый код без грязных хаков.

31 мая 2018 (Правка: 21:35)

#11

Dampire
Пример контента будет? М?

31 мая 2018

#12

Роман Шувалов
> У нас тут как бы не многомиллионный грант разыгрывают, опечатки и мелкие
> доработки предлагаю оставить, но отмечать об изменениях (если изменение
> существенное - судьи занизят балл).
Опечатки в названии функции без проблем. Опечатки типа ой, я хотел int*, а напечатал int& - не катят. Смена параметров расширяет возможности движка, этого я хочу избежать.

31 мая 2018

#13

MrShoor
> Пример контента будет? М?
https://opengameart.org/content/dungeon-tileset
Да вот хотя бы этот тайлсет. Если тебя 3D интересует, то будет несколько FBX/OBJ статических моделек без костей и анимаций. Можешь хоть Assimp конвертнуть во что захочешь.

31 мая 2018

#14

Еще уточнение. Убойного левелдизайна в финальном проекте не понадобится. Если хотите - можете написать тулсет для редактирования карты, это безусловно пойдет в плюс движку. Но в целом хватит и процедурного.

31 мая 2018 (Правка: 21:39)

Страницы: 1 2 348 49 Следующая »
ПроектыФорумКонкурсы