gitwtfhub

wtf is ultima4-ios?

dmaynard51/ultima4-ios — explained in plain English

Analysis updated 2026-05-18

8C++Audience · generalComplexity · 3/5Setup · moderate

TL;DR

An iOS port of the classic game Ultima IV that lets you play it on an iPhone or iPad with touch controls, built on the zu4 engine.

Mindmap

mindmap
  root((ultima4-ios))
    What it does
      iOS port of Ultima IV
      Touch controls
      Free game data download
    Tech stack
      C++
      SDL2
      Xcode
    Use cases
      Play on iPhone or iPad
      Simulator testing
      Device installation
    Audience
      Retro game fans
      iOS hobbyist developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Play Ultima IV natively on an iPhone or iPad using touch controls instead of a keyboard.

REASON 2

Build and run the game in the iOS Simulator without needing an Apple Developer account.

REASON 3

Install the game directly on a personal iOS device using a free Apple ID and Team ID.

REASON 4

Explore how a classic SDL2-based game engine was adapted for a touch-based mobile platform.

What's in the stack?

C++SDL2XcodeCMake

How it stacks up

dmaynard51/ultima4-ioslibretro/thepowdertoyteam-resurgent/flycast-x
Stars888
LanguageC++C++C++
Last pushed2026-07-132026-07-02
MaintenanceActiveActive
Setup difficultymoderatemoderatehard
Complexity3/53/54/5
Audiencegeneralgeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires a Mac with Xcode and cmake, plus a free Apple ID to install on a physical device.

No license information is provided in the README.

Wtf does this do

This project is an iOS port of Ultima IV: Quest of the Avatar, an old role playing game, letting you play it natively on an iPhone or iPad with touch controls. It is built on top of zu4, which is itself a cleaned up fork of an earlier project called xu4 that reimplemented the original game's engine using the SDL2 library. Ultima IV was released for free by its original publisher, so the build process downloads the game's data files for you rather than including them in the repository. To install it you need a Mac with Xcode and the cmake build tool installed. There are two install paths. Running a script builds and launches the game in the iOS Simulator without needing an Apple account at all. Running a different script with your Apple Developer Team ID builds, signs, installs, and launches the game directly on a real iPhone or iPad, though you have to manually trust the app once in the phone's settings on first run, and the game is meant to be played in landscape orientation. A separate document in the repository explains the touch controls. The author describes this iOS port as a free, open source project made in their spare time, and includes optional links to support the work through Ko-fi or GitHub Sponsors, while making clear no payment is required to use it. The README also includes the original readme from the upstream zu4 desktop project underneath, which describes it as a cleanup of the older xu4 codebase, warns that the codebase may be broken in various ways, states the author is not currently seeking code contributions, and lists project goals such as simplifying the codebase and removing external dependencies from the core engine. No license is stated in the README.

Yoink these prompts

Prompt 1
Walk me through running ios/build-ios-sim.sh to try this game in the iOS Simulator.
Prompt 2
Help me find my Apple Developer Team ID so I can install this on my own iPhone.
Prompt 3
Explain what the ios/CONTROLS.md document says about the touch controls.
Prompt 4
Show me what dependencies I need on my Mac before building this project.

Frequently asked questions

wtf is ultima4-ios?

An iOS port of the classic game Ultima IV that lets you play it on an iPhone or iPad with touch controls, built on the zu4 engine.

What language is ultima4-ios written in?

Mainly C++. The stack also includes C++, SDL2, Xcode.

What license does ultima4-ios use?

No license information is provided in the README.

How hard is ultima4-ios to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is ultima4-ios for?

Mainly general.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.