Стрим-центр13 в эфире
8-ая глава финалочка alejandroplayz стримит Final Fantasy XV
1P,1R THE HAG! 1 престиж нового маньяка уже! lefort87 стримит Dead by Daylight
За очаг и дом.... Никс, мы все просрали!) Kelsonowich стримит Final Fantasy XV
stream center intro slide 1

«Канобу» и «ВКонтакте» запускают «Стрим-центр» — сервис для тех, кто любит смотреть и проводить прямые трансляции. Наш сервис поможет делиться стримами с «ВКонтакте», Twitch и YouTube и обеспечит новую аудиторию, которой будет интересен именно ваш контент.

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

Кнопка «Добавить стрим» позволит поделиться прямой трансляцией. После нажатия вы увидите три активных поля. В первой строке нужно вписать адрес канала, остальные поля заполнит наш сервис.

stream center intro slide 4

Делиться стримами — это просто! Попробуйте сами. Обратите внимание, что после добавления стрима ваша трансляция сначала отправится на рассмотрение модераторов.

2 1 569
5 мин.

Пробуем сделать что-то похожее на три-мерную игру. Инструмент, который нам поможет - конструктор игр "фри импакт".ht ...

Пробуем сделать что-то похожее на три-мерную игру. Инструмент, который нам поможет - конструктор игр "фри импакт".
http://www.3impact.com/

Мой опыт будет проходить на опер-системе WinXP + DirectX.
// Requires Windows DirectX 9.0c
Тоесть, я играю в игрушки и Директ-хикс у меня, конечно, есть. И у тебя, наверно, он тоже есть, если ты играеш на Винде.

Внимание - при установке конструктора требуются Права админа компа, куда ставиш.

На сайте, и в названии конструктора, упомянуто слово Фри (халява). Вероятно, автор сделает новую версию своего движка платной, но тек-версию (5.8) можно использовать для создания игр, которые можно продавать, как свои пирожки.

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

Итак, скачай файлы..
Download the SDK - 9.2 Mb
Converter utility - 3.4 Mb // хотя, этот можно не качать - дело может не дойти так далеко.
Запусти сетап (3impact5800full.exe) и установи в папку D:\impact-3
Внутри, есть пакпа 3impact5 - здесь собраны весь мёд и малина из фан-диего. гы-гы.

Внимание - установшик не образует Ярлыков на "програму". Есть ярлык на Документацию - через браузер покопайся-посмотри в таких местах..
file://localhost/D:/impact-3/3impact5/docs/3Impact_Engine/quickstart.htm
file://localhost/D:/impact-3/3impact5/docs/3Impact_Engine/hulk7123/reference.htm

А можеш туда не смотреть и повторить то, что я накатал дальше.

Чуть не забыл. Тебе понадобится КОМПИЛЯТОР. Смотри спойлер, чтобы его добыть.

Скачай полный архив с, примерно, таким именем.. codeblocks-10.05mingw-setup.exe
http://www.codeblocks.org/downloads
Кликай строчку "Download the binary release"
Найди строку для своей опер-системы, и чтобы размер (size) побольше (всё включено = 70 мегов).
Затем, кликай в нужной строке справа, на слове "BerliOS" или на "Sourceforge.net"
Получи права админа на своём компе (перейди в учётную запись Администратора).
Запусти скаченый файл codeblocks-10.05mingw-setup.exe
Выбирай самый полный вариант установки. // Я не помню подробностей.

// Если в начале строки есть две косых, то вся строка считается "не обязательной инфой".
// Чтобы было веселей, включи на Яндексе песенку Gym Class Heroes - Cookie Jar

Доберись до папки D:\impact-3\3impact5\3ImpactDLL
// Вероятно, через "Мой компутер", или через какой-нибудь годный файловый менеджер.
Левый клик на папке GameBall, чтобы она стала "выделена". Нажми "Ctrl +C", а потом "Ctrl +V".
Появится новая папка "Копия GameBall"
// Вероятно, где-то внизу, под всеми папками. Отметь эту новую папку и нажми на клаве F2, либо типа того - нужно напечатать новое имя папки.
GameBall_test - я, у ся, так назвал.

Кликай ярлык codeblocks - выбирай верхнюю строку GNU GCC Compiler - чую, ты будеш крут, брат.
Вверху есть менюшка - кликай на File --> Open.
Тип файла.. Bloodshed Dev-C++ proj files
А теперь, доберись-войди в папку D:\impact-3\3impact5\3ImpactDLL\GameBall_test
3impactDLL.dev
GNU GCC Compiler // если возникнет окно Compiler selection (выбор компилятора)
Слева, будет белая окно-колонка Management и вкладка Projects.
Чуть ниже, синий кружок Workspace // Рабочие области
Чуть ниже, будет название первой и единственой открытой рабочей области.. 3impactDLL
Чуть ниже, сборник Модулей, озаглавленый, как Sources
Чуть ниже, сборник Неких_файлов // Others
Жми плюсики - кликай на файлы.

Главный файл игры - 3impactDLL.cpp
Здесь много зелёного текста - это подсказки и пояснялки - они игнорятся компилятором.

Снова нужно верхнее меню.. Project --> Set programs arguments
Появляется окошко. В строке "Host application" вписываем
..\..\3ImpactWork\3impactd.exe
или находим этот EXE через диалог открытия файла - мини-кнопка справа. Смысл двух точек в том, что это сигнал "подняться на одну папку вверх". Компилятор поднимается на две папки вверх и там обнаруживает, что действительно, есть папка с названием 3ImpactWork и в ней есть файл 3impactd.exe

Не нужно ничего менять в файле 3impactDLL.cpp
Потому-что мы должны попробывать скомпилировать "чистый пример". Если он скомпилится, то мы будем знать, что можно работать дальше.
Нажми F9 (или в верхнем меню.. Build --> Build and run).
Внизу появится окошко отчётности о проделаной работе,
а также должно возникнуть мини-окошко Display Options.
Убирай галочку Full Screen Mode.
Жми Окей. Наблюдай окно твоей "новой" игры. Стрелочками катай шарик по пустыне. Закрой окно или нажми на клаве ESC. Окно игры должно закрыться, а мы готовы что-нибудь поменять в исходном коде.

Если у тебя не получилась компиляция, или возникли ошибки, то тебе повезло - живи без импактов. Наплюй и забудь - возможно, я что-то не прально пояснил.

Если тебя интересуют строки отчётности..
warning (внимание): taking address of temporary
Здесь, компилятор предупредил автора кода о том, что внутрь процедуры передаётся адрес временого предмета, который вскоре исчезнет. Я думаю, что все упомянутые Варнинги-внимашки, можно игнорить, потому-что адреса векторов не будут использоваться, и они нужны, лиш для передачи чисел вглубь процедуры.

iCameraLocationSet( Camera, & D3DXVECTOR3( 0.0f, 9.0f, -10.0f) );
// Вот здесь, мы передаём ноль, 9 и -10, чтобы поставить камеру в указаную точку (x, y, z).
// название команды ( предмет, адрес волшебное слово ( три числа) ) знак окончания выражения КОМАНДЫ.
// Менять можно ТОЛЬКО числа. Остальное, требуется воспринять, как "поле анкеты".

Теперь, скопируй следуший блок текста и вставь его после строки BODYBODY* BallTerrain;
Обязательно убери пустые строки между строками.

#define auto_foto_kamera( kam_x, kam_y, kam_z, kam_fov) \
Camera = iCameraCreate( 0.0f, 0.0f, 1.0f, 1.0f); \
iCameraLocationSet( Camera, & D3DXVECTOR3( kam_x, kam_y, kam_z) ); \
iCameraFovSet( Camera, kam_fov);

Акуратно выдели в коде (файл 3impactDLL.cpp) кусок текста, который начинается со строки после скобки, которая после строки void Init() - это начало процедуры - после скобки идёт Нутро процедуры. Окончание выделеного текста пусть будет на строке перед этой строкой
//We also want to specify sun light direction and color.

Удали выделеный кусок, сделай пустые строчки и напечатай эту строку..
auto_foto_kamera( 0.f, 9.f, -10.f, 45.f);

Ты употребил более простую форму записи Сложного нагромождения.
Когда компилятор будет читать, а он всё последовательно читает, чтобы компильнуть-выдать тебе результат, то он встретит команду auto_foto_kamera и 4 числовых аргумента, которые находятся в скобках, и принадлежат команде, которая пропечатана слева от скобок. И вот, компилятор, свое-ручно, подставит несколько команд, которые упомянуты после ОСОБО-ТВОРЧЕСКОЙ команды #define.
Тоесть, будут вызваны-исполнены все три строки, которые находятся ниже. В этом примере, кроется вся суть програмирования - под скромными названиями команд, лежат сотни строк, которые нужно исполнить компилятору.

Рекомендую почитать про язык програмирования - тебе надо самому поискать инфу.
Welcome to the Wrox Press C++ tutorial
изучить азы с++
Если где-нибудь найдёш краткую инфу про "язык Си", то этого тоже хватит. Как-миним, для популярных команд (названия солидных стандартных процедур и ключевые слова) можеш покопаться на подобном сайте..
http://www.cplusplus.com/reference/

Через верхнее меню.. Search --> Find, найди слово DIK_LCONTROL и замени его на DIK_SPACE.
Теперь, нажми на F9 , затем окей, и прерывисто жми на пробел, чтобы держать шар в воздухе.

Если печатать DIK_SPACE по отдельной букве, то должно всплыть окно, где это слово будет видно. Тоесть, автор кода и конструктора, внёс эти имена - можно не печатать это слово до конца, а кликнуть в окошке по этому слову и оно будет само-допечатано. Поэтому, длиные названия команд (процедур) не являются проблемой - достаточно помнить начало названия, а потом выбрать в том окошке нужный вариант.

Вобшем, я добился результата - в этом конструкторе можно многое нафигачить.
Нужен заключительный шаг - правильно отделить твою игру от файлов автора.
Войди в папку D:\impact-3\3impact5
Выдели папку 3ImpactRelease, Ctrl + C, выйди в корень диска и Ctrl + V, а потом F2 и напечатай новое имя папки - как называется игра. У меня получилась папка D:\Sand_Ball

Зайди в папку D:\impact-3\3impact5\3ImpactWork\
и скопируй оттуда папку default_res внутрь своей папки D:\Sand_Ball

Найди файл D:\impact-3\3impact5\3ImpactWork\3impactd.dll
Скопируй его в папку D:\Sand_Ball
и пере-именуй на sand.dll
А затем пере-именуй 3impact.exe на sand.exe
Тоесть, требуется одинаковое имя до "последней точки" (если у тебя видны слова EXE и DLL).
Ничего не добавляй в файл bsdlicense.txt
Если надо, то создай в папке свой текстовой файл, где поясни "чё за ёмабиль здесь".

Можеш запустить файл sand.exe, чтобы проверить.
Если всё хорошо, то упакуй папку D:\Sand_Ball в архив, который ты можеш раздавать или продавать друзьям, как свою игру.
Удачи.

1 комментарий