понедельник, 14 октября 2019 г.

DeploymentServer tool to automate iOS development

UnrealEngine 4 provides huge amount of tools for game developers which continues to evolve all the time thanks to Epic team and comunity around it.

However here is hided one of the problem. Nobody can write documentation or make video tutorials that will cover all aspects of the developement process and highlight possibilities of the engine. That where comunity appears.

During development of the game my team faced a lot of challenges and part of them is to configure tools in the most effective way. Here are some of our findings.

To work with your device UnrealEngine provide UI tool called iPhonePackager which allows to sign your game package with required provision, install on device or grab local files from device including log files. Underneath of the iPhonePackager works application named DeploymentServer. Actually the same application used to launch game within the UE4 editor on device.

But one of the problems iPhonePackager have is UI. Sometimes in order to make the simple operation devloper has to get through couple of screens and dialogs. So I had a look under the cover of iPhonePackager and found that using DeploymentServer directly can save you a lot of time or help to integrate UE4 native tools more deeply with tools that already might be present in the company.
Deployment server is a simple commandline application that can be called separatelly with specific parameters. Here is some of the operations.

Find list of devices connected to a computer  

Command listdevices allows to print list of all available devices.

DeploymentServer.exe listdevices

Install ipa game package on a device or devices.  

Commmand install is created to deploy ipa game package to the required devices. It could one device, all devices connected to the computer or specific set of connected devices. It works for all iOS devices: phones, pads and tvs.

DeploymentServer.exe install -device IOS@All_iOS_On_MyComputer -ipa C:\MyGame.ipa 

-device: name of the device to install at. By default IOS@All_iOS_On_MyComputer and can be skipped. If couple of devices connected to a computer game package will be installed on all of them, one by one. Single device name or ID can be provided to install game on one device only. 
-ipa: defines path to the ipa game package that should be installed. Obviously it can't be skipped. 

Copy local files generated by a game from device to PC. 

There are couple of command implemented by Epic team to copy files from a device. You can copy one specific file or grab all files from the device. Just remember you can pull files stored in container created for your application by iOS, usually it Documents and Library folders.

DeploymentServer.exe backupdocs -bundle com.my-company.my-game -device MyIPhone8 

-bundle: application id of your game registered on developers.apple.com and used to generate provisioning for the game.
-device: name of the device from which to grab files.

By default all files will be stored under the working directory of the calling application.

I beleive that this three commands that could be quite handy during devlopment not for coders only but for artist or gamedesigners. Especially if you've got already some set of internal tools to run the development environment.

Additional links: iPhonePackager documentation

суббота, 1 декабря 2012 г.

День 71. Переговоры, переговоры и еще раз переговоры

Случайно, вместо одного из наших менеджеров, попал на тренинг Владимира Козлова "Жесткие переговоры". Тренинг двухдневный, суббота-воскресенье.

Как водится 3 раза сменил свое мнение о том, нужно ли оно мне вообще. Когда предложили решил что да, это круто. Сейчас всех будем в бараний рог крутить.
Потом понял, что на самом деле тренинг о том, как сделать так чтобы тебя самого не скрутили. Одна проблема - я "мало" участвую в переговорах такого уровня, когда одна из целей сломать другую сторону переговоров.
Ну и уже во второй половине первого дня пришел к выводу - нужно уметь расширять свое сознание, научиться видеть себя со стороны, анализировать общение по шагам и в нужный момент включать режим "переговорщика". Это позволяет избежать конфликтов и не нужного напряжения даже в обычных ежедневных "переговорах", не доводя их до состояния "жестких" или тем более войны.

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

Одним из показателей интересности можно считать, то что я дома все уши жене "проездил" тренингом, а в голове до сих пор крутиться один из кейсов. Завтра намечается еще один интересный день

Всем  доброй ночи. 

пятница, 30 ноября 2012 г.

День 70. Deadline и 50 отжиманий

Прошло 2 трети срока. Сегодня закрыл 2 промежуточных цели.

Дочитал книгу Демарко "Deadline. Роман об управлении проектами", мне понравилась, даже несмотря на то, что читал в 2 захода с перерывом в месяц. В книге многие вещи раскладываются по полочкам, в общем-то даже не нужно писать никакого конспекта. Все главные идеи выписаны в конце главы, читать, понимай, пробуй.

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

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

Ну и вторая достигнутая цель - 50 отжиманий. Теперь нужно сделать самое сложное, нужно поддерживать этот уровень. Я занимаюсь 3 раза в неделю, значит на последнем занятии должен снова отжатся 50 раз минимум.

Всем доброй ночи.