Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 686 сообщений
Cообщения с меткой

unity - Самое интересное в блогах

Следующие 30  »
DJmp-3

DJ Atmosfera - Space Sound.Revival [Psy Trance Mix] (2016)

Четверг, 16 Июня 2016 г. 09:16 (ссылка)
djmp-3.com/electronic/3146-...-2016.html

DJ Atmosfera - Space Sound.Revival [Psy Trance Mix] (2016)


 

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Итоги конкурса по программированию Young Digital Makers

Суббота, 14 Мая 2016 г. 15:39 (ссылка)

Объявленный нами в прошлом году конкурс Young Digital Makers наконец завершен. В этой статье мы разберем работы с призовых мест и немного порефлексируем о мероприятии в целом.



В нем могли участвовать школьники со всей страны. Было предложено три номинации: анимация, игра или музыкальный трек. Главное условие — все работы должны быть созданы с использованием кода. В первые недели зарегистрировалось 800 человек. Регионы были очень активны: регистрировались часто целыми классами.









К сожалению желающих закодить электронный музыкальный трек на Sonic Pi не обнаружилось вовсе. И вообще с музыкой как-то мимо. Была всего одна работа во FruityLoops, подготовленная явно не в рамках конкурса. С анимациями тоже беда, они были, но вот кода в них не прослеживалось. Всего одна работа прошла по условиям — интерактивная история про колобка на Scratch, её рассмотрим наряду с игровыми Scratch проектами.



Оценивали по трем параметрам: оригинальность, технологичность и сюжет.



Проекты финалисты



Солиптариум (Solyptarium)



Статус: финалист

Автор: Иксанов Карим, 17 лет

Платформа разработки: GameMaker 8 Pro

Платформы для запуска: Windows



Эта игра шедевральна на мой личный взгляд. В эту игру хочется играть, и я доиграл до конца. Мой персонаж обнаруживает способности к изменению состояния мира. Поскольку в мире только цифры, то они замечают, что я не такой как все. И с этого начинается приключение. Атмосфера затягивает. Музыка, диалоги, графика — цельная история.



Поскольку игра создавалась в конструкторе, кода в ней не много. В основном он описывает именно игровую логику и ничего необычного в нем не найдешь. Код в GameMaker — это обработчики тех или иных событий объектов (создание, пересечение, отрисовка и т.д.) на JavaScript.



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



Процесс игры:









Играбельная версия доступна здесь.



Cut From Cube



Статус: финалист

Автор: Муратов Алексей, 15 лет

Платформа разработки: Unity

Платформы для запуска: Android



Игра Алексея создавалась не для конкурса, а годом ранее. Это головоломка. У вас есть куб 3x3x3, в котором нужно воссоздать геометрическую фигуру заданную для уровня. Сложность в том, что нельзя включить определенную точку куба, включаются перпендикулярные линии пересекающиеся в точке клика. Если на пути линий уже есть активированные точки, они инвертируются. На самом деле проще посмотреть видео, чтобы понять.



Кода не особо много, так как и логики в игре не много. Игра в целом минималистична.



Процесс игры:









Игра доступна в Google Play.



Эволюция



Статус: финалист

Автор: Овечкин Слава, 8 лет

Платформа разработки: Scratch

Платформа для запуска: Web



Во всех играх 8 летних, явно прослеживаются папины руки :)



image



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



На самом деле не все знают, но в Scratch есть софтверный 2D-киннект. Его очень просто использовать. Год назад вместе с Продленкой мы делали отличный мастер-класс на эту тему.









Разговор с Чикой



Статус: финалист

Автор: Жиловец Алексей, 8 лет

Платформа разработки: Scratch

Платформа для запуска: Web







Это ни много ни мало прообраз Siri :) Диалоги идут плавно, список поддерживаемых тем из контекста автора. При просмотре кода жюри насторожилось, слишком все четко для 8 летнего мальчика. Так что папе/брату или кому там еще — привет :)



Проекты победители



Колобок



Статус: победиль в номинации анимация

Автор: Максим Затейчук, 9 лет

Платформа разработки: Scratch

Платформа для запуска: Web







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



