Board.KolibriOS.org

Official KolibriOS board
It is currently Fri Nov 15, 2019 5:55 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 102 posts ]  Go to page 1 2 3 4 57 Next
Author Message
PostPosted: Thu Dec 04, 2014 11:00 pm 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
Конкурсная версия игры готова.

Image

Ссылка на последний билд: Heliothryx
Также игра лежит в ISO: KolibriOS Downloads

Примечания к выпуску конкурсной версии:

  • Все ресурсы (текстуры, звуки, музыка, и даже шрифты) генерируются процедурно
  • Как результат предыдущего пункта - игра занимает менее 15 килобайт, что соответствует духу проекта KolibriOS
  • Не смотря на маленький объём бинарника, игра разворачивается в несколько мегабайт в ОЗУ и ввиду особенностей реализации графического движка требует не самого слабого процессора, что не очень соответствует духу проекта KolibriOS :), но для графической игры такого рода, сотканной меньше чем за месяц, думаю, это простительно
  • В исходниках игры предусмотрена специальная утилита, конвертирующая текст в формат, используемый в игре, а так же инструкция её использованию. Это сделано для удобства локализации на другие языки.
  • Ну и напослоедок: названием так никто и не поинтересовался, а зря, оно выбрано не случайно :) ru.wikipedia.org/wiki/Heliothryx

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

- - - - - - - - - - - -

С чего всё начиналось (для архива):

Всё управление с клавиатуры. Прошу проверить, всё ли у вас работает. Особенно интересует звук: у меня в Virtualbox он запаздывает (уже исправил: драйвер ALSA и контроллер Intel HD audio), в Qemu звук вообще не завёлся (не разбирался, почему). Напишите, на чём запускали вы.

Планируется что-то типа олдскульного скролл-шутера. Из отличительных особенностей игры:
- все ресурсы (текстуры, звуки, и даже шрифты) генерируются процедурно;
- как следствие, игра достаточно мелкая, в текущем виде запускаемый бинарник весит 22 килобайта. И это для графической игры. Итоговая версия вряд ли перешагнёт отметку в 32 кб;
- игра не требует libc, поэтому может запуститься даже на минимальном 1.44 Мб образе KolibriOS.

Вопросы по конкурсу:
1) Где-то есть тема с обсуждением конкурса, куда надо подать заявку на участие и т.п.? Я не нашёл.
2) Yogev Ezra сообщил, что для заливки исходников на SVN требуется аккаунт. Наверное, пора мне его у вас попросить :)
3) Разработку следует вести в ветке /programs/games/<название_игры>, верно?
4) Про исходники: я их конечно открою под свободной лицензией, но пока конкурс не завершён, есть вероятность, что сопернички сопрут кусок движка, форкнут его и будут со мной конкурировать моими же наработками, что меня не устраивает. Жюри подобное поведение будет отслеживать? Не хочется в последний день загружать, вдруг что пойдёт не так.
5) Для звука используется библиотека /contrib/sdk/sources/sound/, я не разобрался (если честнее - не стал разбираться), компилируется ли она куда-то и надо ли с ней линковаться, поэтому тупо скопировал исходники в папку со своей игрой и собираю всё там. Это допустимо? Или надо сделать как-то иначе? В doom, я смотрю, только header-файл sound.h лежит в папке с игрой...

Скриншотики:

Image
Image

_________________
Roman Shuvalov


Last edited by ALPINE on Wed Jan 14, 2015 8:07 am, edited 10 times in total.

Top
   
