Все потоки
Поиск
Написать публикацию
Обновить
254.68

Разработка игр *

Разработка игр

Сначала показывать
Порог рейтинга
Уровень сложности

Начинаем работу с jPCT — бесплатным 3d движком для Java

Время на прочтение8 мин
Количество просмотров26K
jPCT — 3d движок для Java позволяющий использовать OpenGL и Software рендеры, разрабатывать 3d приложения для десктопа, интернет и Android. Так давайте попробуем его в действии написав на нем небольшую игру.
image
Читать дальше →

Отслеживание положения головы с помощью Kinect и отображение на 3D телевизоре

Время на прочтение1 мин
Количество просмотров2.9K
Наверное, многие видели примеры использования Kinect для отслеживания положения головы в пространстве. Мне захотелось сделать пример, который будет показывать это в «настоящем» 3D.

Читать дальше →

Лондонский филармонический оркестр исполнил музыку из компьютерных игр

Время на прочтение2 мин
Количество просмотров7.1K
2го сентября 2011 года в Royal Festival Holl лондонский филармонический оркестр исполнил композиции из популярных компьютерных игр. Это представление стало частью фестиваля Vision Sound Music

Видео анонса:



Под катом список композиций.

Читать дальше →

Прототипирование игр с помощью JavaScript и CSS3

Время на прочтение2 мин
Количество просмотров3.7K
Я хотел бы поделиться прототипом игры, созданным всего за несколько часов. Надеюсь, что он вдохновит нескольких из вас! В индустрии однопользовательских браузерных игр, кажется, очень не хватает воображения и умения рассказывать истории, хотя, возможно, я просто не заметил таких игр ;), но мне не хватает таких игр, как Grim Fandango.

Ниже приведен скриншот из демонстрации, состоящей из нескольких узлов DOM, представляющих составные части главного героя, птиц и сцену. Большинство анимаций осуществляется CSS-переходами/анимациями, некоторые из которых являются динамическими и используют библиотеку move.js.

image
Читать дальше →

Тендер на игру про Великую Отечественную за 90 млн

Время на прочтение2 мин
Количество просмотров1.9K


Министерством образования и науки РФ объявлен тендер на создание «движка» для многопользовательской игры «Битва за Москву» 1941-1942 года. Идея принадлежит президенту РФ Дмитрию Медведеву, который выдвинул предложение о создании интересного молодежи проекта про Российскую историю.
Читать дальше →

Простой бот для игры «Bejeweled Blitz» на C++ и Qt

Время на прочтение6 мин
Количество просмотров14K
В последнее время появилось много статей про написание ботов для flash игр. Хочу поделиться своим опытом написания бота для Google+ игры «Bejeweled Blitz».

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

Кроме того, в боте есть «полу-честный» режим, когда на игровое поле выводятся только подсказки хода, а непосредственно ход игрок должен выполнить самостоятельно.

Несмотря на то, что бот написан на мультиплатформенной библиотеке Qt, он содержит немного платформозависимого кода для Windows.

Полный исходный текст бота прилагается.

Читать дальше →

Влияние сохранение и загрузки игрового состояния на игровой процесс

Время на прочтение5 мин
Количество просмотров7.4K

Введение


Несмотря на то, что функция сохранения (save) и загрузки (load) игрового состояния (game state) относится скорее к системному функционалу, в определённых случаях их можно рассматривать и в разрезе игрового дизайна, как влияющие на механику игрового процесса.

Главное, что можно сказать об этих функциях это то, что они непосредственно влияют на способности принимать правильные решения, без получения штрафов (penalties). В полной мере контролируя эти функции игрок может идеально пройти всю игру, не получив ни одного повреждения, ни потеряв ни одной жизни, копейки денег и тому подобное. Таким образом можно сказать, что сохранение и загрузка влияют как на сложность, нивелируя все опасности и штрафы, так и на эффективность, если игра ведётся на время и состояние времени также сохраняется и восстанавливается.

Кроме того, сохранение и загрузка позволяет в принципе избежать такого состояния как проигрыш (game over). Имеется ввиду, конечно, не проваленная попытка, а невозможность выиграть, не начиная сначала. От смерти в результате падения в яму сохранение и загрузка не спасают.
Читать дальше →

Бот для браузерной игры, сетевой подход

Время на прочтение2 мин
Количество просмотров17K
Прочитав статьи о ботах решил поделится своим скромным опытом создания бота с помощью Java и использованием сетевого протокола (то есть никаких макросов или внедрений в AS).

Введение

Где-то пол года назад я встретил одну довольно популярную игру ВКонтакте — Zonk, сама игра представляет собой вариацию на игру в кости Zilch, и заключается в том, что вам необходимо набрать 10000 очков быстрей своего противника выкидывая на костях различные комбинации.
Читать дальше →

Начало работы с игровым движком Rungine

Время на прочтение5 мин
Количество просмотров3.8K
Runner Engine (сокращенно Rungine) — это новый 2D/3D движок для создания игр и мультимедийных приложений. Он обладает гибким набором инструментов, которые способны помочь разработчику увеличить скорость разработки, но они пока находятся в доработке. В состав движка входят: Core (ядро с собственным набором утилит), GUI, Graphic2D. В данный момент Runner Engine поддерживает только DirectX9. Идет работа над поддержкой OpenGL. В дальнейшем планируется продолжить работу над поддержкой DirectX10 и DirectX11.

Поддерживаемая платформа: Windows

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

Инициализация:

Первым шагом необходимо подключить dll движка:
#include "..\..\RunnerEngine\Runner.h"
#pragma comment(lib, "../../Bin/Runner.lib")


Объявляем девайс:
RDevice rdevice;
//Для инициализации необходимо вызвать метод Create:
if(!rdevice.Create(800, 600, Mode::Windowed, API::Direct3D9)) {
   return 0;
}


Весь рабочий цикл осуществляется следующим образом:
//рисуем, пока окно не закрыто
while(rdevice.EnterMsgLoop(true)) {
   rdevice.Clear();//очищаем поверхность окна
   //начало рисования графики
   if(rdevice.BeginScene()) {
        //рисуем картинку внутри окна
        rdevice.EndScene();//конец рисования
        rdevice.Present();//отображаем все нарисованное
   }
}

Все. Инициализацией мы разобрались. Теперь можно вывести на экран картинку или нарисовать изображение.

Читать дальше →

История одного покерного бота

Время на прочтение6 мин
Количество просмотров49K
Сейчас возможность написания покерного бота уже не вызывает сомнений (есть даже серия статей в журнале Хакер), а вот в 2008 году все было не настолько очевидно и все что можно было найти — одна единственная статья на английском языке, которая описывала лишь общие идеи, которое так и не прижились в нашем проекте. Но даже сейчас мало кто будет делится успешными историями.
В данной статье я опишу наш опыт разработки бота, который действительно тестировался в реальных покер румах и даже научился играть и не проигрывать. Те, кто собрался писать своего бота — найдет в статье интересные вещи и пути облегчения себе жизни. Кому интересно — добро пожаловать под кат.
Читать дальше →

Cocos2d-x: Сборка проекта под Android

Время на прочтение4 мин
Количество просмотров31K
В предыдущей статье мы узнали, как легко начать писать свою игру, используя кроссплатформенный движок cocos2d-x и научились запускать наше приложение на платформе Win32. Но этого не достаточно, ведь основная цель, разработка для мобильных устройств. В этой статье мы соберем проект под операционную систему Android.
Читать дальше →

И снова Diamond Dash

Время на прочтение5 мин
Количество просмотров8.6K
16 миллионовКак только я прочитал в недавней статье о написании бота для игры Diamond Dash в Google+, чуть-чуть не дотянувшего до 2 миллионов очков, у меня сразу зачесались руки написать аналогичного бота, который достиг бы этой цели — и, после нескольких дней экспериментов, этот результат действительно был достигнут.

Впрочем, теперь этого было уже мало — с применением другого подхода, на тот момент мой подвиг уже был опережен и даже переплюнут (финальный результат, судя по статье, приближается к 4 миллионам очков). Поэтому я решил сделать ещё один очевидный шаг — попробовать просто подменить запрос к серверу с результатом игры. Как можно видеть по скриншоту, попытка завершилась более чем удачно.
Читать дальше →

Бот для Flash-игры / Внедряемся в Flash

Время на прочтение5 мин
Количество просмотров58K

В рамках недели ботов для браузерных игр.

Эта неделя богата на статьи о ботах для бразуерных игр.
Во всех статьях для управления ботом использовался AutoIT. Это простой и хороший способ чтобы начать делать бота «в лоб», он не требует никаких знаний об игре, кроме как знания правил и графического интерфейса. Для серверной части игры такой бот вообще будет выглядеть как обычный пользователь, если не брать во внимание невероятную усидчивость и производительность такого игрока.

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

В первой статье я наткнулся на комментарий со ссылкой на пост Adobe Profiler Fail, что побудило меня исследовать эту возможность в целях автоматизации действий в Flash-играх.
Читать дальше →

Ближайшие события

Импортируем модели из Source 2009 в Photoshop Extended

Время на прочтение4 мин
Количество просмотров4K
На движке Source, который за свою историю обновлялся бесчисленное количество раз, компания Valve разработала множество чудеснейших игр, в числе которых Team Fortress 2, Left 4 Dead и Portal. Не первый год пользуясь версиями Photoshop CS4-CS5 Extended, о возможности работы с 3D объектами в этих версиях я узнал только совсем недавно. Разумеется, руки зачесались и хотелось срочно опробовать эту диковинную технологию, но делать алюминиевые банки и абстракции с использованием базовых примитивов мне совсем не хотелось. Мне хотелось получить возможность творить фан-арт с использованием непосредственно моделей из игр. Об этом чудесном геморроидальном квесте я расскажу под катом.
Читать дальше →