Citadel



Статус: победитель в номинации игра

Автор: Федоров Данила, 14 лет

Платформа разработки: C++, OpenGL

Платформа для запуска: Windows



Это стратегия реального времени написанная на C++.



Победитель набравший больше всего баллов у жюри. На самом деле игра не реализована до конца. Но Данила проделал поистине титаническую работу. Нам доступна версия, где у нас есть база, мы можем строить рабов, бараки и солдат. Рядом с базой рудник. Цель продержаться 10 минут. Нужно все делать быстро, иначе придут мужики с дубинами и вырежут твое поселение.



Игра уступает сюжетом и атмосферой Солиптариуму, но выигрывает по параметру технологичность. Закрываем глаза на небрежное форматирование, на то, что всего три файла исходника, все в одной куче :) Нужно отдать должное стараниям Данила. Много чего сделано вручную, например парсинг tga & wave файлов, благо хоть вывод звука через библиотеку OpenAL. Хотя опять же, вспомнив себя в этом возрасте, я осознал, что рулил тогда экспериментаризм, хотелось все попробовать самому. И наверное это правильно.



Процесс игры:









Играбельная версия доступна здесь.



Подарки



Победитель в номинации анимация — ­Затейчук Максим­. ­



Максим получает книгу "­Как это построено­" от издательского дома Манн-Иванов-Ферб­ер и главный приз — Raspberry Pi2­. Надеемся, что с его помощью он создаст какое-нибудь фантастическое устройство :)



Финалисты в номинации игра: Иксанов Карим, ­Муратов Алексей, Овечкин Слава, Жиловец Алексей.



Ребята также получают книгу "­Как это построено­" от издательского дома Манн-Иванов-Ферб­ер и Raspberry Pi2.



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







Ну и главный наш победитель — Федоров Данила.



Помимо книги от МИФ, Данила получает Sony Vita. Как оказалось, Данила из Москвы, поэтому­ мы решили также организовать ему встречу с разработчиками игр из компании Mail.ru­.



Мы искренне надеемся, что наш конкурс помог ребятам заинтересоваться программированием и продемонстрировать свои навыки. И, конечно, отдельное спасибо всем тем, кто участвовал, но чьи работы не вышли в финал.



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



Original source: habrahabr.ru.

https://habrahabr.ru/post/281949/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Microsoft на DevGAMM Moscow 2016: онлайн-трансляция и многое другое

Среда, 11 Мая 2016 г. 14:47 (ссылка)

Привет, мир!



Уже завтра состоится DevGAMM Moscow 2016, конференция для разработчиков игр поистине вселенских масштабов (и разработчиков, и игр, и конференция). Microsoft в этом году участвует на конференции в качестве Diamond-спонсора, и мы приготовили для вас безумно много интересных активностей. Спойлер для нетерпеливых: онлайн-трансляция будет доступна уже завтра, 12 мая, с 10:00 по ссылке — не пропустите самые интересные доклады от Microsoft, Unity, GameInsight, и победителей конкурса Imagine Cup — Brainy Studio и IzHard.



image



А теперь, когда вы прониклись эпичностью происходящего, больше деталей!







Итак, обо всем по порядку.



Во-первых, у нас будет отдельный двухдневный трек, посвященный платформе Microsoft: вас ждут доклады от Нила Лесли про игровую платформу, от Хайме Родригеса про универсальные приложения, и еще Агостино Симонетта расскажет все важное и интересное о программе ID@Xbox. Не пропустите, все это будет доступно онлайн на Channel9.



Кроме того, в одном клике от вас будут находиться доклады Андрея Ивашенцева из GameInsight про виртуальную реальность и все, чем она нас радует в последнее время, Валентин Симонов из Unity расскажет о том, как завести все это в Unity, а ребята из IzHard и BrainyStudio поделятся своей историей успеха — шутка ли, TurnOn скоро выходит на Xbox! И не стоит забывать о том, что команда евангелистов Microsoft расскажет вам про Azure, Universal Windows Apps, DirectX 12 и то, как заработать много денег в Windows Store. Все это будет доступно в прямом эфире в течение двух дней конференции.