PostPosted: Thu Dec 04, 2014 11:12 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Fri Jun 30, 2006 9:01 am
Posts: 1248
Nice demo.
Works perfectly here on virtualbox.
No delay on sounds is noticed (I'm using "intel HD audio" emulated card)

_________________
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein


Top
   
PostPosted: Thu Dec 04, 2014 11:27 pm 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
Quote:
No delay on sounds is noticed (I'm using "intel HD audio" emulated card)
Thanks for testing!

I switched virtualbox audio to "Intel HD audio", it had no effect, but then I switched audiodriver from pulse to ALSA (I'm running Linux) and now delay is gone. Great. I tried Intel HD Audio before and I tried ALSA before but I never tried both in same time :)

BTW, are you using auto-translator to understand russian language? I'm not sure if I should translate my posts to English or not.

_________________
Roman Shuvalov


Top
   
PostPosted: Fri Dec 05, 2014 12:20 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Last edited by Mario_r4 on Sun Jan 04, 2015 9:48 pm, edited 2 times in total.

Top
   
PostPosted: Fri Dec 05, 2014 1:44 am 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
Quote:
Очень много FPU.
Еще не оптимизировал. Но чую, что меньше не станет, т.к. там там смешивание текстур каждый кадр.

Quote:
Однако игра кушает от 1,5 до 3 Мб в зависимости от множителя масштаба.
Будет жрать ещё больше, когда я нагенерирую ещё текстур, звуков и может даже музончик :) Вообще я привык на оперативке не экономить. Так что пара десятков мегабайт для этой игры, думаю, будет сожрана.

_________________
Roman Shuvalov


Top
   
PostPosted: Fri Dec 05, 2014 1:52 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Last edited by Mario_r4 on Sun Jan 04, 2015 9:49 pm, edited 1 time in total.

Top
   
PostPosted: Fri Dec 05, 2014 2:08 am 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
Это те, что легендарный ККригер сделали? Мне до них далековато :) На GameDev.ru в прошлом году проводился конкурс 64к-игр, там я, собственно, впервые начал изучать эту тему и написал зачаток генератора текстур и звуков. Но своим результатом остался недоволен. Многое не удалось (в том числе не сумел) реализовать, да и игры не получилось, только технодемка.

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

_________________
Roman Shuvalov


Top
   
PostPosted: Fri Dec 05, 2014 2:27 am 
Offline
User avatar

Joined: Sat Jul 05, 2014 11:15 am
Posts: 88
ALPINE,
позволь засвидетельствовать свое почтение!
я таки не ошибся, когда решил чтить данное сообщество своим скромным присутствием, здесь ходят очень интересные люди.
будет интересно посмотреть исходники, как я понимаю, они на си,
спасибо за труд!


Top
   
PostPosted: Mon Dec 08, 2014 1:03 pm 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
Три мелких вопроса по организации файлов проекта (скоро буду заливать проект на SVN, не хочу ничего сломать).

На данный момент дерево файлов моего проекта выглядят примерно так:

Spoiler: Show
Code:
Содержимое /programs/games/helio/

./readme.utf8.txt <--------------------- ? (1)
./start.asm
./kolibri.ld
./Tupfile.lua
./use_gcc.lua  <-------------------- ? (2)

./game/
./game/rsgamemenu.h
./game/rsgamemenu.c
./game/rsgame.h
./game/rsgame.c
./game/rsmain.h
./game/rsmain.c
./game/rsgamedraw.h
./game/rsgamedraw.c
./game/rskos.h
./game/rskos.c
./game/rsgametext.h
./game/rsgametext.c
./game/rs/
./game/rs/rsplatform_kos.c
./game/rs/rsmicrolibc.c
./game/rs/rsplatform.h
./game/rs/rsmx.c
./game/rs/rsmx.h
./game/rs/rsbits.h
./game/rs/rsmicrolibc.h
./game/rs/rsdebug.h

./system/
./system/boolean.h
./system/sound.h
./system/console.c
./system/kolibri.c
./system/kolibri.h

./sound/
./sound/sndgetpos.asm   <-------------------- ? (3)
./sound/sndgetsize.asm
./sound/sndgetvol.asm
./sound/sndout.asm
./sound/wavhdr.asm
./sound/sndsetpan.asm
./sound/sndsetfmt.asm
./sound/sndsetvol.asm
./sound/sndtime.asm
./sound/init.asm
./sound/snd.inc
./sound/sndgetfmt.asm
./sound/sndgetpan.asm
./sound/sndsetmvol.asm
./sound/sndsetpos.asm
./sound/sndgetmvol.asm
./sound/stopbuf.asm
./sound/setbuf.asm
./sound/proc32.inc
./sound/sndreset.asm
Три вопроса.

1) Readme-файл в UTF-8 - ок? или предпочтительна какая-нибудь там cp866, которую я часто вижу?

2) Проект собираю командой tup в папке с проектом. Поэтому use_gcc.lua лежит здесь. Это, наверное, непорядок? Но tup не может тащить его из родительской "../.." папки, как же тогда мне отлаживать проект, или я что-то делаю не так?

3) Файлы звуковой библиотеки тупо скопированы из SDK. Это нормально или нет? Они ведь (точно такие же) лежат в папке /contrib/sdk/sources/sound/src и наверное тоже компилируются при общей сборке, но подцепить я их не могу по той же причине - tup из папки с проектом не может цеплять содержимое родительских папок.

