Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2011, 11:20   #11
OFPman
Пользователь
 
Регистрация: 06.02.2011
Сообщений: 32
По умолчанию

А вот что именно представляют из себя ресурсы, я не совсем понимаю. За разъяснение этого буду благодарен.

Тоесть не ресурсы а исходники. Очепятался

Последний раз редактировалось Beermonza; 16.02.2011 в 15:35.
OFPman вне форума Ответить с цитированием
Старый 16.02.2011, 11:44   #12
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Это исходный текст на том языке, на котором написана игра. Обычно это язык программирования С/С++. Если есть исходники, из них можно скомпилировать новую версию игры, добавив многопоточность или что там надо. Если исходников нет, можно вносить только мизерные изменения в скомпилированный (бинарный .ехе) файл.

А аддоны можно клепать не имея исходников. Для этого нужно просто разобраться с форматом хранения данных.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 16.02.2011, 13:11   #13
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

А ещё на формме есть кнопка "Правка" как раз для случаев
Код:
Тоесть не ресурсы а исходники. Очепятался
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?
Wicort вне форума Ответить с цитированием
Старый 16.02.2011, 16:23   #14
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
А аддоны можно клепать не имея исходников. Для этого нужно просто разобраться с форматом хранения данных.
это дополнение по сути, аддон глобальнее.
Цитата:
Вот напрример, есть аддон к игре Postal2, там даже на коробке написано, что в движок игры внесены изменения, благодаря которым лучше пинаются трупы, теперь им можно не только отрубить голову, но и разрезать пополам... Как такое делается?
можно название аддона?
вообще немного поменять логику(Postal) легче чем переписать её с нуля(про OFP)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.02.2011, 16:37   #15
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от OFPman Посмотреть сообщение
А вот что именно представляют из себя ресурсы, я не совсем понимаю. За разъяснение этого буду благодарен.

Тоесть не ресурсы а исходники. Очепятался
Исходник - это код, написанный на некотором языке программирования, понятном разработчику, с помощью условных команд и операторов которого он (разработчик) управляет ресурсами ПК, заставляя его выполнять нужные ему действия (последовательность действий).

Например, вот исходник (кусочек какой-то программы):

Код:
void CPostServer::Start()
{
  while(!stop)
  {
    ::WaitForSingleObject( m_hEvent, INFINITE );

    while( packet_queue.size() > 0 )
    {
      ServerBasePacket* packet = packet_queue[0];
      
      SendPacket( packet );
      packet_queue.erase( packet_queue.begin() );

      delete packet;
    }

    ::ResetEvent( m_hEvent );
  }
}
Тому, кто понимает C++ он говорит все целиком, зачем он нужен и что выполняет. После компиляции этого кода на ЯП его уже прочесть невозможно, ...для интереса открой любой EXE-файл в блокноте, там будет примерно такая каша:

Код:
j иЁяяя‹И…Йu3А^[ГЎахH ‰‰
ахH 3Т‹ВАЌDБ‹‰‰Bѓъduм‹‹‰
^[Гђ‰ ‰@Г‹АSV‹т‹Шиќяяя…Аu3А^[
Г‹‰P‹V‰P‹‰‰X‰B‰°
^[Г‹P‹‰‰Q‹дхH ‰ЈдхH ГSVW
UQ‹с‰$‹и‹] ‹$‹‰‹P‰V‹;‹‹S
S;Вu‹Ги·яяя‹C‰‹CFлF;Cu
‹Ги›яяя‹CF‹Я;лuГ‹Ц‹ЕиVяяя„Аu3А
‰Z]_^[ГSVWUѓДш‹Ш‹ы‹2‹C;рrp‹ОJ‹
Эта каша - представление машинного кода в неспециализированном редакторе, который в нормальной форме выглядит так:

Код:
00410000 F0 2F FF FF B2 01 A1 38
00410008 F6 40 00 E8 E4 2F FF FF
00410010 89 47 04 8D 47 08 50 E8
00410018 B0 59 FF FF 8B 0D F4 F6
00410020 40 00 B2 01 A1 B8 FD 40
Эта система кодирования используется повсеместно в электронике, микроконтроллерах, микросхемах памяти, чип-процессорах, и т.д.

Есть программы, с помощью которых можно этот низкоуровневый код "поднять на ступеньку выше", до уже читаемого ассемблерного, например вот до такого:

Код:
    mov  bl,[edi]
    mov  cl,[esi]
    and  ebx,$FF
    and  ecx,$FF
    sub  ebx,ecx
    imul ebx,[ebp+8]
    shr  ebx,8
    add  ebx,ecx
    mov  [eax],bl
    inc  eax
    inc  edi
    inc  esi
    cmp  eax,[ebp+12]
Специалист, понимающий ассемблер, прочтет этот код и будет иметь представление, что он делает. Таких строчек будет сотни тысяч, поскольку одной команде высокоуровневого языка может соответствовать портянка из сотен строк ассемблера. Тут нужно быть специалистом с большой буквы, чтобы смочь из этой кучи ассемблер кода вытащить структуру, которая так ясно видна на ЯП высокого уровня, например С++, что уже показал в самом начале.

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

И, да, ...если видеокарта не используется (не ускоряет), то как факт нужно рассмотреть звено "CPU - ОЗУ", т.е. кроме мощного процессора нужна быстрая оперативная память, с тех времен появились уже DDR, DDR2, DDR3.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его

Последний раз редактировалось Beermonza; 16.02.2011 в 16:47.
Beermonza вне форума Ответить с цитированием
Старый 17.02.2011, 08:55   #16
OFPman
Пользователь
 
Регистрация: 06.02.2011
Сообщений: 32
По умолчанию

Пепел Феникса, название аддона "Штопор Жжёт" А чтобы лучше пинались трупы и т д есть ещё и патч к нему.
Beermonza, ну разумеется у меня DDR3. Про проц и память я давно всё это вычислил. А в то время, когда я сравнивал видюхи, у меня была DDR1.


Цитата:
Сообщение от Beermonza
Дополнения создаются не вмешиваясь в код движка, на то существуют подключаемые модули, которые по правилам переделываются и заменяются на новые.

Да, а можно попросить вас, товарищи, поподробнее про подключаемые модули?

И ещё вопрос, а если достать сорцы, то тогда сделать так, чтобы OFP использовал многоядерность, будет просто? Или будут ещё какие то трудности?

Последний раз редактировалось Beermonza; 17.02.2011 в 15:06.
OFPman вне форума Ответить с цитированием
Старый 17.02.2011, 09:41   #17
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

Трудности естественно будут. Ведь полноценная игра состоит не из 10 строк кода как в примере Beermonza.
Это, скорее всего, будут десятки тысяч строк.
Для того чтобы в них разобраться нужно время и опыт.
Уже после этого можно будет что-то делать.
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?
Wicort вне форума Ответить с цитированием
Старый 17.02.2011, 15:14   #18
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от OFPman Посмотреть сообщение
И ещё вопрос, а если достать сорцы, то тогда сделать так, чтобы OFP использовал многоядерность, будет просто? Или будут ещё какие то трудности?
Если будет исходник на высокоуровневом ЯП, то можно найти человека в разделе "Фриланс", который возьмется за это дело, ...там и договоритесь, что, когда и сколько будет стоить.

OFPman, тут в каждом сообщении справа внизу есть кнопочки, первая "Правка", жми ее и правь свое же сообщение, если что-то нужно добавить (чтобы не создавать подряд посты через каждые 5-10 минут), ...вторая кнопка - "Цитата", в любом сообщении жми и будешь цитировать слова других пользователей, ...оставляй внутри тэга те предложения, которые собрался цитировать, на которые отвечаешь.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 18.02.2011, 10:42   #19
OFPman
Пользователь
 
Регистрация: 06.02.2011
Сообщений: 32
По умолчанию

Не пойму чёто... Beermonza удали тогда мои 2 предыдущих "попытки" редактировать и цитировать, пожалуйста.

Поделитесь пожалуйста опытом, как можно узнать исходники у создателей игры? Как можно с ними связаться, как люди достают движки, есть ли альтернативные способы узнать исходники?

http://www.gamer.ru/s-t-a-l-k-e-r-zo...-byt-obnovleno

Вот например здесь, как то ведь взяли движок Crysis и делают на нём мод к СТАЛКЕРу. Там в спойлерах и скрины и видео есть. Как то ведь такое делают. И на вашей практике наверняка встречались подобные случаи, наверняка вы знаете людей кто делал что то подобное.

Ааа, всё, разобрался как цитировать и редактировать.

Последний раз редактировалось OFPman; 18.02.2011 в 11:05.
OFPman вне форума Ответить с цитированием
Старый 18.02.2011, 21:29   #20
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

http://ru.wikipedia.org/wiki/Postal_2_Штопор_жжот
это насчет аддона.
он был создан совместно с разработчиками игры.

насчет переписывания алгоритма, это может быть очень сложно, ибо паралельные вычисление, это не дважды два всетаки.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многоядерность, висы ситемы. Andreyy Общие вопросы Delphi 1 04.08.2010 16:51
Как можна поменять старую иконку на новую в exe файле? Programmer20101 Общие вопросы Delphi 3 18.05.2010 23:55
TClientDataSet. Как создать новую БД (очистить старую)? TwiX БД в Delphi 6 02.04.2010 19:07
как научить программу сохранять результаты ArtemSK Общие вопросы C/C++ 2 03.01.2010 17:02
Как научить русский Эксель английским командам? zealot_att Microsoft Office Excel 2 22.11.2009 00:50