Во-вторых, Microsoft приготовил для вас прекрасный стенд, где вы можете поиграть в самые свежие игры для Windows Store — Quantum Break, the Rise of the Tomb Rider, Gears of War, Killer Instinct. А наши друзья из IzHard собрали для вас самый свежий билд Ovivo — своей победоносной черно-белой истории про черно-белый мир.









Мы привезем много наших свежих телефонов Lumia, хорошего настроения, веселья и полезных знаний.

А еще мы разыгрываем Xbox One! Настоящий, живой, прямо на стенде! Без регистрации и смс!



В-третьих, онлайн-трансляция. Мы проводим беспрерывное лайв-вещание двух залов: Red Hall и Blue Hall, где и будет проходить трек Microsoft, только для того, чтобы вы не пропустили ни минуты прекраснейших докладов и смогли попасть на конференцию, даже если у вас нет билетов.



В любом случае, онлайн или оффлайн, ждем вас на нашем треке! Не переключайтесь!



И я там был, мед-пиво пил,

Евгений Шкляр,

Эксперт по стратегическим технологиям Microsoft Россия




Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/283322/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Из песочницы] Пример создания простой 2D игры для Android с использованием игрового движка Unity

Вторник, 10 Мая 2016 г. 09:13 (ссылка)

Введение







Прежде всего, хочу сразу отметить, что я не являюсь профессиональным разработчиком. В этой статье я постараюсь изложить свой опыт создания игры «Feel Speed Racing». Данный материал, скорее всего не будет интересен тем, кто уже имеет большой опыт в разработке игр, но начинающим разработчикам, которые хоть немного работали с Unity думаю, будет интересно.



Дизайн



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



Разработка



Игра состоит из 2-х сцен: главное меню и сама игровая сцена:







Где «menu» это главное меню а «1» это игровая сцена.



Главное меню







Для создания столь незамысловатого меню нам потребуется элемент управления GUI, который является стандартным в Unity.







В качестве фона я использовал спрайт с именем «background» заполненный серым цветом. Вы же можете выбрать что угодно.







Далее создаем скрипт «menu.cs»(Щелкаем правой кнопкой->выбираем Create-> C# Script) и вешаем его на background.



Содержимое скрипта:



using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;

public class menu : MonoBehaviour {

public GUIStyle mystyle; //объявляется для того чтобы изменять начертание GUI компонентов(шрифт, размер и.т.п.)
string score; //переменная для хранения пройденной дистанции
void Start ()
{
StreamReader scoredata = new StreamReader (Application.persistentDataPath + "/score.gd"); //создание файловой переменной
score = scoredata.ReadLine (); //чтение строки
scoredata.Close (); //закрытие файловой переменной
}


void Update () {

}
void OnGUI(){
GUI.Box (new Rect (Screen.width*0.15f, Screen.height*0.8f, Screen.width*0.7f, Screen.height*0.1f), "MAX DISTANCE:"+score,mystyle); //создаем небольшое окошко для показа пройденного расстояния
if (GUI.Button (new Rect (Screen.width*0.15f, Screen.height*0.25f, Screen.width*0.7f, Screen.height*0.1f), "Start game",mystyle)) //создаем кнопку для запуска игровой сцены
{
Application.LoadLevel(1);//Загрузка игровой сцены
}
if (GUI.Button (new Rect (Screen.width*0.15f, Screen.height*0.4f, Screen.width*0.7f, Screen.height*0.1f), "Exit",mystyle)) //создаем кнопку для выхода из игры
{
Application.Quit();//Выход из игры
}
}
}


В результате должно получиться примерно вот так:







Шрифт, цвет и размер GUI элементов вы можете изменить с помощью MyStyle.



Создание игровой сцены







Основными на этой сцене элементами является дорога, автомобиль и шкала топлива.



1. Дорога:



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







Кидаем спрайт с дорогой на игровую сцену и подгоняем по размерам камеры.







Затем добавляем как дочерние объекты внутрь дороги 4 блока с препятствиями, топливный бак и не забываем добавить к ним Box Collider 2D.Еще надо отметить Is Triger для пересечения с автомобилем.







Теперь создаем скрипт moveroad.cs и вешаем его на нашу дорогу.



Добавляем в него следующий код:



using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
public class moveroad : MonoBehaviour {

public GUIStyle mystyle;//создание стиля
int f,fuelst;
float score=0,speed=-0.2f,data,fuelpos;// переменные для хранения расстояния, скорости и рекорда
public GameObject block;// игровой объект для размещения блока
public GameObject block1;
public GameObject block2;
public GameObject block3;
public GameObject fuel;
bool turbotriger=false;

void Start ()
{
StreamReader scoredata = new StreamReader (Application.persistentDataPath + "/score.gd");
data = float.Parse(scoredata.ReadLine ());//чтение с файла информации о рекорде
scoredata.Close ();
}


void Update ()
{
transform.Translate (new Vector3 (0f,speed,0f));//движение дороги с заданной выше скоростью
score = score + (speed*-10);// подсчет расстояния
if (transform.position.y < -19f) // если дорога уходит за пределы камеры то она "теле портируется" вверх
{
transform.position=new Vector3(0f,33.4f,0f);//новая позиция дороги
block.transform.position=new Vector3(10.15f,block.transform.position.y,block.transform.position.z);
block1.transform.position=new Vector3(8.42f,block1.transform.position.y,block1.transform.position.z);
block2.transform.position=new Vector3(6.62f,block2.transform.position.y,block2.transform.position.z);
block3.transform.position=new Vector3(4.95f,block3.transform.position.y,block3.transform.position.z);
fuel.transform.position=new Vector3(11.86f,fuel.transform.position.y,fuel.transform.position.z);
//скрытие за пределы камеры всех препятствий(блоков)
f = Random.Range (0, 5);//случайное появление на дороге 1-го из 4-х блоков или канистры с бензином
switch (f)
{
case 0:block.transform.position=new Vector3(2.40f,block.transform.position.y,block.transform.position.z); break;
case 1:block1.transform.position=new Vector3(0.90f,block1.transform.position.y,block1.transform.position.z); break;
case 2:block2.transform.position=new Vector3(-0.80f,block2.transform.position.y,block2.transform.position.z); break;
case 3:block3.transform.position=new Vector3(-2.35f,block3.transform.position.y,block3.transform.position.z); break;
case 4:
fuelst=Random.Range(0,4);
if(fuelst==0){fuelpos=2.40f;}
if(fuelst==1){fuelpos=0.90f;}
if(fuelst==2){fuelpos=-0.80f;}
if(fuelst==3){fuelpos=-2.35f;}
fuel.transform.position=new Vector3(fuelpos,fuel.transform.position.y,fuel.transform.position.z);
break;
}
if (score>data)// если текущее пройденное расстояние превышает то что записано в файле рекорда то идет обновление данных
{
StreamWriter scoredata=new StreamWriter(Application.persistentDataPath + "/score.gd");//создаем файловую переменную для хранения пройденного расстояния
scoredata.WriteLine(score);//записываем новое значение в файл
scoredata.Close();//закрываем файловую переменную
}
}

}
void OnGUI(){
GUI.Box (new Rect (0, 0, Screen.width, Screen.height*0.05f), "Distance(m): " + score,mystyle);//создаем окно для подсчета расстояния
}
}






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







Что бы решить эту проблему надо создать дубликат уже готовой дороги и немного изменить скрипт.







Должно получиться вот так.



2. Автомобиль:







Кидаем спрайт автомобиля на сцену и устанавливаем его в любое место на дороге. Затем создаем скрипт carcontroller.cs и вешаем его на автомобиль.



Содержимое carcontroller.cs:



using UnityEngine;
using System.Collections;
using UnityStandardAssets.CrossPlatformInput;

public class carconroller : MonoBehaviour
{

void Start ()
{

}


public void Update ()
{
if (transform.rotation.z !=0) //проверка столкновения коллайдера автомобиля и препятствия, при столкновении происходит загрузка меню
{
Application.LoadLevel (0);
}

}
}
public void OnGUI()
{
if (GUI.RepeatButton (new Rect (Screen.width*0.1f, Screen.height*0.9f, Screen.width*0.2f, Screen.height*0.08f), "L")) //создаем кнопку для движения влево
{
if (transform.position.x > -2.4f)
{
transform.Translate (new Vector3 (-0.05f, 0f, 0f));
}
}

if (GUI.RepeatButton (new Rect (Screen.width*0.7f, Screen.height*0.9f, Screen.width*0.2f, Screen.height*0.08f), "R")) //создаем кнопку для движения вправо
{
if (transform.position.x < 2.4f)
{
transform.Translate (new Vector3 (0.05f, 0f, 0f));
}
}
}

}