Боты для браузерных игр на AutoIT

Время на прочтение6 мин
Количество просмотров99K

Вместо предисловия

Сегодня я получил ссылочку на статью на хабре о технологии создания «макроса-бота для браузерной игры». Там же было написано с сожалением, что AutoIT мало представлен на хабре. Со штуками, описанными в статье я баловался год-два назад. В последнее время использую библиотеку IE.au3, которая позволяет творить с браузерными игрушками просто чудеса.Собственно информацией об этом и хотел бы поделиться. Только сразу предупреждаю — речь идет только работе под MS-Internet Explorer.
Читать дальше →

Определение столкновений 2d-объектов в Marmalade SDK

Время на прочтение10 мин
Количество просмотров7.9K
Marmalade Привет всем! Хочу поделиться своим опытом разработки приложений под Marmalade SDK.

Хочу напомнить, что Мармелад — это замечательный инструмент для создания мультиплатформенных приложений. Можно написать приложения, как под телевизоры LG TV, так и под мобильные устройства (на базе Android, Bada, iOS, Symbian и WindowsMobile).
В данной статье вы найдёте:
  • процесс создания приложения под Marmalade SDK;
  • определение столкновений (collision detection) выпуклых многоугольников, при помощи построения проекций;
  • определение реакции на столкновение (вывод объекта по минимальному пути).


Немного предисловия. Однажды, для одного проекта, мне потребовалось реализовать проверку на столкновения различных объектов. И я был очень удивлён тем фактом, что, не смотря на то, что практически ни одна игра не обходится без проверок на столкновение и пересечение объектов, не так-то просто найти уже готовые решения и простые примеры для такой задачи. Тем более с более-менее ясными объяснениями. Пришлось реализовывать самостоятельно.

Заранее хочу предупредить, что весь код, приведенный в статье, написан на C++.
Читать дальше →

Написание макроса-бота для браузерной игры

Время на прочтение8 мин
Количество просмотров53K

Введение


Не так давно на Google+ появились игры. Прочитав топик об этом, я решил во что нибудь поиграть. Выбор пал на игру Diamond Dash. Через некоторое время игры программист во мне заговорил, что однотипные действия нужно автоматизировать. И вот что из этого вышло…

*Примечание: «руками» даже опытному игроку сложно набрать больше 400к

Раньше я никогда не сталкивался с задачами работы с экраном и мышкой. После непродолжительного гугления было решено для решения использовать язык макросов AutoIt.
Под катом вы найдете краткое описание игры, мой способ распознавания поля, алгоритм определения точки нажатия, и некоторое количество оптимизаций. А так же ссылку на github-репозиторий скрипта.
UPD Добавлено видео работы скрипта.
Читать дальше →

Cocos2d-x: Пишем первое кроссплатформенное приложение

Время на прочтение3 мин
Количество просмотров69K

Предисловие.


Программирование для мобильных платформ становиться все популярнее. Ежедневно, на свет появляются новые приложения и игры, что, естественно, увеличивает конкуренцию на этом рынке. И каждый, уважающий себя разработчик должен разрабатывать и поддерживать свой программный продукт, как минимум на двух самых популярных платформах, коими, на мой взгляд, являются android и iOS. Еще в недавнем прошлом, для такой поддержки, требовалось разрабатывать две различные программы на разных языках программирования. Но сейчас, появляется много кроссплатформенных движков, помогающих экономить разработчикам драгоценное время.
Читать дальше →

Tiling в 2D-играх на Unity, масштабирование материала

Время на прочтение4 мин
Количество просмотров18K
При разработке 2D-игр на Unity часто возникает необходимость делать множество элементов различного размера из одного и того же материала. Самый простой пример – тайлы земли, травы, каменей и прочие элементы во всякого рода платформерах. Как правило, одинаковые тайлы по умолчанию используют один и тот же материал (в противном случае кол-во заранее созаднных материалов было бы чересчур большим). Часто делать каркас уровня из элементарных тайлов может быть неудобно из-за слишком большого кол-ва объектов на уровне, поэтому вместо элементарных тайлов используются большие тайлы – те же тайлы, только увеличенного масштаба. Допустим, нам надо поверх земли «посадить» два участка травы:

image

Читать дальше →

Воксельный движок Atomontage

Время на прочтение2 мин
Количество просмотров24K
Почитав статьи и посмотрев ролики на тему «революции» в компьютерной графике от Euclideon с их Unlimited Detail движком, решил посмотреть, что нового есть в этом направлении. И наткнулся на один интересный движок Atomontage.

image

Парни работают над ним с 2004 года и имеют десятилетний опыт в геймдеве, в том числе и проектах уровня AAA. Кстати, ведущий разработчик из Словакии, живет в Братиславе. За 7 лет работы сделано на первый взгляд не очень много, но по своему опыту знаю, что когда делаешь, что-то новое — копаешь один в новых направлениях, то на это требуется время.
Читать дальше →

Вклад авторов