the sartrean knight

publicado

Categories iOS
Stack SwiftUI, Combine

overview

The Sartrean Knight é uma curta história interativa que mistura fantasia medieval com filosofia existencialista. Inspirado nas obras de Jean-Paul Sartre, o jogo convida você a navegar por uma jornada reflexiva sobre significado, liberdade e as consequências de suas escolhas.

Você joga como um cavaleiro cansado diante de um guardião misterioso. Através de diálogos e memórias, você determinará seu próprio caminho e conclusão, com múltiplos finais únicos e suporte completo para português e inglês.

Eu desenvolvi o The Sartrean Knight em uma semana, durante a fase inicial da minha experiência na Apple Developer Academy. O projeto foi uma oportunidade de explorar narrativa interativa e design de escolhas significativas.

Pude aprender bastante sobre o uso de JSON para construir a estrutura narrativa de um jogo, além de aprimorar minhas habilidades em SwiftUI e Combine. Foi também uma forma rudimentar de implementar a localização para um aplicativo, que abriu caminho para aprender posteriormente sobre o uso de catálogos de strings.

tech stack

SwiftUI
framework de UI
Combine
estado reativo

code snippets

Para garantir transições instantâneas entre as cenas, mapeio o JSON da história em um dicionário logo no início. Isso troca buscas lineares lentas por lookups O(1), mantendo o jogo fluido mesmo com um roteiro longo.

private func loadStory() {
    guard let url = Bundle.main.url(forResource: "story", withExtension: "json"),
          let data = try? Data(contentsOf: url) else { return }
    do {
        let decoded = try JSONDecoder().decode(StoryData.self, from: data)
        for page in decoded.screens {
            pages[page.id] = page
        }
        orderedPages = decoded.screens
        currentPageID = decoded.screens.first?.id
    } catch {
        print("Failed to decode story.json: \(error)")
    }
}

design choices

palette

névoa #F1F1F1
tinta #000000
papel #FFFFFF

typography

MedievalSharp / antiguidade e autenticidade
Zebras jogam xadrez com o velho faquir
Jacquard 24 / toque decorativo gótico
Zebras jogam xadrez com o velho faquir

rationale

O design do The Sartrean Knight foi inspirado na estética dos manuscritos medievais, refletindo o tema filosófico e histórico da narrativa. A escolha das fontes MedievalSharp e Jacquard 24 visa evocar a sensação de antiguidade e autenticidade, enquanto a paleta de cores suaves e texturas de papel antigo complementam a atmosfera contemplativa do jogo.

A cada etapa da narrativa, incluí uma imagem para oferecer contexto visual e aprofundar a imersão no cenário medieval. Essas imagens foram criadas para refletir os temas e emoções de cada parte da história, reforçando a conexão entre o jogador e o enredo. A moldura das imagens lembra ilustrações de livros antigos. Embora as imagens não sigam um estilo único, elas têm uma tendência gótica que captura os personagens e o cenário.

credits

people

design · development
pedro wiezel

fonts

MedievalSharp
Wojciech Kalinowski
Jacquard 24
Sarah Cadigan-Fried

assets

textures
@joou e @samueladekunle (Comunidade Figma)
backgrounds