live13 (live13) wrote,
live13
live13

Про Mac Вторая неделя знакомства


Сижу на работе на Mac Mini вторую неделю, отвлекаясь время от времени на правку старых багов в прошлых проектах.
Захотелось поделиться новой порцией впечатлений.
Говорить что-то в целом о системе сложно. Система хорошая. В ней много не столько странностей, а особенностей, отличий от привычной уже Windows. Вот например клавиатура и горячие клавиши. Вроде все похоже. Только нажимать большинство комбинаций нужно не через Сtrl, а через клавишу Win. Есть и сложно сочиненные комбинации клавиши Win с Alt и Shift. Поначалу немного обескураживает. А переключать раскладку клавиатуры я вообще только дня через два научился.
Простота и понятность, лежащие на поверхности вначале скорее пугают. Вроде все здорово. Образ монтировать не надо. Щелкнул два раза и пользуешься. Программы устанавливать просто. Нажал два раза, согласился с лицензией и порядок. Закачивать файлы тоже просто.
И при всем при этом я до сих пор с трудом нахожу откуда в системе можно запустить XCode напрямую. Хорошо хоть закрепил его на Dashboard.
Пока установленных программ и валяющихся на диске файлов не много все нормально. Но вот будущее разрастание количества и того и другого пугает. Как потом за всем этим следить и как искать нужное – большой вопрос.
Фирменные окошки MacOS – отдельная тема. Кнопки вверху слева, а не справа – это еще не проблема. А вот без простого разворачивания окон на весь экран как-то неуютно. Манипуляции с файлами тоже та еще акробатика. Удалять файлы легко. Корзина всегда на виду. А вот для того чтобы что-то найти и что-то куда-то перенести нужно открывать несколько копия Finder и держать их на виду. Хочется кого-то подобия Total Commander. Надо будет поискать.
Про сам Mac mini тоже могу сказать несколько слов. Все-таки это довольно простой компьютер, просто упакованный в маленькую коробочку. И я то думал он тихий, мирный и хладнокровный. А вот и нет. После нескольких часов периодических запусков совершенно ненапряжного приложения использующего OpenGL крошка Mac mini раскочегарился так что у меня на столе поплавилась припасенная к чаю шоколадка. А шоколадка эта лежала на расстоянии клавиатуры от маленького компьютера. Да и когда к самому Mac mini руку подносишь, уже на расстоянии 15-20 см тепло чувстуется. Булла бы на работе кошка или еще какое мелкое домашнее животное – думаю всю зиму только на включенном Mac mini и спало бы. Животные такое любят.
Засыпает и просыпается Mac хорошо. Мне понравилось. И отрубание света уже пережил. Спокойно загрузился.
Ну а теперь перейдем от железа к софту. Даже к программированию.Objective-C язык причудливый. Много, ох много еще тонкостей нужно понять. Особенно все, что связанно со счетчиками ссылок на создаваемые объекты.
Начинать с освоения iOS и писать велосипеды у меня не выйдет. Может это и к лучшему. Вместо этого сразу взялся за движок cocos2d, позволяющий создавать вполне приличные игры на iPhone и iPad.
Несколько дней подряд занимался изучением описания, документации, советов, статей и примеров. Реализованные в движке возможности радуют. И при этом, похоже, все работает достаточно стабильно. Движок хорошо отлажен. Есть много возможностей для работы с анимациями. Их можно прикреплять друг к другу. Разным образом трансформировать. Запускать сразу последовательность экшенов, двигающих и изменяющих анимации сложным образом. Есть поддержка текстурных атласов. Есть системы частиц. Есть поддержка работы с кривыми. Есть физический движок. Есть понятие сцены и слоя на сцене. А сцены можно разными способами менять друг с другом. Есть вполне приличные редакторы, в которых можно готовить файлы для проектов. И это еще не все.
И вот решил я вчера начать с создания простого главного меню. Вроде просто, и на примеры похоже. А все никак не получалось. Загвоздка была в XML файле, описывающем размещение картинок на текстурном атласе. Готовил я его указанным в документации редактором TexturePack (1.0), в котором сохранял файл в формате cocos2d. И только когда я посмотрел на файлы, идущие к примерам я увидел, что там формат XML файла другой. Все заработало только тогда когда я скачал другой редактор The Zwoptex и создал файл там. Причем не в формате cocos2d, а формате самого редактора. Почему так – не знаю. Главное работает.
Однако создать меню даже за сегодня все равно не удалось. В отличие от системы, которую я разрабатывал ранее здесь все гораздо сложнее. Раньше мне нужно было только скормить картинки своему упаковщику. Он рассчитывал количество нужных текстур, раскладывал на них картинки, обрезал лишние пустые поля и рассчитывал координаты и отступы. Все что мне требовалось делать при написании игры – это только указать номер кадра, который я хочу видеть картинкой или кнопкой.
В cocos2d как и в большинства движков все сложнее. Картинки нужно тримить самостоятельно. Для нажатия кнопок нужно предоставлять прямоугольники. А для непрямоугольных кнопок придется заморачиваться. А еще со встроенными в движок кнопками меню не работают текстурные атласы. Разве что только через хак. Но мне этого все-равно будет недостаточно. Придется обратиться к опыту древних предков разработчиков.
Не знаю интересны ли и понятны ли кому последние несколько абзацев. Однако вот такой Mac и есть. Простой внешне. Сложный внутри. И в то же время не оставляющих после себя впечатление полного отчаяния как некоторые open source библиотеки, в которых без посторонней помощи и подробной документации разобраться могут только настоящие гики. А здесь хотя бы документации, примеров много. Много интересующихся разработчиков.
Да, совсем забыл сказать про симулятор, на котором можно тестировать приложения для iPad и iPhone. После всех сказок, которых я начитался и интернете и журналах о магических свойствах Mac компьютеров – это была настоящая встреча с реальностью. Скажу просто. Он тормозит. Нет, дело не в том, что он работает медленнее реального устройства и FPS чаще всего не достигает желаемых 60 кадров в секунду. Самое страшное, что он мелко подтормаживает. Запущенная в бесконечном цикле простейшая анимация время от времени дергалась. В самой программе ничего способствующего этому не было. В симуляторе тоже. Все дело было в каких-то фоновых процессах системы. То же самое я неоднократно наблюдал и на PC. Правда на PC такие симптомы могут проявляться сильнее. Еще бы. Когда систему атакуют вирусы и разные сетевые сканеры - не удивительно, что она с трудом отбивается. Тем не менее, то, что Mac не может претендовать на звание системы реального времени – это факт.
Пожалуй на сегодня хватит. Когда ни будь еще что-то напишу на эту тему.
Tags: mac, pc, игры
Subscribe

  • Fargo не так прост!

    Я уже писал что 4-й сезон вызвал у меня несколько смешанные чувства. С одной стороны это все так же стройная история, крайне достойно…

  • Про Некромунду

    Тут на подходе книга про Орлоков ожидается. А еще занимательный аванпост в пластике выпускают. Стоит даже несколько штук взять. Жаль пока не…

  • О том что случается когда фабрики стоят

    Примерно лет 12 назад (ну или оклол) качественные цифровые фотокамеры стали доступны даже фотолюбителям. И тогда очень был популярен мем про…

promo live13 may 11, 2014 17:58 46
Buy for 50 tokens
Примерно неделю назад я писал, что заинтересовался этой online-книжкой http://gameprogrammingpatterns.com/ и решил сделать ее перевод. Сам я мог бы ограничиться и английским вариантом, но думаю многим перевод пригодится. В прошлом я уже занимался переводом книг. Не как основной работой. Так,…
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 7 comments