LINUX.ORG.RU

open iPhone development


0

0

Давно не постил ничего своего.

На экране пара шотов с айфона из игры которую я пишу в свободное время. Не все поймут из скриншотов в чем суть игры но наверняка многие видили или слышали о (Konami) Dance Dance Revolution или подобной игре - In the groove. Так вот TapMania это симулятор DDR/ITG для айфона, а если быть до конца честным то это "rewrite" известного продукта (С++/PC) StepMania под iPhone (Obj-C). Игра умеет парсить файлы с степами и музыкой прямиком из паков поддерживающихся в StepMania.

Интересно, что сборка возможна как из MacOSX/Xcode так и при помощи "open" toolchain из под линукса.
На iPhone хожу по ssh и заливаю собранный make-ом tarbal используя scp. Слышал, что можно настроить usb который вроде значительно быстрее чем вайфай.. если кто делал - буду рад вашему ноухау :)
Игра, как видно, еще очень свежая. Ну и разумеется она опенсурц.

В остальном - Gentoo/FVWM2/Conky/Aterm. железка - ноут noname корпус:)/core2duo/2gb ram/nvidia/чототамещенепомню.

Если кому нужна помощь в настройке toolchain - обращайтесь!

>>> Просмотр (1280x800, 271 Kb)



Проверено: JB ()

> Если кому нужна помощь в настройке toolchain - обращайтесь!

обращаюсь :) можно плз ссылку на скачку его + howto

lester ★★★★
()

Респект!

anonymous
()

>>Dance Dance Revolution

По-моему, в этом списке нельзя не упомянуть и серию Guitar Hero! (:

anonymous
()
Ответ на: комментарий от php-coder

Триста лет не видел, но скрин как обычно))) ебанарий ты пых__ебанарий__

anonymous
()

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

И второй вопрос - собранная таким образом программа будет работать на обычном (не jail-break'нутом) айфоне?

bender ★★★★★
()

Трямки Годекс, увидел iPhone в хедлайне а потом приславутые стрелки на миниатюрке скриншота - стало всё ясно.

-- ufo

anonymous
()
Ответ на: комментарий от bender

Привет,
Окошки это скриншоты с самого айфона. с реальной железяки. Эмулятора под линукс к сожалению нету :(
Собранная таким образом программа будет работать только на jailbreakнутом айфоне так как заливать ее возможно только по SSH да и еще надо ее спуфнуть на предмет сертификации (ldid -S app).
В принципе моя игра сейчас компилируется под Xcode с оффициальной SDK и это значит, что я теоретически могу заапрувить ее на AppStore и таким образом она может работать на нехакнутых айфонах. вопрос только как тогда заливать музыку и паки? :)

godexsoft
() автор топика

Честно говоря невижу смысла играт в StepMania на iPhone ибо коврик не подключишь и не попрыгаеш. Для Stepmania нада телик побольше, коврик получше, девок покраше и побольше ну и прыгать на вылет ) Я всвое время нормально на Andamiro прыгал :)

Ice_
()
Ответ на: комментарий от Bioreactor

В целом это 2.0 но без GC. под iPhone памятью рулит autoreleasepool.

godexsoft
() автор топика
Ответ на: комментарий от Ice_

stepmaniaonline.com - тут только 5% играют на коврике :-)
Вообще на скриншоте где стрелки - dragon force - fields of despair (13 heavy). попробуй такое на коврике пройди :)

godexsoft
() автор топика
Ответ на: комментарий от godexsoft

> вопрос только как тогда заливать музыку и паки? :)

А что некий online-storage музыки нельзя сделать?

-- ufo

anonymous
()

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

svu ★★★★★
()
Ответ на: комментарий от anonymous

Проблемы с авторскими правами будут :)
Сейчас в инете есть куча zip архивов с музыкой и степами.. они все в целом не очень легальны но так как лежат они на всяких rapidshare итп. то до них не очень докапываются. Кто их сделал и мейнтейнит - не известно :)

Есть некий ресурс flashflashrevolution.com где куча степов и музыки но там все они весьма лажовые. несмотря на свою лажовость они compatible с моим движком и с StepMania.

Вобщем в текущей реализации от юзера требуется скопировать свои песни с компа на айфон в папку ~/Documents/Songs.. это нормально для программы которая работает на jailbreaked-only.

godexsoft
() автор топика
Ответ на: комментарий от svu

У XCode есть масса удобных тулзов которых нету у Eclipse/Vim/Emacs.
Основное достоинство XCode имхо в наличие Simulator/Debug опции. Под линуксом я могу тестировать софт только на железяке и в качестве дебага мне доступен лишь syslog :-/
Ну и еще неплохая интеграция с документацией (которую вообще найти сложно в iPhone мире).

godexsoft
() автор топика
Ответ на: комментарий от godexsoft