_________________
Roman Shuvalov


Top
   
PostPosted: Mon Dec 08, 2014 2:34 pm 
Offline
Public Relations
User avatar

Joined: Mon Jun 07, 2010 12:01 pm
Posts: 1879
Прошу прощения за задержку с ответом.
ALPINE wrote:
1) Где-то есть тема с обсуждением конкурса, куда надо подать заявку на участие и т.п.? Я не нашёл.
На форуме темы (пока что) нет. Есть правила конкурса на Хабре: http://habrahabr.ru/company/kolibrios/blog/243081/
Но, если участники хотят, то я могу создать тему и на форуме (скопировать правила с Хабра).

Для официального участия в конкурсе, готовую игру нужно загрузить на SVN. Аккаунт можно попросить у XVilka, CleverMouse или у меня. На форуме по желанию (необязательно) можно выкладывать тестовые версии, для тестирования пользователями и багрепортов. Для этого каждый участник создаёт свою собственную тему со своей игрой в разделе "Игры", что ты и сделал уже.
ALPINE wrote:
2) Yogev Ezra сообщил, что для заливки исходников на SVN требуется аккаунт. Наверное, пора мне его у вас попросить :)
Верно. Если ты ещё ни у кого не попросил, можешь послать мне в личку username/password, которые ты хочешь, и я тебе создам аккаунт.
ALPINE wrote:
3) Разработку следует вести в ветке /programs/games/<название_игры>, верно?
Да, верно.
ALPINE wrote:
4) Про исходники: я их конечно открою под свободной лицензией, но пока конкурс не завершён, есть вероятность, что сопернички сопрут кусок движка, форкнут его и будут со мной конкурировать моими же наработками, что меня не устраивает. Жюри подобное поведение будет отслеживать? Не хочется в последний день загружать, вдруг что пойдёт не так.
Mario_r4 wrote:
Серьезно? Да, ладно?
Attachment:
The attachment helio-techdemo.txt is no longer available

Уже своровал и использую, аж с 20.11.2014. :wink:
Как видно, шутка Mario_r4 с дизассемблированием бинарника оказалась удачной - уже целых 25 скачиваний :-) А по существу - это очень маловероятно, что кто-то украдёт твой код до окончания конкурса. Разбираться в чужом коде порой труднее, чем написать свой собственный. Две основные причины, по которым мы просим исходники:
  • Проект KolibriOS является open-source, и мы хотим, чтобы он оставался таким и дальше
  • Чтобы была возможность пофиксить твой код, если из-за какого-то изменения в ядре или драйверах он перестанет работать (ну или просто, если кто-то баг найдёт)
Другие разработчики смогут использовать твой код для изучения и самообучения, но никак не для плагиата. Именно поэтому в правилах я явно запретил портирование чужой игры - только написание новой или портирование своей собственной существующей. Таким образом, возможность плагиата сильно снижается. Но в любом случае, для твоего успокоения, я обещаю тебе, что лично проверю исходники всех участников на явный плагиат.
ALPINE wrote:
5) Для звука используется библиотека /contrib/sdk/sources/sound/, я не разобрался (если честнее - не стал разбираться), компилируется ли она куда-то и надо ли с ней линковаться, поэтому тупо скопировал исходники в папку со своей игрой и собираю всё там. Это допустимо? Или надо сделать как-то иначе? В doom, я смотрю, только header-файл sound.h лежит в папке с игрой...
Просьба сделать так же, как в DOOM, чтобы не создавать копии одного и того же кода в разных местах. Тогда, если кто-то что-то исправит в звуковой библиотеке, ему не придётся исправлять отдельно и в твоей игре. За помощью, как это сделать, можно обратиться к CleverMouse.

ALPINE wrote:
Скриншотики:
Скриншотики зачётные, но мне почему-то больше понравился шрифт на скриншоте, который ты выложил на вашем форуме :-)


Attachments:
hello_kolibri_os.png
hello_kolibri_os.png [ 30.23 KiB | Viewed 3554 times ]
Top
   
PostPosted: Mon Dec 08, 2014 3:33 pm 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
Ой, мои три вопроса переместили в эту тему что ли? Или это я их сам сюда разместил?

Quote:
Если ты ещё ни у кого не попросил, можешь послать мне в личку username/password, которые ты хочешь, и я тебе создам аккаунт.
Я уже написал в личку CleverMouse, думаю, дождусь её ответа. уже получил реквизиты аккаунта.

Quote:
Две основные причины, по которым мы просим исходники
Мне не жалко показать исходники, я даже хочу их выложить под лицензией zlib, чтобы любой желающий мог их использовать даже в закрытых проектах, если найдёт в коде что-то полезное. Вопрос был исключительно про конкурс и про соперничество. Ок, тогда не беспокоюсь.

Quote:
Просьба сделать так же, как в DOOM
Ок, но возникает проблема с компиляцией, если вызывать команду tup прямо из папки с проектом.
Quote:
За помощью, как это сделать, можно обратиться к CleverMouse.
Прям в личку что ли? Я думаю, решение данного вопроса будет интересно не только мне одному, может, лучше обсуждение на форуме сделать?

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

Спасибо за ответы.

_________________
Roman Shuvalov


Top
   
PostPosted: Mon Dec 08, 2014 3:53 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
ALPINE wrote:
Три вопроса.

1) Readme-файл в UTF-8 - ок? или предпочтительна какая-нибудь там cp866, которую я часто вижу?

2) Проект собираю командой tup в папке с проектом. Поэтому use_gcc.lua лежит здесь. Это, наверное, непорядок? Но tup не может тащить его из родительской "../.." папки, как же тогда мне отлаживать проект, или я что-то делаю не так?

3) Файлы звуковой библиотеки тупо скопированы из SDK. Это нормально или нет? Они ведь (точно такие же) лежат в папке /contrib/sdk/sources/sound/src и наверное тоже компилируются при общей сборке, но подцепить я их не могу по той же причине - tup из папки с проектом не может цеплять содержимое родительских папок.

1) Нормально.
2)3) Пункт A2 в http://websvn.kolibrios.org/filedetails.php?repname=Kolibri+OS&path=%2Fbuild.txt. В локальной копии файлы use_gcc.lua и use_sound.lua действительно придётся скопировать, но заливать в репозиторий эту копию не нужно. Чтобы всё это работало как надо, в tup.config локальной копии, который тоже в репозиторий заливать не нужно, надо указать CONFIG_HELPERDIR=., а в Tupfile.lua делать примерно так:
Code:
if tup.getconfig("NO_GCC") ~= "" then return end
if tup.getconfig("HELPERDIR") == ""
then
  if tup.getconfig("NO_FASM") ~= "" then return end -- required for sound compilation
  HELPERDIR = "../.." -- или где там папка с Tupfile.lua, должно указывать на programs
end
tup.include(HELPERDIR .. "/use_gcc.lua")
tup.include(HELPERDIR .. "/use_sound.lua")

В use_sound.lua нужно скорректировать первую строчку, чтобы она указывала куда-нибудь, где есть include/* и src/sound.lib. Последнюю можно собрать отдельно или скачать из http://builds.kolibrios.org/eng/data/pr ... sound/src/.

_________________
Сделаем мир лучше!


Top
   
PostPosted: Mon Dec 08, 2014 4:21 pm 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
Шикарненько, всё ясно, спасибо. Сейчас займусь этими исправлениями, как только сделаю - залью на SVN. Аккаунт получил.

:)

_________________
Roman Shuvalov


Top
   
PostPosted: Mon Dec 08, 2014 9:46 pm 
Offline
User avatar

Joined: Tue Nov 25, 2014 5:08 pm
Posts: 109
Залил. Я смотрю, оно уже мгновенно скомпилилось:
http://builds.kolibrios.org/eng/data/pr ... eliothryx/
Загрузил бинарник, вроде работает. Он размером кстати не 20, а всего 10 кб! Какое-то сжатие применяется? (а, погодите, это наверное из-за библиотеки звука?)

А образы собираются когда? Хочется скачать ночную сборку, чтобы убедиться, что всё уж точно сработало как надо :)

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

_________________
Roman Shuvalov


Top
   
PostPosted: Mon Dec 08, 2014 10:06 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
В автосборке включено сжатие kpack. В build.txt описано, где взять упаковщик и как настроить упаковку в локальной сборке, tup.config. По умолчанию - без дополнительной настройки - вызов kpack отключён, потому что "взять kpack" - плюс одно действие, без которого при разработке вполне можно обойтись.

Образы собираются, когда есть, что собирать. Список того, что входит в образ, находится в data/Tupfile.lua, и это отнюдь не всё, что есть на svn и что собирается автосборкой.

_________________
Сделаем мир лучше!


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 102 posts ]  Go to page 1 2 3 4 57 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited