|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.11.2012, 10:57 | #1191 | |
Форумчанин
Регистрация: 02.07.2009
Сообщений: 722
|
Цитата:
А в целом абсолютно согласен. Многие хорошие проекты делались на чем попало, а точнее на чем ближе программисту писавшему проект и не только. Мне вот например C# нравиться, да возможно на нем не написать красивый 3д мир с кучей шейдеров и высоко полигонной графики, который будет работать даже на слабых пк… да и делать одному это много лет… а так чтобы сделать прототип, превратить свою идею в жизнь, показать другим – более чем. |
|
22.11.2012, 18:23 | #1192 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
А я ничего удивительного или обидного не сказал, ...по сети блуждают слепые стереотипы, именно по случаю наличия много больше готового материала на С++.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
01.12.2012, 19:20 | #1193 |
Заблокирован
Регистрация: 27.08.2010
Сообщений: 37
|
Собственно о чём спор?
Я тут почитал и понял. что далеко не все знают как вообще пишутся игры, особенно использующие аппаратные возможности, И уж почти никто не знает что такое Delphi и поэтому путают среду программирования и язык. Вопрос не в том, писать ли игры на Delphi. Вопрос о языке программирования Паскаль. Можно ли а Паскале писать игры? А почему нет? Я сам пишу и ничего. Работают великолепно. Просто нужно знать что делать и как. В чём проблема этого большого трёпа, который здесь развели? Опять скажу - в незнании. Почему принято считать, что писать можно только на C++? Да очень просто. Заголовочные файлы для него написаны. Так называемый SDK. Это лишь посредники для подключения огромной виртуальной машины. Ей даются команды, и она выполняет их. А на каком языке эти команды давать, никакой разницы. Главное. чтобы был переводчик команд для этого языка. То есть те самые заголовочные файлы. Есть они и для Паскаль. А раз есть - дело за малым. Обращаться к виртуальной машине из своей программы через заголовочные файлы. И что для игры ещё нужно? Уйма ресурсов. Так они делаются в графических пакетах и вспомогательных программах. Тут уж вообще вопрос о языке программирования не стоит. А когда они готовы, какая разница, посредством какого языка они будут переданы виртуальной машине? О мультиплатформенности речи вообще нет, если речь идёт Direct X. Если нужны другие операционные системы то тогда Open GL. Это другая виртуальная машина. И у неё свои заголовочные файлы. И опять же. Есть он для Паскаль. И какая разница с какого языка посылать команды? Нужно под Мак? Пожалуйста. Последняя среда разработки использующая Паскаль поддерживает мультиплатформенность. FreePascal давно её поддерживает. Для игр Нужна всего лишь одна форма и таймер. В чём вообще проблема? надо просто сесть и писать. Писать и не забивать голову на чём. Что ближе к сердцу на том и писать. |
01.12.2012, 23:08 | #1194 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Если вы всё прочли от первой страницы до последней, то это уже подвиг. Споров тут нет, это конструктивный диалог с появляющимися в теме, которые не обладая достоверной информацией пытаются отправить Delphi в область ПО и только. Т.е. стандарт: "Отношусь плохо, потому, что я его не знаю".
А тема больше не как вопрос, а как толчок к действию.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
29.12.2012, 22:59 | #1195 |
Форумчанин
Регистрация: 20.04.2009
Сообщений: 136
|
Здравствуйте.
Помогите, пожалуйста, оптимизировать алгоритм вывода спрайтов. Раньше я пользовался циклом и Canvas.Draw – уровень загрузки ЦП 40%. Потом заменил Draw на BitBlt – результат 38-39% с потерей альфа-канала. Сейчас я использую цикл, который попиксельно перегоняет текстуры в TRGBTriple буфер; далее с помощью SetDIBits и BitBlt формирую и вывожу финальный кадр. Такой подход загружает процессор на 2~20%. Причем, разброс всегда случайный. На данный момент меня интересует способ, которым можно понизить нагрузку на процессор и увеличить скорость отрисовки. В середине темы было обсуждение про MMX и ассемблерные вставки. Я пытался восстановить код из сообщений, но тщетно. Надеюсь на помощь более опытных пользователей. |
30.12.2012, 12:08 | #1196 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,886
|
А по буфферизации у Вас как ? Если кадр не абсолютно каждый такт меняется (а такое только в 0,01% случаев имеет смысл) то буфферизация - первый шаг.
Лично я делаю примерно так: цикл в котором каждый объект, требующий отрисовки ввиду того что он изменился (это по обычному флагу в классе таких объектов делается), сперва блитит на итоговый кадр "подложку" - берет из специального буфера ("бэка") кусочек размером с себя, а потом блитит свою графику, каждый класс объекта эту графику преобсчитывает обычно в себе - в своих буферах. Итог - даже средний комп (по процу, ибо видюха не при делах, ибо чисто GDI) имеет 0-1% процент загрузки на 1280*1024 кадре при наличии анимированных и просто меняющихся изображений собирающихся в единый кадр из десятков элементов. Правда по полупрозрачности не работал ещё.. но все заделы на то есть, GDI+ в плане стоит, когда-то доприкручу, могу скинуть семплы глянуть убедиться. |
30.12.2012, 14:52 | #1197 |
Форумчанин
Регистрация: 20.04.2009
Сообщений: 136
|
Буферизацию я убрал, так как она увеличивает объем виртуальной памяти, и самое главное малоэффективна при постоянном изменении мира. Конечно, когда персонаж не перемещается и мир полностью статичен, уровень загрузки ЦП 1%, но это бывает крайне редко.
Сейчас меня еще сильно огорчает то, что функция SetDIBits переворачивает массив и нужно постоянно переопределять Y-координату текстуры. Поэтому я ищу альтернативный способ. |
31.12.2012, 16:34 | #1199 |
Форумчанин
Регистрация: 20.04.2009
Сообщений: 136
|
Beermonza, спасибо. Буду изучать.
Помогите, пожалуйста, проверить два исходных кода, которые работают не правильно. Первый почему-то инвертирует картинку из буфера: Код:
Код:
|
31.12.2012, 21:15 | #1200 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Alexan-Dwer, переворачивает верх ногами?
Задай высоту отрицательным числом, изображение перевернется обратно: Код:
С наступающим Новым Годом!
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Уроки по созданию игр для новичков... | -=DeS=- | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 750 | 14.11.2017 20:26 |
Музыка программистов - как вы относитесь к АРИИ? | Весёлый Жека | Свободное общение | 46 | 10.10.2008 22:32 |
Конкурсы по созданию игр на Delphi | mutabor | Свободное общение | 0 | 15.06.2007 12:40 |
Работа по созданию ПО | remix | Фриланс | 3 | 22.04.2007 11:00 |