Теперь автомобиль может перемещаться.



3.Шкала топлива:







Для создания шкалы потребовалось 2 спрайта одинаковых размеров, но разных цветов (красный, зеленый). И сделать один из них дочерним (зеленый).



Далее создаем скрипт fuelscript.cs, вешаем его на fuel и добавляем в него код:



using UnityEngine;
using System.Collections;

public class fuelscript : MonoBehaviour {

public GameObject fuelall;
float mytimer=100f;// задание плавающего числа
// Use this for initialization
void Start ()
{

}
void Update ()
{
mytimer = 100f;
mytimer -= Time.deltaTime;//изменения числа с течением времени
if (mytimer/mytimer==1f) //проверка на период времени в 1 секунду
{
fuelall.transform.position=new Vector3(fuelall.transform.position.x-0.0011f,fuelall.transform.position.y,fuelall.transform.position.z);
fuelall.transform.localScale = new Vector3(fuelall.transform.localScale.x-0.001f, 1, 1);
//выше идет сдвижение влево и уменьшение по ширине зеленой полосы для имитации шкалы
}
if (fuelall.transform.localScale.x < 0) //если шкала исчезла то загрузка идет загрузка главного меню
{
Application.LoadLevel(0);
}
}
}






Дорога у меня это road183 и ее дубликат road183(1). В ее дочерний объект fueltrack нужно добавить скрипт для обнаружения пересечения с автомобилем и восполнения топлива.



Создаем скрипт triger.cs и вешаем его на fueltrack в обеих дорогах и отмечаем как Is Triger. Код:



using UnityEngine;
using System.Collections;

public class triger : MonoBehaviour {


public GameObject fuel;//добавляем сюда greenfuel
// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

}
void OnTriggerEnter2D(Collider2D col)
{
if (col.gameObject.name == "playercar") //проверка пересечения автомобиля и объекта fuel
{
fuel.transform.position=new Vector3(0,fuel.transform.position.y,fuel.transform.position.z);
fuel.transform.localScale = new Vector3(1, 1, 1);
//восстановление у объекта fuel стандартных значений
}
}


}


Итог



В момент выпуска игры на Google Play я особо не занимался ее продвижением ну и само собой закачек не набралось.



В отсутствие профессионального художника, с иконкой пришлось работать самостоятельно:





Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/283186/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Дайджест новостей из мира разработки на Unity

Пятница, 06 Мая 2016 г. 17:04 (ссылка)

Наверное, дайджест, посвященный Unity, вы ждали с нетерпением, но, даже если не ждали, в нем всё равно много интересных материалов и новостей.







Новости



Unity Technologies собираются привлечь инвестиции в размере $1,5 млрд.

Google Cardboard VR получат поддержку Unity.

Valve и Unity Technologies объединяют усилия в VR.

Покупатели Oculus Rift получат Unity Pro бесплатно на 4 месяца.

Вышел плагин Twitter Fabric для Unity.

Unity вводят программу сертифицирования для разработчиков.

Unity Technologies объявили о множестве изменений в ведении бизнеса.

Unity: 578 игр в секунду и 1.1 миллиона разработчиков.

Unity Asset Store объявляют о новой партнерской программе.

Unity 3D назвали самым популярным движком на игровом рынке.

Unity и Source 2 бесплатны (почти).

Релиз Unity 5.3.4 и публичной бета-версии 5.4.



Игры на Unity



Постмортем игры Prune.

