Показаны сообщения с ярлыком strategy. Показать все сообщения
Показаны сообщения с ярлыком strategy. Показать все сообщения

суббота, 26 июля 2014 г.

Полезности для Unity3d / С#

На прошлых выходных опять участвовали в Ludum Dare - на этот раз в mini версии. Игру решили делать в первый раз на Unity, так что в процессе изучения решил собрать список полезного что получилось найти.
MiniLD#53 game: http://stals.itch.io/dream-ticket
Timelapse: http://www.youtube.com/watch?v=ufH4JAloVe8

Цвет в playmode
Очень советую поменять цвет в play mode чтобы необычайно не редактировать, а потом не сохранится
http://answers.unity3d.com/questions/9159/best-strategies-for-not-accidently-editing-whilst.html

Система контроля версий
При начале нового проекта нужно сразу настроить unity3d для использования git / mercurial / ...
http://stackoverflow.com/questions/18225126/how-to-use-git-for-unity3d-source-control

New Behaviour
В Unity можно заменить чтобы при создании класса он по умолчанию наследовался не от MonoBehaviour а от своего расширенного класса, как например такого




Для этого нужно немного отредактировать файл, с тем расширенным Behaviour
 OSX 
    - /Applications/Unity/Unity.app/Contents/Resources/ScriptTemplates 

 Windows
    - C:\Program Files (x86)\Unity\Editor\Data\Resources\ScriptTemplates

в файле 81-C# Script-NewBehaviourScript.cs.txt

Extension methods
http://unitypatterns.com/extension-methods/

Autogenerated set/get methods
public Vector3 movement { get; set; } 
создает геттер и сеттер, позволяя потом добавить туда логику если потребуется

Mono develop disable autoindentation
http://forum.unity3d.com/threads/monodevelop-annoying-auto-indentation.213464/
MonoDevelop-Unity -> Preferences -> Code Formatting -> и правее c# в выпадающем меню выбрать Visual Studio
Чтобы изменить в уже созданном проекте
Project -> Solution Options ->  там найти Code Formatting и дальше также

Также в нем не работает Ctrl+C/V и т.д. если находиться на русской раскладке, что я пока не нашел как побороть.

Var
полезно знать что var не тормозит производительность
http://stackoverflow.com/questions/356846/will-using-var-affect-performance

NGUI
Также если вы собираетесь использовать NGUI то вот пара полезных ссылок:
FAQ + как использовать
tutorial

and dont forget to save a layout - Windows>Layouts>Save layout

NGUI HUD Text
https://www.assetstore.unity3d.com/en/#!/content/3831
http://www.tasharen.com/forum/index.php?topic=997.0
Очень полезная штука чтобы прилеплять Ngui объекты к обычным Unity GameObject. Так например добавить progressbar hp под персонажем игрока.
Но при использовании чисто UIFolllowTarget скрипта, важно помнить что для его работы у него должны быть child элементы - так что для того чтобы за чем либо следовал например UILabel нужно создать пустой GameObject - добавить на него UIFollowTarget, и добавить сам Label уже как child.

Custom fonts
Сайт - позволяющий сделать fnt с stroke или например градиентом
(для корректной работы в Unity нужно выбирать Format - .txt)
http://kvazars.com/littera/

а также полезный туториал о том как создать и как импортировать шрифт в unity ngui
http://www.youtube.com/watch?v=ni7TfMPWq5M

Полезные бибилиотеки
Бибилиотека для движения, scale, rotate используя easing, а также shake
https://github.com/UnityPatterns/AutoMotion/ by ChevyRay

Если буду находить еще что-то полезное - буду дальше обновлять пост.

воскресенье, 2 февраля 2014 г.

Week 3-4

- Теперь при передвижении войск - Hexagon увеличивается, и уменьшается обратно - что позволяет лучше видеть действия бота
- Сделал Hexagon'ы немного прозрачными и добавил случайные задние фоны


- Добавил класс для симетричного расположения нейтральных армий, чтобы оба игрока были в одинаковых условиях
- Добавил несколько паттернов нейтральных войск с вероятностями и добавлением их на игровое поле
- Сделал билд на iphone
- Улучшил AI
- Добавил специльные сектора которые увеличивают прирост армий на всех остальных контролируемых ячейках приносящих войска.
- Добавил разные типы скомплений нейтралов и вероятности (веса) их появляения.
- Игроки теперь стартуют на случайном y но также зеркально.
- Наконец-то получилось собрать билд под mac который работал на другом маке (Оказывается я сделал у себя папку ресурсов ссылкой - из за чего он конечно находил её на моем маке - но так как её небыло на любом другом - падал)
- Попробывал сделать чтобы при встрече большого числа войск сектора вокруг немного тряслись - как идея вроде неплохо но нужно больше настраивать как это выглядит.
- Добавил A* для нахождения кратчайшего пути (Возможно пока overkill, но планирую добавлять препятствия - так что пригодиться) (http://www.policyalmanac.org/games/aStarTutorial_rus.htm)
- Добавил возможность выделить сразу несколько секторов и переправлять их в конечную точку

воскресенье, 12 января 2014 г.

New Game

Начал новую игру  и именно её разработке в основном будет посвящены посты.
Это предполагается стратегия в каком-то смысле похожая на RISK и на Galcon на поле состоящем из hexagon'ов.
Пока еще стоит определиться будет ли она пошаговой или же real time, пока склоняюсь к real time, хотя для turn-based тоже есть пара идей.
Разрабатываю же я на cocos2d-x в варианте еще до его переноса на C++11.

Week 1-2

-Добавил класс для хранения игрового поля, с возможностью получить все hex'ы вокруг заданного (что точно пригодится для выделения клеток куда можно передвинуть армию)

-Удалось побороть тачи самих хексов когда parent node смещался, оказывается нужно было делать convertTouchToNodeSpace(touch) относительно родительского спрайта.

-Добавил возможность перемещения и атаки другого игрока

-Некоторые Hexagon'ы теперь постоянно генерируют войска их владельцу

-Добавил нейтральные армии - если их захватить - они начнут генерировать этому игроку дополнительные войска
-Добавил ИИ - пока просто рандомный - выбирает случайный подконтрольный hexagon и двигает армию в случайную сторону.

-Собрал билд по OSX