AbandonSocios: El Portal de los Juegos Antiguos

Abandonsocios => Tutoriales => Mensaje iniciado por: Gelon en Febrero 18, 2023, 22:51:45 pm

Título: Tutorial iOS (iPhone OS)
Publicado por: Gelon en Febrero 18, 2023, 22:51:45 pm
(https://i.imgur.com/xBD9e2e.png)

iOS, originalmente llamado iPhone OS, es un sistema operativo desarrollado por Apple para su línea de dispositivos móviles iPhone, iPad e iPod Touch.

Fue presentado al público, junto al iPhone, en el MacWorld de enero de 2007. Se pueden criticar muchas cosas de Apple, especialmente su pasión por "inventar" cosas que ya estaban inventadas, pero el iPhone era el futuro y aquella presentación cambió el paradigma de la telefonía móvil para siempre. Las compañías clásicas llevaban estancadas ya varios años y los sistemas móviles de la época se estaban volviendo pesados y obsoletos: Symbian, Windows Mobile y PalmOS. Estas plataformas iteraban continuamente sobre el mismo kernel y fiaban sus "novedades" a capas de personalización ultra-recargadas que los procesadores de la época apenas podían mover, llegando a niveles de fluidez insoportables, cosas como el TouchWiz de Samsung. iOS llegó para cambiarlo todo con un look sencillo y moderno, una accesibilidad espectacular y una innovadora jerarquía de carpetas e iconos. Sumado a la tecnología capacitiva, hacían de la experiencia un uso fluido e inmediato.

(https://github.com/stranno/stranno.github.io/raw/refs/heads/main/pinch-macworld.webp)
Por primera vez en la historia se hacía el gesto 'Pinch to Zoom'

iPhone OS no tuvo aplicaciones, más allá de algunos juegos flash a través de Safari, hasta la apertura de la App Store, un año después. Con ella llegó el SDK de desarrollo y la posibilidad de crear aplicaciones de terceros. La entrega de los estudios fue total, ante la perspectiva de que los móviles iban a reemplazar a las consolas, y tan solo el primer día la App Store ya contó con más de 300 juegos. En comparación, el mercado digital más popular hasta la fecha, el N-Gage Service de Nokia, apenas contó con 50 juegos en dos años de vida.

(https://github.com/stranno/stranno.github.io/raw/refs/heads/main/super-monkey-ball-ios.webp)
Super Monkey Ball — El juego más popular de los primeros días de la App Store

Durante más de 15 años había sido imposible jugar a juegos de iOS fuera del ecosistema de Apple. Sin embargo, a principios de 2023, una programadora suiza conocida como Hikari, apasionada de la saga Monkey Ball, decidió emular esta primera versión de iOS tan solo para poder jugar al clásico de Sega en cualquier dispositivo. Así nació un touchHLE que, a la larga, ha ido soportando cientos de juegos más, gracias a colaboradores apasionados de este sistema. Actualmente la lista cuenta con unos 130 juegos completamente jugables, así como casi 100 más que funcionan con problemas.

(https://github.com/stranno/stranno.github.io/raw/refs/heads/main/spore-ios.webp)
Spore — Otro clásico de los primeros días de la App Store

Muchos clásicos exclusivos de Gameloft han pasado a ser jugables ya que un entusiasta de esta compañía (¿quién no lo es?) es actualmente el mayor colaborador del emulador y quien ha añadido la mayoría de contribuciones últimamente: ciciplusplus.

touchHLE empezó emulando únicamente iOS 2.x, la primera versión del sistema, que ya contaba con miles de juegos en la época. Actualmente tiene también soporte para juegos iOS 3.x y preliminar para 4.x. Hikari ha dicho en varias ocasiones que no está entre sus planes pasar de ahí. Cuanto más nuevas son las versiones de iOS más complejidad, mayor variedad de hardware y mayor cantidad de APIs.

touchHLE

El interfaz de touchHLE se limita a un lanzador de aplicaciones, sin más virguerías. Para configurarlo es necesario o bien añadir los parámetros vía línea de comandos o bien añadir los parámetros en el archivo de configuración (touchHLE_default_options.txt). En Android solo existe esta segunda opción, de no querer lanzarlo los juegos con los valores por defecto. Todos los parámetros los tenéis explicados en el archivo de ayuda (OPTIONS_HELP.txt (https://raw.githubusercontent.com/touchHLE/touchHLE/refs/heads/trunk/OPTIONS_HELP.txt)).


En el caso de querer configurar estos valores a través del archivo de configuración, basta poner la ID del juego seguida de los parámetros, en cualquier parte del archivo de texto. Es decir, si quisiéramos lanzar Super Monkey Ball en pantalla completa, girado hacia la izquierda, indicando que el botón START pause el juego e inclinando el iPhone desde 25 grados, en vez de los 45 grados originales:


Si tenéis múltiples versiones del mismo juego que tengan la misma ID, al configuración se aplicará a todos ellos.

DESCARGA

La última versión estable de touchHLE data de hace más de un año, si bien Hikari tiene pensado publicar la siguiente versión estable próximamente. Para tener las versiones actualizadas hay que descargar las "Previews". Para ello deberemos tener cuenta de Github, de lo contrario no será posible descargar las versiones pre-compiladas desde Github Actions. La descarga ya incluye todos los archivos necesarios, salvo los juegos, para usar el emulador.

Versiones Estables (https://github.com/touchHLE/touchHLE/releases/tag/v0.2.2)
Versiones Preview (https://touchhle.org/download/)
iOSObscura (https://archive.org/download/iOSObscura/)

Respecto a los juegos, lamentablemente la "preservación" de iOS está muy fragmentada (con todo es infinitamente mejor que en Android) y no hay nada organizado como TOSEC o No-Intro. El mayor proyecto de preservación que he visto es iOS Obscura en Internet Archive, que tiene un poco casi todo lo importante que podáis necesitar, incluyendo todos los juegos soportados actualmente por touchHLE.

Revisad siempre la lista de compatibilidad de touchHLE (enlace (https://appdb.touchhle.org/)) porque ahí os indicarán exactamente la ID del juego comprobado y la versión concreta que funciona. A veces puede que una versión particular no funcione.

JUEGOS

Windows: Basta con mover los juegos a la carpeta touchHLE_apps, que deberemos crear en el mismo directorio que el ejecutable (touchHLE.exe). Deberán estar en formato IPA para que sean reconocidos por touchHLE. Una vez ejecutemos el emulador, nos saldrán directamente los iconos de los juegos correspondientes en la ventana.

Android: Aquí la cosa se complica un poco porque Google tiene la obsesión de cerrar Android, intentando que se parezca más a iOS con cada versión que pasa. Desde Android 10 ya no es posible acceder a las carpetas de datos de las aplicaciones instaladas. Tan solo es posible acceder a través del explorador de archivos nativo de AOSP (com.google.android.files), que desde Android 12 está convenientemente oculto, o bien a través de MTP, conectando el móvil por USB a un ordenador. Afortunadamente, touchHLE implementa en su interfaz el explorador Files para poder realizar la operación de mover los juego a su sitio correspondiente. El procedimiento sería el siguiente:


Spoiler (click para mostrar/ocultar)

Si optáis por hacerlo por MTP (mucho más simple), basta con mover los juegos a Android/data/org.touchhle.android/files/touchHLE_apps

Spoiler (click para mostrar/ocultar)
Título: Re: Tutorial iOS (iPhone OS)
Publicado por: Gelon en Marzo 16, 2023, 15:03:04 pm
Entre las últimas novedades:

- Nuevo juego soportado: Touch & Go LITE. Es la demo del juego, parece ser que el juego completo solo se ha preservado en un pack junto con otros dos, el cual también debe estar emulado. En todo caso no he visto ninguno de los dos juegos por ahí, Hikari los debía tener en su iPod Touch 4.
- Arrastrar y soltar: ya es posible arrastrar y soltar un IPA en el ejecutable, para lanzarlo directamente.
- Port a Android: otro programador ha portado touchHLE a Android y ha mostrado un vídeo de Super Monkey Ball funcionando en un móvil. Parece ser que mandará el PR a Hikari próxiamente.

https://twitter.com/ciciplusplus/status/1636135360957755393
Título: Re: Tutorial iOS (iPhone OS)
Publicado por: Gelon en Mayo 07, 2023, 03:09:21 am
Un par de novedades:

(https://i.imgur.com/QgL6dBx.png)

- Se ha añadido un selector de aplicaciones (carpetas app o instaladores ipa). La primera vez que ejecutéis el emulador se creará la carpeta touchHLE_apps, meted ahí las aplicaciones y aparecerán en un menú al ejecutar nuevamente el emulador.
- La versión de Android se ha añadido a la rama principal, desarrollada fundamentalmente por ciciplusplus, con correcciones y mejoras de Hikari. Actualmente aún hay cosas que mejorar, con lo que todavía no está disponible en Actions y personalmente no he conseguido compilarla (no soy muy experto en Android, lo único que he compilado para esta plataforma fue sm64-port en su día).

Salvo para Android, compilar ya no es estrictamente necesario, ya que Hikari añadió soporte para Github Actions. Basta con ir a la pestaña, elegir la última versión compilada y descargar los binarios de la parte inferior.

(https://i.imgur.com/3UguvjE.png)

(https://i.imgur.com/9cIJIHF.png)

(https://i.imgur.com/pN1TsK5.png)

Teóricamente se supone que se añadió soporte para el Spore de EA hace un par de meses, sin embargo no funciona ninguna versión que haya visto. O esos cambios no se han subido al repositorio o se trata de alguna versión concreta que no he localizado.
Título: Re: Tutorial iOS (iPhone OS)
Publicado por: Gelon en Mayo 12, 2023, 17:19:05 pm
(https://i.imgur.com/ZMKWp2C.jpg)

Los cambios de Spore puedo confirmar que no están disponibles en el repositorio. Hikari aún no los ha subido porque el juego no es consistente, requiere de múltiples hacks y ni siquiera es posible finalizar el primer nivel.

En otro orden de cosas, el próximo juego soportado será Fastlane. Una copia de Ridge Racer originalmente desarrollada para la consola Tiger Gizmondo. Como casi todo el catálogo de esta consola, el juego fue cancelado antes de salir al mercado. Luego el desarrollo se movió a Playstation Portable, hasta que la App Store llegó para reventar el mercado y finalmente los autores decidieron lanzarlo en iOS. Lamentablemente, siendo uno de los primeros juegos de carreras en iOS, utilizaba únicamente controles por movimiento, pero dentro de lo que cabe son bastante suaves y jugables.
Título: Re: Tutorial iOS (iPhone OS)
Publicado por: Gelon en Mayo 21, 2023, 11:31:28 am
(https://i.imgur.com/ZOhfsjl.gif)

Entre los últimos cambios, Hikari ha añadido soporte para Fastlane, como mencioné en el último post, así como mapeo de pantalla táctil a botones del mando. De momento es una implementación muy básica, solo soporta un único mapeo/botón y no es posible mapear la zona al teclado, solo a los 4 botones principales de un mando XInput.

(https://i.imgur.com/quNRUn8.gif)

Por su parte, ciciplusplus, el colaborador más activo tras Hikari, ha añadido soporte para Wolfenstein 3D, uno de los numerosos ports del clásico de iD a iOS. Concretamente ha sido la versión de ZODTTD, que llegó un tiempo después del port original por parte del propio John Carmack. Ambos baneados de la App Store por diferentes violaciones de licencias. Tras estos ya llegó el Classic, que estuvo muchos años en la tienda, hasta que fue reemplazado por el port actual de la iD Software moderna. No estoy muy seguro por qué han usado este semi-raro port del juego, aunque supongo que tenga que ver con que tiene el código fuente disponible.

Otro autor, LennyKappa, ha añadido nuevas funciones para el soporte de iOS 3.x. Un cuarto autor, KiritoDv, ha añadido soporte para otro juego más, MisteryMania. Si bien este con errores gráficos, al contrario que el resto de los soportados hasta el momento, excepto Spore, cuyo soporte aún no está disponible en la rama principal por ser muy prematuro.

Parece que esto coge carrerilla.
Título: Re: Tutorial iOS (iPhone OS)
Publicado por: Vladd en Septiembre 08, 2023, 11:55:41 am
Hay una nueva versión del emulador talvez le das un vistazo  :)
Título: Re: Tutorial iOS (iPhone OS)
Publicado por: Gelon en Junio 30, 2024, 17:11:40 pm
(https://i.imgur.com/gfh4OnA.gif) (https://i.imgur.com/rcmqWvz.gif)
(https://i.imgur.com/PKlYCKH.gif)

Tenía esto bastante abandonado y, efectivamente, el soporte ha aumentado considerablemente gracias a un colaborador llamado ciciplusplus, que ha estado los últimos meses añadiendo soporte para juegos de Gameloft. Hikari parece haberse centrado en el núcleo del emulador, más que en la compatibilidad. Aún así ya tenemos numerosos clásicos del estudio francés y también GitHub Actions, que son binarios (ejecutables) que se auto-compilan en los servidores de GitHub con cada commit (cada conjunto de cambios que se sube al repositorio) que se envía. De modo que ya no es necesario esperar a una versión estable, sino que podremos probar cada novedad.

Todo esto lo pondré en el OP en un rato, pero por aquí dejo unos links relacionados:

Actions. Tendréis que estar logados en GitHub para descargar los binarios.
https://github.com/touchHLE/touchHLE/actions

Twitter de ciciplusplus. Donde va colgando las novedades en las que trabaja, actualmente dando soporte a Asphalt 5 e Iron Man 2.
https://x.com/ciciplusplus

iOSObscura. El repositorio de juegos iOS en Archive donde encontraréis el 90%+ de los juegos que soporta y soportará, a medio plazo, touchHLE.
https://archive.org/download/iOSObscura/
Título: Re: Tutorial iOS (iPhone OS)
Publicado por: RodrigoH17 en Junio 30, 2024, 17:29:28 pm
Muchas gracias Gelon por las novedades, se te extrañaba.
Título: Re: Tutorial iOS (iPhone OS)
Publicado por: Ayala en Julio 03, 2024, 15:45:50 pm
Sí señor, muchas gracias!
Título: Re: Tutorial iOS (iPhone OS)
Publicado por: earthgoodjim en Septiembre 11, 2024, 14:03:54 pm
no es por molestar pero por que se me crashean los juegos al iniciarlos, tiene algo que ver con mi sistema operativo?
Título: Re: Tutorial iOS (iPhone OS)
Publicado por: Gelon en Junio 17, 2025, 17:08:34 pm
He adecentado esto, que falta hacía.
Título: Re: Tutorial iOS (iPhone OS)
Publicado por: earthgoodjim en Junio 17, 2025, 20:25:03 pm
bueno esto es cuando aun estaba medio salame, ya lo había olvidado.