Важная информация

User Tag List

Страница 4 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 31 по 40 из 57

Тема: 2D движки на спектруме.

  1. #31
    Master Аватар для boo_boo
    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    715
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    вывод спрайтов, текста и тп оно понятно. но на примере пц-шных движков, очень удобно юзать абстракцию "полотна" (canvas), или "сцены", у которой есть тайловый фон, и по которой движутся объекты (спрайты или наборы спрайтов), причем для последних поддерживается детекция столкновений с другими обьектами, а также маски (куски фона, которые закрывают объекты, типа ствол дерева, за которым проходит персонаж...)
    ИМХО дальше этого что-то воротить уже бред, а вот это самое сделать на ZX вполне возможно. spritepack довольно удачный пример этого подхода (с очевидными для zx упрощениями), сомневающиеся могут позырить демки, и убедиться, что тормозов нет. впрочем, у спрайтпака есть свои недостатки -- к примеру, нельзя вменяемо намутить скроллинг фона, и памяти он жрет много. но как proof of concept он рулит.

    Добавлено через 2 минуты
    Цитата Сообщение от Vitamin Посмотреть сообщение
    Имеются конструкторы адвентюр
    эти конструкторы -- для англ. языка (нормального русского парсера для этих целей AFAIK нету). но английских же игр на них сделано очень много.
    (я не говорю про менюшные адвентюры -- это IMHO мало кому интересно, потому что убого...)
    Последний раз редактировалось boo_boo; 11.03.2008 в 00:17. Причина: Добавлено сообщение

  2. #31
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #32
    Guru Аватар для moroz1999
    Регистрация
    17.01.2005
    Адрес
    Tallinn
    Сообщений
    2,517
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    86
    Поблагодарили
    39 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Опиши свое видение этого "инструмента разработчика" как можно более детальнее.
    Сугубо моё видение того, к чему надо стремиться, на данный момент таково:
    1. Должен использоваться кросс ассемблер (sjasm+) с самосборкой и автозапуском в эмуляторе для отладки.
    2. Процедуры движка поделены на функции и минимально документированы. Комменты - не обязательны, достаточно описания функционала и входных параметров.
    3. Во внутренней архитектуре отдельно выделена функция логики (в которой происходит обработка действий игрока, AI, минимальная игровая физика для и тд). Логика по мере отработки игровой ситуации записывает в небольшой буфер обмена информацию по типу: номер отображаемого спрайта, координаты на экране, тип спрайта (попиксельный, аттрибутный итд). Логика каким-то еще образом (детально еще не продумывал) может репортить необходимость перерисовки тайлового бэкграунда, скорее всего в виде текущей координаты левого верхнего угла экрана относительно карты бэкграунда.
    4. Буфер обмена отдельно отрабатывается т.н. "мэнэджером" который берет информацию о спрайтах из таблицы, подключает нужные банки памяти и запускает с этой инфой запрошенные процедуры отрисовки спрайтов. Здесь же может производиться бэкап бэкграунда под спрайтами, вывод тайлового фона и что угодно. Этот же менеджер выбирает в каком экране надо рисовать, а какой отображать.
    5. На данный момент логика у меня выведена на прерывания, что даёт некоторые преимущества (типа естественной системы FPS), но и несёт с собой множество спорных нюансов. Сей пункт даже сейчас под вопросом.

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

    Добавлено через 4 минуты
    Цитата Сообщение от boo_boo Посмотреть сообщение
    вывод спрайтов, текста и тп оно понятно. но на примере пц-шных движков, очень удобно юзать абстракцию "полотна" (canvas), или "сцены", у которой есть тайловый фон, и по которой движутся объекты (спрайты или наборы спрайтов), причем для последних поддерживается детекция столкновений с другими обьектами, а также маски (куски фона, которые закрывают объекты, типа ствол дерева, за которым проходит персонаж...)
    спасибо за пример, это очень близко к тому, каким подобную концепцию вижу себе я . В вышеприведенном я бы только отделил детекцию столкновений в отдельный функционал, потому что в разных проектах это может требоваться по-разному. То, что представляю себе я - это чисто графический инструментарий, поэтому любая логика/псевдофизика, имхо, должна быть реализована отдельно.
    Последний раз редактировалось moroz1999; 11.03.2008 в 00:28. Причина: Добавлено сообщение

  4. #33
    Guru Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,056
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    219
    Поблагодарили
    92 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от moroz1999 Посмотреть сообщение
    Добавлено через 3 минуты
    Меня интересует такой вопрос: как ты сам оцениваешь, насколько легко его повторное использование в других проектах, мало похожих на Viking Quest?
    Да и про внутреннюю организацию было бы интереснее подробнее послушать, потому что у меня самого опыта в это не так много.
    Смотря что понимать под "мало похож". можно скормить движку другие спрайты тайлов и персонажей, другую карту, в корне поменять сюжет, поменять скин и написать кучу оверлеев на каждый случай. только основа останется - главгерой ходит по карте, собирает-использует предметы, говорит с другими и.т.д.
    Про внутреннее устройство. Двигало VQ3 состоит из:
    1. аниматор - интерпретатор анимаионных скриптов персонажей, по необходимости перерисовывает их на экране. данные о персонажах вне движка.
    2. контроллер действий героя (взять, использовать итд). в зависимости от действия прошаривается одна из таблиц данных в случае успеха вызов нужной процедурины или печать текста. (напр: "отдать предмет" поимел два параметра - ЧТО и КОМУ)
    3. интерпретатор текста с обработчиком встроеных команд. команд около 30 - это и ветвление сюжета, и манипуляция с параметрами героя, и изменение карты, и вызов оверлеев...
    4. система боя - сильно специфичная часть.
    5. собственно, базовые функции - вывод части карты, спрайтов, печать текста и пр...

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

  5. #34
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,592
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    238
    Поблагодарили
    187 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от newart Посмотреть сообщение
    Звездное Наследние по уровню кода наверное и до 85 года не дотягивает и что с того?
    Это че, такой пример спрайтового движка?

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

    Цитата Сообщение от moroz1999 Посмотреть сообщение
    Ну, на момент допустим, что технический уровень и правда будет настолько невысок. Тогда встречный вопрос: какова альтернатива?
    Читайте книжки
    Ищите кодера
    Прихожу без разрешения, сею смерть и разрушение...

  6. #35
    Master Аватар для ng_dead
    Регистрация
    22.02.2006
    Адрес
    Москва
    Сообщений
    522
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от moroz1999 Посмотреть сообщение
    Существует ли на спектруме готовый движок с открытыми исходниками?
    если еще не вспоминали, то: http://www.zx.pk.ru/showthread.php?t=3152
    Time to burn! You losers better learn -
    No one controls our goddamn lifesl

    Дельта-С 128
    Amiga 600
    Raspberry Pi Rev. B

  7. #36
    Veteran Аватар для GriV
    Регистрация
    18.02.2005
    Адрес
    Набережные Челны
    Сообщений
    1,574
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Читайте книжки
    Ищите кодера
    Да, именно проблема в том что надо читать и искать.
    Не любять этого...
    Биты рулят лучше байтов, байты рулят шустрее!
    View, Звук, Цвет

  8. #37
    Guru Аватар для moroz1999
    Регистрация
    17.01.2005
    Адрес
    Tallinn
    Сообщений
    2,517
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    86
    Поблагодарили
    39 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  9. #38
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,458
    Спасибо Благодарностей отдано 
    193
    Спасибо Благодарностей получено 
    161
    Поблагодарили
    66 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Кто на них сценарии-то писать будет?
    Да нет конечно, не пример.
    Нужен был скорее не движок, что то вроде продвинутого Laser Basic'a заточенного под 128к и дисковод.

    НЕТ сейчас "проблемы графического движка" в игростроении,
    У меня есть графика ну к 3-5 играм разных жанров. Еще знаю художника с графикой для игры вроде Robocop'a.

    А вот движков нет.

    на это времени уйдет минимум - проблемы начинаются, когда надо написать сценарий, сгенерить уровни, придумать правила, задать ИИ итд итп. Сам же прекрасно знаешь, отчего глохнут красивые проекты
    Ну вот есть и сценарий и графика, а кодеров желающих доделать игру что то не видно.
    (Я про Dizzy Main Day)
    В аркадах сценарий так вообще не нужен, а уровни нарисовать все таки проще чем накодить движок игры, точнее найти левелдизайнера проще чем кодера.

  10. #39
    Guru Аватар для rasmer
    Регистрация
    20.01.2005
    Адрес
    Саранск
    Сообщений
    2,195
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Слава - давнобы выложил исходы с наработками - глядишь ктонить чтонить и сделал... а так....
    Мои интры: [Kukarachess][Super boot rmx][tRUSHE MOSAIc][BLAZE]
    Мои игры: [Overload][Removal]

    Список игр для ZX-Spectrum: [2015] [2014]

  11. #40
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,458
    Спасибо Благодарностей отдано 
    193
    Спасибо Благодарностей получено 
    161
    Поблагодарили
    66 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если выложить то подавно не доделают, психология такая, если проект валяется где то, значит он мертвый и никому не нужный, к тому же потроха увидят все кому не лень.

    В принципе я наверное могу создать закрытую тему и там выложить все добро что у меня есть. Надо?

Страница 4 из 6 ПерваяПервая 123456 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Оконные интерфейсы на Спектруме
    от CityAceE в разделе Графика
    Ответов: 53
    Последнее: 19.04.2009, 21:25
  2. М.К Эшер на спектруме
    от ^m00h^ в разделе Графика
    Ответов: 1
    Последнее: 02.01.2008, 05:16
  3. Трудно ли программировать спрайтовые движки?
    от Romanich в разделе Программирование
    Ответов: 29
    Последнее: 22.12.2006, 08:20
  4. Ответов: 11
    Последнее: 31.05.2006, 10:19
  5. Стереограммы на Спектруме
    от CityAceE в разделе Графика
    Ответов: 15
    Последнее: 25.04.2005, 16:16

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •