Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.08.2012, 21:30
smart_man smart_man вне форума
Прохожий
 
Регистрация: 08.12.2008
Сообщения: 40
Репутация: 10
По умолчанию Помогите сделать движок квеста (2D, со звуком)

Привет всем.

Я делаю свой юморной квест и уже подошел к моменту написания движка. Сам я программировал пару приложений на делфи, но это было очень давно. Короче уже почти все забыл. Поэтому и нужна помощь практикующего программиста.

Игру никто не финансирует, делаю для себя и на удачу - вдруг стрельнет, поэтому много денег дать не могу (2000-4000 руб.). Хотелось бы найти программиста готового в основном делать на энтузиазме.

В качестве бонуса, в игре созданной на данном движке будет написано, что программировал такой-то (можно e-mail указать). Также можем договориться о дополнительной выплате, в случае если от игры каким-либо образом в будущем будет получена прибыль.

Если у вас есть свои соображения и предложения - напишите. Поправьте меня если что :-)

Ниже привожу первую версию ТЗ (писал сам, специфика Delphi скорей всего не соблюдена):

Код:
ТРЕБОВАНИЯ К ДВИЖКУ 2D-КВЕСТА
(редакция 1.0 от 12 августа 2012)


СРЕДА РАЗРАБОТКИ
  |__ Delphi (желательно Lazarus)
  |__ Желательно кроссплатформенная (Windows, Mac, и др.)
  |__ На выходе исполняемое в ОС приложение (типа exe)


СИСТЕМНЫЕ ТРЕБОВАНИЯ
  |__ Мышь
  |__ Звуковая плата
  |__ ОС (Windows обязательно, желательно Mac и др.)


ТИПЫ ДАННЫХ И ФУНКЦИИ К НИМ
  |
  |__ Location - локации (id, name, imagefile, walking_area, fg_start, алгоритм отображения локации)
  |       |__ Location_change()        - вызов смены локации
  |       |__ Location_show()            - включение отображения локации
  |       |__ Location_hide()             - выключение отображения локации
  |
  |__ Area  - фрагмент локации (id, id_location, name, hint, imagefile, x, y, cursor=default|arrow_left|right|top|bottom)
  |       |__ Area_show()                 - включение отображения фрагмента локации
  |       |__ Area_hide()                  - выключение отображения фрагмента локации
  |       |__ Area_click()                  - обработчик нажатия на фрагмент локации
  |       |__ Area_hint_show()         - включение отображения всплывающей при наведении подсказки
  |       |__ Area_hint_hide()
  |
  |__ Item  - предметы в игре (id, name, hint, imagefile, imagefile_icon, imagefile_face, x, y)
  |       |__ Item_show()                 - включение отображения предмета
  |       |__ Item_hide()                  - выключение отображения предмета
  |       |__ Item_take()                  - взять предмет
  |       |__ Item_talk()                   - вывод окна с лицом говорящего и текста сообщения (текст появляется буква за буквой, при нажатии текст сразу полностью рисуется)
  |       |__ Item_click()                  - обработчик нажатия на предмет
  |       |__ Item_hint_show()         - включение отображения всплывающей при наведении подсказки
  |       |__ Item_hint_hide()
  |
  |__ Character  - персонажи в игре (id, name, hint, imagefile, imagefile_face, id_location, x, y, view=left|right|top|bottom|...)
  |       |__ Character_show()                 - включение отображения персонажа
  |       |__ Character_hide()                  - выключение отображения персонажа
  |       |__ Character_talk()                   - вывод окна с лицом говорящего и текста сообщения (текст появляется буква за буквой, при нажатии текст сразу полностью рисуется)
  |       |__ Character_move()                - определние конечной точки пути перемещения, расчета траектории движения к ней и запуск анимации движения персонажа
  |       |__ Character_click()                  - обработчик нажатия на персонажа
  |       |__ Character_hint_show()         - включение отображения всплывающей при наведении подсказки
  |       |__ Character_hint_hide()
  |
  |__ Pocket  - карман для предметов, взятых главным персонажем (id)
  |       |__ Pocket_show()                      - включение отображения панели кармана
  |       |__ Pocket_hide()                       - выключение отображения панели кармана
  |       |__ Pocket_item_add()               - добавление предмета в конец списка взятых предметов (со скрытием предмета на локации и показом иконки предмета)
  |       |__ Pocket_item_delete()            - удаление предмета из списка взятых предемтов (со скрытием иконки)
  |       |__ Pocket_item_click()               - обработчик нажатия на предмет из списка (при повторном нажатии выбор снимается)
  |       |__ Pocket_item_select()            - выбор предмета (иконка предмета заменяет указатель мыши)
  |       |__ Pocket_item_unselect()         - снятие выбора предмета (указатель мыши становится стандартным)
  |       |__ Pocket_button_prev_click()   - перемотка предметов в кармане
  |       |__ Pocket_button_next_click()    - перемотка предметов в кармане
  |       |__ Pocket_item_hint_show()      - включение отображения всплывающей при наведении подсказки
  |       |__ Pocket_item_hint_hide()
  |
  |__ Organizer  - памятка для текущей игры (id_text, type)
  |       |__ Organizer_button_show()      - включение отображения кнопки открытия памятки в модальном окне
  |       |__ Organizer_button_hide()       - выключение отображения кнопки открытия памятки в модальном окне
  |       |__ Organizer_add()                    - добавление текстовой записи в конец списка памятки 
  |       |__ Organizer_delete()                - удаление текстовой записи из списка памятки 
  |       |__ Organizer_type_set()            - пометка записи как 1) запись-памятка 2) цель 3) выполненная цель (напротив каждой записи соответствующая иконка)
  |
  |__ Text  - тексты (id, text)
  |       |__ Text_get()      - получение строки текста
  |
  |__ Music    - музыка (id, musicfile)
  |       |__ Music_change()   - вызов смены музыки (секундное снижение громкости текущей композиции и смена на новую композицию)
  |       |__ Music_play()        - включение проигрывания музыкальной композиции (одновременно может играть только одна композиция)
  |       |__ Music_stop()        - выключение проигрывания музыкальной композиции
  |
  |__ Sound    - звуки (id, soundfile)
  |       |__ Sound_play()        - включение проигрывания звука
  |       |__ Sound_stop()        - выключение проигрывания звука
  |
  |__ Savegame - сохраненная игра (бинарные или текстовые файлы с уникальными именами)
  |       |__ Savegame_save()        - сохранить игру
  |       |__ Savegame_load()         - загрузить игру
  |       |__ Savegame_list_get()    - получить список всех сохраненных игр
  |
  |__ Animation  - алгоритмы анимации (id)
  |       |__ Animation_play()       - включение проигрывания алгоритма "ролика" анимации (указатель мыши становится в виде значка перемотки >>)
  |       |__ Animation_stop()       - выключение проигрывания алгоритма "ролика" анимации
  |       |__ Animation_rewind()    - перемотка к концу алгоритма "ролика" анимации
  |       |__ Animation_background_play()       - включение проигрывания алгоритма "фоновой" анимации (указатель мыши не меняется)
  |       |__ Animation_background_stop()       - выключение проигрывания алгоритма "фоновой" анимации
  |
  |__ Image  - изображение (id, imagefile, id_location, x, y)
  |       |__ Image_show()                 - включение отображения изображения
  |       |__ Image_hide()                  - выключение отображения изображения
  |
  |__ Файлы изображений локаций (png, gif, jpg, bmp)
  |__ Файлы изображений фрагменты локаций (png, gif, jpg, bmp)
  |__ Файлы изображений предметов (png, gif, jpg, bmp)
  |__ Файлы изображений персонажей в разных ракурсах и движении (png, gif, jpg, bmp)
  |__ Файлы иконок и других изображений (png, gif, jpg, bmp)
  |       |__ Иконка success
  |       |__ Иконка denied
  |       |__ Иконка information
  |__ Файлы музыки (mp3, wav)
  |__ Файлы звуков (mp3, wav)


ГРАФИЧЕСКИЙ ИНТЕРФЕЙС
  |
  |__ Стартовое окно 
  |       |__ Отображение заставочного изображения на фоне
  |       |__ Отображение графических кнопок (при наведении подсветка): Начать, Загрузить, Выйти
  |       |__ Проигрывание музыкальной композиции (с повторением)
  |
  |__ Основное окно
  |       |__ Отображение изображения локации на фоне
  |       |__ Отображение изображений (фрагментов локации, персонажей, предметов)
  |       |__ Проигрывание музыкальной композиции (с повторением)
  |       |__ Отображение главной панели управления
  |               |__ Отображение панели кармана предметов (рамка, контейнеры для предметов, иконки предметов, кнопки перемотки: Предыдущий, Следующий)
  |               |__ Отображение графических кнопок (при наведении подсветка): Сохранить, Загрузить, Настройки, Выйти, О программе, Памятка
  |               |__ Отображение счетчика набранных очков в игре (трехзначный)
  |               |__ Отображение текстового индикатора времени суток (День, Ночь)
  |
  |__ Модальные окна
  |       |__ Сохранение игры (список, поле имени, кнопки Сохранить, Отменить)
  |       |__ Загрузка игры (список, кнопки Загрузить, Отменить)
  |       |__ Настройки игры (громкость музыки, громкость звука, скорость анимации, кнопки Сохранить, Отменить)
  |       |__ Памятка (список с иконками, кнопка Закрыть)
  |       |__ О программе (версия программы, копирайты, лицензионное соглашение)
  |
  |__ При подведении указателя мыши к областям экрана, имеющим текстовое описание (hint), выводить всплывающую подсказку
  |
  |__ По нажатию правой кнопки мыши при выбранном предмете, выбор сбрасывается


ПРИМЕЧАНИЕ:
- в требованиях пока никак не отражено что графика должна поддерживать слои (задний, передний план) и исходя из этого отображаться
- все файлы изображений должны быть недоступны для прямого просмотра из файловой системы (чтобы нельзя было увидеть все ролики не пройдя игру)


Последний раз редактировалось smart_man, 13.08.2012 в 17:04.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:28.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter