Оберон-клуб «ВЄДАsoft» https://zx.oberon.org/forum/ |
|
Порт игры Dark Woods на Оберон для ZX Spectrum и др.платформ https://zx.oberon.org/forum/viewtopic.php?f=5&t=4 |
Страница 1 из 2 |
Автор: | Zorko [ 27 мар 2012, 18:24 ] | ||||
Заголовок сообщения: | Порт игры Dark Woods на Оберон для ZX Spectrum и др.платформ | ||||
Ищу единомышленников для совместного проекта — порта игры "Dark Woods" на язык Оберон-2 для платформы ZX Spectrum. Проект задумывается как некоммерческий, с открытыми исходниками. Главная цель — получить удовольствие от общения и совместной разработки, а также поспособствовать росту популярности языка Оберон в Спектрум- и не-Спектрум кругах. Ссылки: http://jockethebeast.phatcode.net/darkwoods.shtml http://jockethebeast.phatcode.net/darkwoods2.shtml Исходники порта Dark Woods 2 на FreeBasic: http://jockethebeast.phatcode.net/DarkWoods2_FreeBasicPort_R1.zip Dark Woods 2 в графическом исполнении: http://jockethebeast.phatcode.net/gfxwoods.zip План-минимум: сделать как можно более точную копию игры "Dark Woods 2" для Спектрума. План-максимум: нарастить это дело графикой, анимацией, музыкой, перенести на другие языки (C, Pascal, Java) и ряд других платформ: (Win32, Linux, J2ME, A2 — BlueBottle, Android). В процессе разработки игры выработать логику кроссплатформенных и кроссъязыковых библиотек (между Спектрумом и другими платформами): графика, звук, музыка, ввод-вывод. Возьмусь делать: Оберон-кодинг (высокий уровень); Z80-асм-кодинг (низкий уровень); возможно, порты на другие языки и платформы; тестирование; обслуживание хостинга и рекламное продвижение. Не возьмусь делать: заставку, графику/шрифты, музыку и звуки для AY/Beeper. А хочется, по возможности, точно такого же звука, как в оригинальной игре. Темп проекта предполагаю скорее медленный и вдумчивый, даже с перерывами, чем гонку-спешку куда попало. Важней не сроки, а качество порта. Ещё учитывайте, что я человек за 30, занят множеством направлений деятельности и женатый. ![]() Проблемы: исходный вариант расчитан на экран 40x25 символов. Чтобы не эмулировать это разрешение, при этом не лишившись цветности, придётся помудрить:
b) сделать горизонтальную прокрутку. На каком варианте лучше остановиться — не знаю. Можно реализовать оба и посмотреть, как будет выглядеть лучше. Кстати, разработка такой игры — это прекрасная возможность начать создание более общего Оберон-модуля Console для ZX Spectrum, определиться на практике что туда может войти и как лучше всё организовать. Несмотря на такие заверения в моей полной кодерской направленности, мне будет интереснее найти не Gfx-мейкера, а кодера, который заинтересуется как игрой "Dark Woods", так и направлением “ZX+Оберон”. Мой интерес — поиск внутренней мотивации и стимулов для доведения проектов до готовности в процессе общения с интересными людьми. Ваш возможный интерес — перенять опыт разработки на Обероне, получить удовольствие от общения в процессе коллективного творчества, повышение уровня способности работать в команде. Желательно также ваше умение работать с системой контроля версий Git. Или желание этому научиться. Это серьёзно облегчает труд. Взаимодействие: форум, ICQ, Jabber, e-mail, Git, мобильник (по Украине). Skype исключается. P.S. Портировать игру водиночку здорово скучно, а взаимодействие с целью воплощения совместной идеи такого рода привлекает.
|
Автор: | Saferoll [ 28 май 2013, 18:53 ] |
Заголовок сообщения: | Re: Порт игры Dark Woods на Оберон для ZX Spectrum и др.платформ |
В качестве отдыха от "фористики" взглянул на эту игру. ![]() Цитата: Проблемы: исходный вариант расчитан на экран 40x25 символов. Чтобы не эмулировать это разрешение, при этом не лишившись цветности, придётся помудрить: Само игровое поле 30х15+рамка с каждой стороны=32х17 -вот это главное. По бокам от этого поля ничего не выдается, это пространство можно просто отбросить.a) втиснуть всё в 32x24; b) сделать горизонтальную прокрутку. На оставшихся строках размещены игровые показатели и подсказки по клавишам - это вполне можно втиснуть в 7 строк экрана (и чуть сжать по горизонтали). Даже по рисунку видно, что можно сдвинуть надписи вправо и на пару символов прижать друг к другу, чтобы уместились точно под 32-символьным игровым полем. В результате получим: игровое поле на 100% совпадает с оригиналом, надписи почти совпадают (отличия не существенны). Горизонтальную или вертикальную прокрутку делать незачем. |
Автор: | Zorko [ 28 май 2013, 19:02 ] |
Заголовок сообщения: | Re: Порт игры Dark Woods на Оберон для ZX Spectrum и др.платформ |
Справедливое замечание. ![]() Кстати, данная игра могла бы послужить стимулом для разработки кроссплатформенных библиотек MS-DOS - Windows - Spectrum. Например, поскольку не все символы в игре алфавитно-числовые, то ясно, что нужен тайловый аппарат, а также универсальный интерфейс для управления (клавиатура, сенсор, мышь). Для WinDev нужно консольку сэмулировать графическими средствами (на SDL, например). В итоге получится полезный пример, выгодно показывающий большую кроссплатформенность и ясность кодинга на Обероне. ![]() |
Автор: | Zorko [ 05 июн 2013, 14:18 ] |
Заголовок сообщения: | Re: Порт игры Dark Woods на Оберон для ZX Spectrum и др.платформ |
Вот, впечатлился мастерством прорисовки тайлов 8x8, было бы хорошо связаться с человеком, ему бы наверное понравилась идея сделать Dark Woods для ZX менее текстовым, более графическим. http://www.worldofspectrum.org/forums/showthread.php?t=43138 |
Автор: | Zorko [ 05 июл 2013, 15:51 ] | ||||
Заголовок сообщения: | Re: Порт игры Dark Woods на Оберон для ZX Spectrum и др.платформ | ||||
Приступил к работе над игрой в одиночку. Работать над библиотеками всяко приятнее, когда держишь в голове какой-то прикладной проект, так что попутно дорабатываю и библиотеки. Под контроль версий ещё не поместил. Пока сделал только заставку первого DWoods. Привожу основной код: Код: "OBERON"
|
Автор: | slenkar [ 05 июл 2013, 21:56 ] |
Заголовок сообщения: | Re: Порт игры Dark Woods на Оберон для ZX Spectrum и др.платформ |
great start good luck |
Автор: | Zorko [ 05 июл 2013, 22:15 ] |
Заголовок сообщения: | Re: Порт игры Dark Woods на Оберон для ZX Spectrum и др.платформ |
Thanks! As you see, now the Oberon code is very compact here. All title is ~1.9 Kb, but about a half of this - a font (768 bytes). |
Автор: | slenkar [ 06 июл 2013, 01:21 ] |
Заголовок сообщения: | Re: Порт игры Dark Woods на Оберон для ZX Spectrum и др.платформ |
yes SDCC seems very optimized |
Автор: | Zorko [ 31 авг 2013, 11:08 ] | |||
Заголовок сообщения: | Re: Порт игры Dark Woods на Оберон для ZX Spectrum и др.платформ | |||
Дошли наконец-то руки сделать публичный репозиторий для начатого мною порта игры Dark Woods. Если будете изучать исходники, обратите внимание на то, что модуль DarkWoods.Mod внутри DarkWoods/Win32/Mod в точности такой же, как и в DarkWoods/ZxSpec/Mod. На этом примере показано как реализовать игру с одного исходника (без макропроцессора). А поскольку мир не идеален, и винда со спектрумом — платформы довольно разные, для сокрытия этого в коде пользовательского уровня есть конфигураторы компонентов (в виде *.h заголовков; позволяют тонко настроить различные свойства низкоуровневых библиотек), а также модуль-ядро DWoods2.Mod, в который вынесены платформенно-зависимые моменты. И это нормальное решение, ибо предложенные "мэйнстримом" кроссплатформенные решения на деле оказываются вовсе не такими уж и кроссплатформенными (есть известные проблемы, например, с различными разрешениями экрана и т.п.), то, думаю, такая схема построения софта ещё покажет себя в действии. Прошу желающих присоединиться к проекту. ![]() Буду рад также оказать помощь и поддержку людям, которые выберут XDev в качестве средства разработки для портирования игры на язык Оберон под различные платформы (или для других целей). Вероятно, следует обозначить стратегию развития среды XDev как "MakeYourWishWare". И хотя google translator переводит это как "Сделать продовольственный Шиш" ![]() ![]()
|
Автор: | Zorko [ 09 дек 2013, 01:20 ] | |||
Заголовок сообщения: | Re: Порт игры Dark Woods на Оберон для ZX Spectrum и др.платформ | |||
Реализовал менюшки (I)nstructions и (Q)uit. Точность порта для Спектрума несколько страдает из-за платформенных особенностей, но зато удалось собрать снапшот игры для Win64, правда, польза в этом пока что больше теоретическая, но радует сама возможность. Попутно вдохновился интерфейсом модуля Input, который описан и в Дубовых требованиях. Получилось конечно слегка не то, что я планировал с самого начала (универсальный модуль для ввода, работающий с любыми устройствами ввода), но и так неплохо. Сам модуль Input, как это можно предположить, развивался по мере повышения к нему требований. Сначала от него хотели только ввод печатных символов, потом комбинаций и прочее. Он слегка стеснён рамками типа CHAR (который хоть и может хранить непечатные символы, но всё-таки предназначен не для них). Я расширил модуль, исходя из своих нужд, даже сделав его несовместимым. Но это не страшно, потом сделаю обёртку и назову её OakInput, а пока что пары этих процедур, как я прикинул, хватит для реализации Dark Woods: Код: "OBERON"
Так что сознательно отхожу от типа CHAR в пользу его алиаса Key (подтверждает возможность ввода не только печатного символа, но и кода кнопки; будет требоваться точность при проверке ввода) и от изначального варианта процедуры Read (VAR ch: CHAR), потому что не вижу никаких преимуществ от такого решения. Наоборот, мой вариант позволяет обойтись в ряде случаев без переменной, в отличие от батьки. ![]() Код: "OBERON"
![]()
|
Страница 1 из 2 | Часовой пояс: UTC + 2 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |