Namynnuz
-
Постов
5 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные Namynnuz
-
-
Кажется все-таки VC++ в плане скорости выигрывает. .NET вообще по сути своей - виртуальная машина. А еще могу посетовать на то, что девы забивают на оптимизацию, так как дедлайн заставляет выпускать продукт полу-сырым.
-
Я пишу на VS в том числе и наработки для будущих трейнеров основываясь не таком малом и не правильном описании причин, которое ты привел. Да и под платформой принято понимать другое, а под средой разработки понимать не платформу как таковую.
Эммм.. Ну писать на среде программирования довольно трудно, пишут таки в ней, но на каком-то из языков (коих там не так и много). Под платформой понималась, как это часто бывает среди прикладников, операционная система (рассматриваем случай IBM-PC-совместимых). Можно, конечно, и по другим критериям сообразить, при этом правильнее\обеденные классификация от этого не станет. VS при этом идет только под семейство Windows, то есть под эту платформу. К примеру, полновесный проект с makefile под линь в ней ты уже не сообразишь. Ровно как и не откомпиллишь соответствующий исполняемый файл. Интересно, кстати, рыться в кросс-платформенных проектах, постоянно натыкаясь на сиротливо приткнутые папочки а-ля VS2008 с ее солюшенами.
-
Ну Visual Studio это все-таки уже явное определение платформы (в основном из-за встроенных MS-классов-велосипедов), а Страуструп - это все ж теория голого С++ в общем виде. Конечно, сайт тематический, геймхакинг, что уже определяет платформу (это как в том анекдоте про PC и Mac)..
Тем не менее, для написания трейнера вполне хватит и WinAPI (в Рихтера, к слову, пару раз заглядывал, но там мне не понравился слог). И, мм.. Как таковых COM-объектов в Dx и Opngl с гулькин нос. Буквально, полторы функции. Да и зачем там это? Динамических библиотек в %windir% и корне достаточно за глаза, чтобы их еще и регистрировать в виде компонентов. А вот дизассемблирование прог, написанных на классах - это реально интересно Вчера наткнулся, заинтересовало.
Я, собсно, че к вам заглянул-то Хочется порыться в ресурсах игр, для этого стоит познакомиться с WinAsm'ом, а то у нас только и было что один семестр по микроконтроллерам (то есть специфический, не под 8086), с кривой методичкой; там, помнится, даже сегменты были только общего назначения, а-ля DOS. Хотя могу ошибаться, нам явно не все начитали Надеюсь, в такой вот обстановке радости и веселья, по пути почитывая cracklab, приду к тому, к чему стремлюсь
У вас тут как вообще, общение в вольном стиле изложения? То бишь, злостных тем, где выкладываются исключительно ссылки с шаблонными сообщениями, не наблюдается?
-
Хотите знать C++? Читайте "Бьерн Страуструп. Язык программирования С++".
Справочники - это все здорово, но без теории очень сложно что-либо понимать.
Статья: Объектная система игры (игровой "движок") (С/С++)
in Низкоуровневое программирование
Опубликовано
2MasterGH
Там вообще довольно безграмотно. И код, и подход. Есессно надо скрывать данные и наружу высовывать только некоторые методы, это вполне себе правило инкапсуляции. Про структуры он мог бы и не заикаться. Это хорошо, когда нужно создать однородную структуру данных, да и то не всегда, к примеру, определенным логическим образом выбранные статы игрока могут быть описаны в структуре, которая является членом класса игрок.
Если интересно, могу предложить вот такой вариант деления на "движки":
класс Game (просто все целиком завернуто, чтобы можно было начать игру каким-нить StarGame("map_name",...), кроме всего прочего, является диспетчером памяти, то есть при выполнении деструктора очищает все, что мы насоздавали где бы то ни было, через убийство объектов подклассов с соотв. кодом)
--{
--класс Math (мат. модель происходящего, в частности, подкласс Object, в котором есть общие параметры для всех объектов - координаты, коллизионность; от которого потом наследуются Player, Cam и др.)
----{
----класс Phys (коллизии объектов, результат возвращается в Math, а он, в свою очередь, выполняет прорисовку в Graph и звуки в Sound)
----класс Graph (отображение, подгрузка графических объектов, рендеринг и т.д.)
----класс Sound
----}
--класс Network и т.д.
--}
Именно в плане иерархии можно, конечно, поспорить.. Но главное, что это работает