Легальность, в крайнем случае для не-джеилбрейкнутых можно ведь сделать некую опцию чтобы игра выкачивала zip, который преждевременно составил юзер по http и распаковывал его в ~/Documents/Songs. А джеилбрейкнутые сразу бы в Songs ложили, правда я в двух вещах нен уверен а) юзер-експириенс и б) разрешено ли аппликухам что-то складывать в Songs.

Но это все более чем obvious.

anonymous
()
Ответ на: комментарий от godexsoft

Спасибо за подтверждение моей позиции:)

svu ★★★★★
()
Ответ на: комментарий от godexsoft

>stepmaniaonline.com - тут только 5% играют на коврике :-) Вообще на скриншоте где стрелки - dragon force - fields of despair (13 heavy). попробуй такое на коврике пройди :)

Ну незнаю. Я на Andamiro Весь Crazy Level проходил ногами и руками :) Но было ето давненько. Посмотри в интернете что корейцы вытворяют сразу поймешь что пальцами ето неиграется :)

Ice_
()
Ответ на: комментарий от anonymous

а) Конечно автоматическое пополнение песнями это плюс.
б) Тут сложности есть:
В джейлбрейкнутом айфоне понятно - можно все.
А вот в честном айфоне, напротив, не получится положить ничего вне песочницы программы. В айфоне каждая программа живет в своей тюрьме и у них у всех свои Documents. Однако скачать и сохранить файл в Documents данной программы - можно.

godexsoft
() автор топика
Ответ на: комментарий от Ice_

Я знаю :-) Andamiro это Pump. Pump crazy 21 это примерно Heavy 10-11. Понимаешь разницу? Если нет - вот ссылка, советую посмотреть: http://www.youtube.com/watch?v=pOoa5fg2Vbo (Dragon force - fields of despair, 13 heavy, AA, StepMania).
Надеюсь разница станет очевидной :-)

godexsoft
() автор топика
Ответ на: комментарий от DOKA

Согласен. XCode, разумеется, удобнее. Возможно я потрачу время на настройку Eclipse для разработки под айфон. Тут уже даже ссылку на howto кидали (Спасибо, кстати!).

godexsoft
() автор топика
Ответ на: комментарий от godexsoft

> Я знаю :-) Andamiro это Pump. Pump crazy 21 это примерно Heavy 10-11. Понимаешь разницу? Если нет - вот ссылка, советую посмотреть: http://www.youtube.com/watch?v=pOoa5fg2Vbo (Dragon force - fields of despair, 13 heavy, AA, StepMania). Надеюсь разница станет очевидной :-)

Мдам :) Цогласен. То что по ссылке "Heavy 13" ногами на ковре пройти не получится )

Ice_
()
Ответ на: комментарий от godexsoft

Спасибо, вот еще - возможность вести разработку из Eclipse:

http://theappleblog.com/2008/10/07/ibm-extends-iphone-development-to-windowsl... http://www.maxhorvath.com/2008/10/programming-for-iphone-using-linux-or-windo...

на второй странице прямая ссылка на pdf с инструкцией: http://www.maxhorvath.com/documents/programming_for_iphone_using_l/eclipse-ip...

Как я понял, набор инструментов там тот же, что и в приведенной выше ссылке (нужен jailbreak-нутый айфон).

Насколько я понял, оффициальный SDK от альтернативного отличается только подмножеством хедеров к одним и тем же системным библиотекам. В альтернативном SDK хедеров больше, в оффициальном - меньше, но если я напишу программу для подсистемы, в которой есть хедеры и в оффициальном и в альтернативном SDK, используя linux toolchain, то программа должна скомпилироваться без проблем и в оффициальном. Я прав? Если да, то как там с OpenGL API - он присутсвует и там и там в одинаковом объеме? Как сложно теоретически перенести OpenGL-программу разработанную на альтернативном SDK на оффициальную платформу (чтобы потом можно было выложить ее в AppStore естесственно)?

bender ★★★★★
()
Ответ на: комментарий от Ice_

Верно. на айфоне эта песенка вроде фурычит на ~60fps. немного лагает но в целом все видно и набрать ее можно.. это правда пока без всяких подсчетов очков и без лайфбаров но и без оптимизации в любых проявлениях.
Вобщем для таких вот песенок я и пишу TapMania.. уж очень я люблю играть в StepMania на клавиатуре :-)

godexsoft
() автор топика
Ответ на: комментарий от godexsoft

> которую вообще найти сложно в iPhone мире

Примеры для SDK у эпплов довольно удобные и полезные.

http://developer.apple.com/iphone/index.action

(Требуется регистрация, но она ненавязчива.)

Другое дело, что 1) книг маловато (у нас в РФ по O-C 2.0 несколько запутанных глав в одной-единственной книге, да и в Америкосии маловато тоже по сравнению с С++ и Жабой видел) 2) Эпплы любят менять XCode + IB - трешка сильно отличается от двойки, и даже качнул 3.1 - отличается от 3.0.

ЗЫ. Все-таки XCode - лучшая среда разработки. C 1989 года. :)))

PSS. Успехов! ;-)

Bioreactor ★★★★★
()
Ответ на: комментарий от bender

Прежде всего, спасибо за ссылки! мне кажется стоит потратить время на настройку Eclipse хотябы ради autocomplete/refactoring. надеюсь они там работают для Obj-C :-)

Отвечая на вопросы следует отметить, что моя игра написана именно на OpenGLES и данный фреймворк есть в оффициальной SDK. На самом деле для быстрого старта можно скачать CrashLanding.app с сайта developer.apple.com в разделе iPhone. TapMania изначальна основана именно на коде CrashLanding.app.
И да, ты понял правильно, 2.х тулчейн под линукс это ворованные хидеры из оффициального SDK. Именно по этой причине Saurik не может распростронять готовый тулчейн в архиве.. Приходится всем собирать себе свой.
В тулчейне есть возможность использовать PrivateFrameworks, в оффициальном SDK такой возможности нету. Но в тоже время используя PrivateFrameworks ты сразу лишаешься возможности выпускать свою программу в AppStore.
И еще ты конечно прав когда говоришь, что программы собирающиеся под оффициальным SDK/Xcode могут собраться под тулчейном. Это верно, за исключением того, что придется писать свой Makefile. На больших проектах это может убить много времени и сил.

Удачи :-)

godexsoft
() автор топика
Ответ на: комментарий от Bioreactor

Спасибо. XCode ничего, согласен :-)
Про примеры я в курсе. Я уже не первый месяц занимаюсь разработкой под айфон на работе, так что успел столкнуться с многим. Когда я говорил про документацию я имел в виду именно книги. По разработке под айфон есть всего несколько книг и те уже немного out of date.

Еще раз спасибо! Тебе тоже успехов! :)

godexsoft
() автор топика

Зачем ты принес на лор эту проприетарщину?

Зачем демонстрируешь свое преступление, ведь железка джейлбрекнутая?

И почему не стыдишься, а даже наоборот, гордишься своим анальным рабством? Ведь никто не заставлял тебя совершать преступление, никто не заставлял тебя впрягаться в эту лямку. Ты все сделал сам и таким образом помогаешь Джобсу насаживать на кукан еще и других.

>Если кому нужна помощь в настройке toolchain - обращайтесь!

вот-вот. обращайтесь в анальных рабов Джобса.

AVL2 ★★★★★
()

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

-- ufo

anonymous
()
Ответ на: комментарий от anonymous

Ну платформа то уж открытие некуда.. нужно только пройтись по ней pwngtool-ом любым. Мне лично интересна эта платформа по следующим причинам: а) у меня есть айфон. б) мне нравится писать на Obj-C. в) iPhone OS это unix. г) iPhone на данный момент лучшая железяка и iPhone это революционный девайс (ИМХО). в основном изза multitouch (ИМХО).

godexsoft
() автор топика
Ответ на: комментарий от anonymous

Весь функционал joypad-а нужно переделывать. Оно в корне неверно устроено сейчас. На самом деле 4 кнопки в ряд это называется Spread и в TapMania уже есть такой режим кнопок.. на данный момент режима 2.

godexsoft
() автор топика

Здарова! :)

Кстати, последний iPod Touch работает быстрее чем iPhone 3G. Скорее всего FPS-ов будет поболее.


Korwin ★★★
()
Ответ на: комментарий от Korwin

Здарова, Саня! У тебя есть этот iPod touch? Если да - готов потом помочь с тестированием? :-) Я правда не очень быстро разрабатываю.. времени мало.

godexsoft
() автор топика
Ответ на: комментарий от godexsoft

iPod touch пока нет. На НГ планирую парочку приобрести :) Так что всегда welcome!

Korwin ★★★
()
Ответ на: комментарий от AVL2

Во-первых, на ЛОРе уже давно есть раздел эппла. Во-вторых - это интересное (технически и usability-wise) устройство, поэтому вполне оправдано и понятно желание поковыряться в нем. Это вполне себе Ъ хакерство (думаю, и св. Столман одобрит джейлбрейк как явление).

ЗЫ Сам я айфон не куплю
ЗЗЫ Есть у меня карманный проект для н810. Если-когда доведу его до ума, думаю портировать на йамобилку, из интереса поиграться с ObjC в родной для него среде.

svu ★★★★★
()

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

godexsoft, а ты не знаешь в айфоне акселерометры есть? если есть для них достучаться можно? Если б можно было превратить айфон в некое подобие wii и задействовать в степмании еще и руки - вот это было бы круто...

gods-little-toy ★★★
()
Ответ на: комментарий от gods-little-toy

В iPod Touch точно есть. Значит, и в айфоне есть (он типа суперсет по железу, только проц поскромнее). И доступ есть.

svu ★★★★★
()
Ответ на: комментарий от svu

>. Значит, и в айфоне есть (он типа суперсет по железу, только проц поскромнее). И доступ есть.

Судя по WWDC'08 есть и доступны из оф.SDK

iRunix ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.