Совершенно новый игровой опыт в Palimpseste.

Необычный контроллер в Crank Tank.

Игра-конструктор от Fabulous Beasts.

История разработки игры Armello от League of Geeks.

Игра, в которую можно играть при помощи старого проводного телефона и ЭЛТ-телевизора.

Необычная игра Progress to 100 для девайсов на iOS.

GNOG – игра об изучении гигантских монстров и их внутреннего мира (в буквальном смысле).

Please Stand By поселилась в телевизоре 1951 года выпуска.

Контроллер игры Ziff – игрушка с подвижными элементами.

Игра Operator от Killigan Industrie.

Игра Octobo – интерактивный сборник рассказов с плюшевой игрушкой осьминогом, реагирующей на действия игрока.

Disruption – две игры с уникальным симбиотическим взаимодействием, которое возможно благодаря необычному контроллеру.

Игра Rotator – мечта диджея.

Забавная игра Terence Tolman от Pretty Fox Games.

В Dobotone от Videogamo можно играть на двухкнопочных контроллерах с четырьмя друзьями.

Консольная версия Gone Home.

Стратегия «Османские войны» на Unity Engine.

Релиз Unity-клиента Master of Orion под Mac OS X.

Создание космического симулятора на Unity.



Обучение



Более детально о камере в Unity3D.

Как создать 3D алгоритмы при помощи Unity3D.

Шифрование текста в Unity.

Как написать скрипт 2D Tile Map в Unity3D.

Комбинирование камеры проекции и ортографической камеры для создания эффекта параллакса в 2D игре.

Создавайте собственные инструменты в редакторе Unity.

Unity и инструменты редактора.

Производительность Critical Editor Tools и сериализованных объектов.

Интерполяция сетевых объектов, часть 1 из 6 – разбиваем на компоненты.

Старт в разработку на Unity 5 от Microsoft.

Нюансы разработки плагина под Unity.

Unity и «Помогаторы» для редактора.

Hrushevka Builder для Unity.

Процедурно генерируемые карты мира на Unity C#: часть 2, часть 3, часть 4.



Это интересно



Почему Unity – лучший выбор для разработки приложений виртуальной реальности.

Клайв Дауни, директор по маркетингу в Unity: «Опустите слово виртуальная, это будет другая реальность».

Короткий ролик от Unity демонстрирует возможности движка.

Инструменты Unity, которые использовались для создания шутера от первого лица Immortal Redneck.

Движение от Next-Gen UI к Unity UI.

Портирование игры на Unity на Samsung Gear VR.

Как небольшая команда разработчиков использовала алгоритмическую генерацию контента для создания шутера с открытым миром от первого лица.

Презентация Unity на GDC 2016.

Использование плагинов Unity для разработки игры Mimpi Dreams.

Испытания и технические триумфы в разработке игры Return of the Obra Dinn.

Разработчики игры Limbo выложили код своей технологии сглаживания на Unity 5 в открытый доступ.

White Nights Helsinki 2016: доклад Unity о работе с данными.

Как зарабатывать на мобильных играх с Unity Engine и Unity Ads.

Интервью с дизайнером и саунд-дизайнером из Speelbaars об игре Lumini.

Сэм Барлоу о разработке игры Her Story.

Интервью с креативным директором Zachtronics об игре Infinifactory.



Original source: habrahabr.ru.

https://habrahabr.ru/post/283070/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Из песочницы] Создавая игру Good Cat Gone Bad

Среда, 27 Апреля 2016 г. 16:31 (ссылка)

Целевая аудитория: начинающие инди-разработчики игр.



Введение







В основном это список приемов и бесплатных инструментов, которые я использовал при создании мобильного endless runner’а Good Cat Gone Bad, который выйдет в Google Play 4 мая 2016 г.



Игра разрабатывалась как проект-хобби, используя Unity 5, и заняло все это дело около 4 месяцев на постоянной основе (полный рабочий день).



Дизайн



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



Компоненты:




  • game over меню

  • уровень

  • зона уровня (трасса, парк, жилой район)

  • игрок

  • коп

  • очки

  • здоровье



Game over меню:




  • показывается при смерти игрока

  • пункт Играть Заново

  • пункт Воскресить

  • пункт Выйти



Уровень:




  • может быть пройден

  • чтобы пройти, нужно набрать X очков

  • чем больше уровень, тем больше требуется очков

  • генерируется процедурно

  • вид напоминает столбец

  • состоит из бесконечного списка зон



Игрок:




  • гигантский кот

  • идет всегда вперед

  • может смещаться влево, вправо

  • уничтожает все на своем пути

  • имеет здоровье

  • имеет очки



Коп:




  • стоит на месте

  • стреляет в игрока

  • дает очки при смерти



Я использую Google Keep для хранения этих записей и прочей ерунды.



В целом, вы видели большую часть документа с начальным дизайном. Этого было достаточно для того, чтобы начать разработку. Позже я улучшил дизайн, используя такие штуки, как Core Loop, Subversion, Bartle Test.



Архитектура



Проект состоит из модулей. Модуль — это набор компонентов (логика) и asset’ов (текстуры, звуки и т.д.), относящихся к какой-то фиче или к части инфраструктуры.



Assets/Src/Catzilla

+-- AppModule

+-- CommonModule

+-- GameOverMenuModule

+-- LevelAreaModule

+-- LevelModule

+-- LevelObjectModule

+-- MainMenuModule

+-- MarketingModule

+-- PlayerModule

+-- SkillModule



Компоненты и asset’ы внутри модуля структурированы по типу.



Assets/Src/Catzilla/LevelObjectModule

+-- Animation

+-- Config

+-- Controller

+-- Materials

+-- Mesh

+-- Model

+-- Prefab

+-- Sound

+-- Texture

+-- View



У каждого модуля (кроме модулей, состоящих сугубо из asset’ов, например Marketing) есть компонент, отвечающий за инициализацию модуля (регистрация сервисов, конфигурационных значений, обработчиков событий и т.д.).



В качестве точки входа в приложение выступает специальный модуль (App). В нем регистрируются и инициализируются остальные модули.



Все это дело основано на библиотеке Zenject, которая, помимо этого, предоставляет гибкое внедрение зависимостей.



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



Графика



На протяжении уровня, в каждом кадре < 5 тыс. вершин и < 20 вызовов отрисовки (draw call).



Все эти хипстерские модели я делал в Blender. Каждая модель содержит < 200 треугольников. Большинство моделей состоят из отдельных частей (например, ноги, руки, голова, тело), чтобы их можно было разрушить.





Коп. Куча кубиков.





Начало трассы. Обычная плоскость.





Некоторые люди не верят, что это Impala 64.





А некоторые думают, что эта пальма не с Майами.



Текстурирование было сделано с помощью техники Hyden’а, и текстуры всех обьектов уровня были объединены в одну большую (256х256) текстуру, в качестве оптимизации.





Объединенная текстура всех обьектов уровня.



Для зон уровня (например, парк, трасса) я использовал материал с шейдером Mobile / Unlit (Supports Lightmap), а для обьектов уровня — шейдер Mobile / VertexLit (Only Directional Lights).



В игре только 1 направленный (directional) источник света и нет теней.



Эталонное разрешение (reference resolution) компонента Canvas Scaler = 480x800, что покрывает большую часть устройств. Кстати, кто-нибудь знает о существовании этой страницы?



Цветовая палитра игры была сгенерирована в Paletton.



Для текста я использовал шрифт Press Start 2P, который можно найти в Google Fonts.



Для плавающего текста (например, очки над обьектом) я использовал Text Mesh, вместо UI Text в режиме world space, в качестве оптимизации.



Иконки для UI (например, здоровье, умения) были позаимствованы у пакета 64 Flat Game Icons.



Анимация



Анимация была сделана в Unity (Mecanim). Всего 3 типа обьектов уровня анимированы: игрок, гражданский и бонус (например, вращающаяся штука, похожая на доллар).





Бегущий гражданский. 5 кадров.



Аудио



Звуки были сгенерированы в Sfxr, мне показалось, что у него это получается лучше, чем у Bfxr.



Компоненты Audio Source используют 2D режим (spatial blend = 0). У каждого обьекта уровня свой Audio Source, кроме игрока, у которого их 2, для большего числа одновременных звуков. Но для UI всего 1 общий Audio Source.



Звуки проигрываются через специальный компонент — аудио менеджер, который следит за тем, чтобы одновременно не проигрывалось много звуков, а также склеивает (на самом деле отбрасывает) идентичные звуки, если они проигрываются в течение очень короткого интервала времени, чтобы амплитуда не зашкаливала в выходном аудиосигнале.



Материалы для маркетинга



Иконка. Настоящий шедевр. Была сделана отдельной сценой в Unity, путем размещения одной из зон уровня и игрока, и подогнав камеру.





Вы уже догадались что это. Иконка.



Я использовал Icon Slayer для того, чтобы добавить к ней крутых эффектов (скругленные уголки) и получить нужные размеры.



Следующий кусок… всмысле шедевр — это Feature Graphic (баннер, промо, не важно), которая сделана тем же способом, как отдельная сцена.





Может, мне стоит снимать блокбастеры, вместо всего этого?



Трейлер был сделан в iMovie, используя один из его шаблонов — Блокбастер.







Уверен, Стивен Спилберг поставил бы ему палец вверх.



Веб-сайт



Frontend сайта сделан с помощью Boostrap 3. Серверной логики на backend’е нет, просто HTTP сервер Nginx. Расположено все это дело на DigitalOcean. Для развертывания я использовал Vagrant.



Разное



На проекте используется пакет Smart Localization (вы уже догадались для чего).



Для контроля версий я использовал Git. Исходный код хранится в Bitbucket.

Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/282618/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Пятничный геймдев: хорошие видео о том, как делать игры

Пятница, 22 Апреля 2016 г. 17:51 (ссылка)





Привет, Хабр!



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



И начнем мы сегодня с ролика о том, как создать играбельного 2D-персонажа в Unity 5 — если вы еще не попытались этого сделать, то сейчас самое время. Важные моменты о физике, коллайдерах, спрайтах и перемещении персонажа по сцене.







Рекомендуем, кстати, посмотреть этот курс целиком вот здесь.







Следом за русскоязычными мануалами в нашей пятничной солянке будет одноименное шоу от ребят из заокеанского Microsoft — GameDev Show. Из этого видео вы сможете научиться быстро создавать 2D- и 3D-анимации для своих игр на основе собственного лица.







Всегда очень интересно послушать комментарии разработчиков о собственных играх, а этот же процесс, но на фоне геймплея из этих игр, становится во много раз интереснее. Именно поэтому следующее видео оказалось здесь — евангелист Microsoft Dave Voyles разговаривает с одним из разработчиков игры «Die Hard», вышедшей на Sega Saturn 20 лет назад!



Времени утекло много, но тем более приятно вспомнить о делах давно минувших дней.







Видео о том, как опубликовать только что сделанную игру в Azure, используя подписку DreamSpark. В принципе, этого описания достаточно — можно и смотреть.







Еще немного Game Dev Show. На этот раз серия о том, что такое UWP, почему это хорошо и чем полезно для разработчиков всех уровней — от клонов FlappyBird до Quantum Break и Rise of Tomb Rider. Аманда Ланге рассказывает про универсальные приложения и диапазон платформ, на которых эти приложения могут быть запущены. Категорически рекомендуем!







На этом сегодня все! Хороших выходных, Хабр, и помните: если вы хотите играть в хорошие игры, пишите их сами.



Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/282245/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[recovery mode] Ваша основная среда рабочего стола в linux на 2016 год НЕ СЧИТАЯ серверов

Среда, 23 Марта 2016 г. 14:25 (ссылка)

Нашел пару опросов на эту тему за 2012 год, стало интересно как сейчас обстоят дела.



Заодно решил добавить возможность выбирать несколько, если на PC и ноутбуке они разные.






Ваша основная среда рабочего стола в linux на 2016 год НЕ СЧИТАЯ серверов




















































































































































Проголосовало 99 человек. Воздержалось 27 человек.




Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.





Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/279995/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<unity - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda