Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 19.07.2010, 21:52   #491
Ponkole
Форумчанин
 
Регистрация: 02.07.2010
Адрес: Россия, Татарстан, Набережные Челны
Сообщений: 167
Репутация: 61

skype: ponkole
По умолчанию

BASSON_XVI вызывать randomize надо в начале главных циклов например вначале процедур типа:

Код:

procedure blabla(bla);
begin
  randomize;
  blablabl:=random(10);
  blablaba:=random(10);
  blablala:=random(10);
end;


Последний раз редактировалось Beermonza; 26.07.2010 в 16:50.
Ponkole вне форума   Ответить с цитированием
Старый 20.07.2010, 10:17   #492
Ponkole
Форумчанин
 
Регистрация: 02.07.2010
Адрес: Россия, Татарстан, Набережные Челны
Сообщений: 167
Репутация: 61

skype: ponkole
По умолчанию

Спасибо большое DomiNick

Последний раз редактировалось Beermonza; 26.07.2010 в 16:48.
Ponkole вне форума   Ответить с цитированием
Старый 21.08.2010, 00:28   #493
Alexan-Dwer
Форумчанин
 
Аватар для Alexan-Dwer
 
Регистрация: 20.04.2009
Адрес: Россия
Сообщений: 136
Репутация: 38
Радость

Познавательная тема. Я тоже думаю в будущем о создании RPG, поэтому сейчас начинаю готовить свою базу знаний.
Цитата:
Не надо рисовать все в один Image. Рисуйте сразу на форму.
Конечно, выводить графику напрямую гораздо лучше. Но, если я рисую на Canvas формы и перетаскиваю ее за пределы экрана, то она очищается. Я так понимаю, что вывод графики без Image подходит только для FullScreen игр?

Так же хотелось бы узнать какие форматы файлов использовать, что бы защитить свою игру. В ситуации с файлом карты все просто, так как каждая игра имеет свой формат, то и понять его может только разработчик. Но как быть с графикой ?
Alexan-Dwer вне форума   Ответить с цитированием
Старый 21.08.2010, 00:43   #494
DomiNick
Студент, не
Профессионал
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Адрес: Россия-Матушка, ул.«Эльфов 80-го уровня», спросить "сáмого Эльфа"...
Сообщений: 2,067
Репутация: 440
По умолчанию

Цитата:
Не надо рисовать все в один Image. Рисуйте сразу на форму.
Я считаю что это кардинально зависит от ситуации...
Если надо всего пару линий нарисовать, то тогда в OnPaint лучше LineTo на форму... А если тысячи линий/кривых или вообще целый битмап? Тогда полюбому лучше на временном битмапе сначала, а потом BitBlt...
Цитата:
Так же хотелось бы узнать какие форматы файлов использовать, что бы защитить свою игру.
Полностью защитить невозможно... Ломают всё...((
__________________
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума   Ответить с цитированием
Старый 21.08.2010, 00:55   #495
Alexan-Dwer
Форумчанин
 
Аватар для Alexan-Dwer
 
Регистрация: 20.04.2009
Адрес: Россия
Сообщений: 136
Репутация: 38
По умолчанию

Цитата:
Полностью защитить невозможно... Ломают всё...((
Да, если взять Hex Editor и debugger, то можно много чего изменить, но все же хотелось бы узнать, как профессионалы поступают с графикой.
Alexan-Dwer вне форума   Ответить с цитированием
Старый 21.08.2010, 01:06   #496
DomiNick
Студент, не
Профессионал
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Адрес: Россия-Матушка, ул.«Эльфов 80-го уровня», спросить "сáмого Эльфа"...
Сообщений: 2,067
Репутация: 440
По умолчанию

Цитата:
как профессионалы поступают с графикой.
Ну... У каждого свои подходы...
Многие просто архивируют (зачастую своими алгоритмами)...

А есть "СверхПрофи" которые вообще всю графику генерируют программно (>пример<)...
__________________
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума   Ответить с цитированием
Старый 21.08.2010, 01:16   #497
Гром
Профессионал
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
Репутация: 473

icq: 482-373-277
По умолчанию

Цитата:
если я рисую на Canvas формы и перетаскиваю ее за пределы экрана, то она очищается
Ничего страшного, т.к. перерисовка всегда происходит в игровом таймере несколько раз в секунду. Как очистится так тут же и заново нарисуется.
Цитата:
какие форматы файлов использовать, что бы защитить свою игру
Как вариант - используйте один из общепринятых форматов, только в каждом файле меняйте пару байтов, чтобы обычным способом их нельзя было прочесть, а ваша программа, вернув эти байты в исходное состояние, могла ими потом нормально оперировать.
Или еще вариант - пакуйте несколько нужных файлов в один бинарный файл просто путем записывания байт нескольких файлов подряд, дополнительно указывая нужные данные. То есть, к примеру, файл выглядит так:
Код:

[Здесь всякая лирика на тему того, что это файл вашего "архива"]
[Число упакованных файлов в данный "архив"]
[Тип первого файла][Размер первого файла][Байты первого файла]
[Тип второго файла][Размер второго файла][Байты второго файла]
[А после каждого второго файла идет еще 10 байт мусора чисто чтобы усложнить жизнь тому, кто попробует из файла извлечь информацию]
[Тип третьего файла][Размер третьего файла][Байты третьего файла]
...
[Благодарности и приветы всем друзьям и родственникам]

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

В общем, при принятии таких мер предосторожности вы можете быть уверены, что по крайней мере "хакер" лишенный воображения до вашей графики не доберется. Более искушенный если захочет, то сможет добраться, но против него придется использовать уже более серьезные средства шифрования.

(+)
Цитата:
Если надо всего пару линий нарисовать, то тогда в OnPaint лучше LineTo на форму... А если тысячи линий/кривых или вообще целый битмап? Тогда полюбому лучше на временном битмапе сначала, а потом BitBlt...
Это уже к вопросу о двойной буферизации. Думаю, в любой игре ее стоит использовать. Ну а если говорить насчет Image vs Form, то безусловно конечный экран должен быть канвой формы, а не Image'а.
__________________
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же

Последний раз редактировалось Гром; 21.08.2010 в 01:20.
Гром вне форума   Ответить с цитированием
Старый 21.08.2010, 17:46   #498
Beermonza
Инженер ИС
Профессионал
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
Репутация: 746
По умолчанию

Цитата:
Сообщение от Гром
Как вариант - используйте один из общепринятых форматов, только в каждом файле меняйте пару байтов, чтобы обычным способом их нельзя было прочесть, а ваша программа, вернув эти байты в исходное состояние, могла ими потом нормально оперировать.
Очень эффективный вариант, но есть ограничения, нельзя применять с форматами без сжатия типа BMP, ...2 испорченных байта в заголовке не помешают открыть картинку в рукописном редакторе. Нужно использовать пакованный формат и по некоему алгоритму просто портить файл на 50-70% с возможностью восстановления, алгоритм порчи и восстановления хранить в составном виде, то выполняя, то отлаживая на время, между которым выполнять другие запутывающие действия. Это очень сложно создать, и так же сложно разгадать, особенно если применяется еще и подмена зависящая от многих параметров самого исходного файла, например: размер, пропорции, содержание цветов. Идентичных текстур в игре наверняка не будет, и каждая из них будет зашифрована по своему, чтобы нельзя было проследить аналогию или понять принципы.

Здесь же, в теме для новичков можно даже не заморачиваться, ...большинство используют уже широкодоступные ресурсы, и утаивать их нет смысла. А если что-то серьезное, то оно все равно выводится на экран, с него содрать и вырезать несложно, нужно только время.
__________________
Руководитель проекта MMO 2D RPG
Beermonza вне форума   Ответить с цитированием
Старый 21.08.2010, 20:13   #499
Alexan-Dwer
Форумчанин
 
Аватар для Alexan-Dwer
 
Регистрация: 20.04.2009
Адрес: Россия
Сообщений: 136
Репутация: 38
По умолчанию

Гром, примерно такую модель я и обдумывал. На мой взгляд, это действительно просто и элегантно, но как предложил Beermonza давайте отложим этот вопрос на десерт.
Сейчас я думаю о полноэкранном режиме для формы:
Код:

Form1.BorderStyle:=bsNone;
Form1.Top:=0; Form1.Left:=0;
Form1.Width:=Screen.Width; Form1.Height:=Screen.Height;

или
Код:

Form1.BorderStyle:=bsNone;
Form1.Top:=0; Form1.Left:=0;
Form1.WindowState:=wsMaximized;

или
Код:

var
RectScr: TRect=(Left: 0; Top: 0; Right: 0; Bottom: 0);
FullScr: Boolean=False;

procedure TForm1.FormCreate(Sender: TObject);
begin
FullScr:=not FullScr;
if FullScr then begin
RectScr:=BoundsRect;
SetBounds(Left-ClientOrigin.X, Top-ClientOrigin.Y,
GetDeviceCaps(Canvas.handle, HORZRES) + (Width - ClientWidth),
GetDeviceCaps(Canvas.handle, VERTRES) + (Height - ClientHeight));
end
else BoundsRect:=RectScr;
end;

Отображает форму во весь экран, но почему-то выглядит это не эффектно.
Alexan-Dwer вне форума   Ответить с цитированием
Старый 22.08.2010, 13:25   #500
Гром
Профессионал
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
Репутация: 473

icq: 482-373-277
По умолчанию

В каком смысле выглядит не эффектно? Просто серая форма на весь экран? Если так, то это лечится сразу же как только на всю форму начинает выводиться графика. Или что вы имеете в виду?
__________________
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хорошие уроки Render Общие вопросы Delphi 9 15.09.2012 07:13
Акцесс вопросы новичков Yaga Помощь студентам 4 02.06.2008 00:16
Учебники для новичков в програмировании Рар Общие вопросы Delphi 6 08.01.2007 09:07


21:45.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru