Inspiration
Our inspiration came from our shared passion for video games, especially Inscryption. We really liked the mechanics of Act 1, particularly the way cards, tribes, sigils, and sacrifices all work together. We wanted to take that idea a step further by connecting the game to the real world. Our main idea was: what if you could hold up any real-world object to a camera and turn it into a playable creature card? Instead of just putting a picture of the object onto a card, we wanted the system to interpret its appearance, texture, and material and transform it into an animal-inspired creature. The generated card would then receive its own attack, health, cost, tribe, artwork, and sigils. Our goal was to make every player's deck feel personal because the cards could come directly from objects around them.
What it does
We created an AI-powered card generation system that takes an image of a real-world object and converts it into a creature card inspired by Inscryption's Act 1 gameplay.
The process starts with a webcam. A Python program captures an image and sends it to a locally running vision-language model through Ollama. The model analyzes the object and identifies characteristics that can influence the generated creature.
From there, the system creates an animal-object fusion concept and uses FLUX.2 Klein 4B to generate original artwork for the creature. Rather than simply copying the photographed object, the goal is to make the object feel like it naturally became part of an animal or creature.
The program also generates gameplay properties such as: Attack, Health, Blood or bone cost, Tribe, and sigils
We created balancing rules inspired by Inscryption so the generated cards would still be playable instead of producing completely random statistics. Our design also supports generating multiple cards from one scan so the player can choose between different interpretations of the same object.
To connect everything to the actual game, we created a C# mod using BepInEx and InscryptionAPI. The C# side reads the card data produced by the Python generator and uses Inscryption's existing card system to turn the generated creature into an actual playable card.
How we built it
First we created the AI generation pipeline, written primarily in Python. It handles the webcam, object analysis, creature concept generation, artwork generation, and gameplay statistics.
The second part is the Inscryption mod, written in C#. We used BepInEx to load our code into the game and InscryptionAPI to interact with the game's card and gameplay systems.
This architecture allowed us to use Python for AI and computer-vision tasks while still taking advantage of Inscryption's existing systems instead of attempting to recreate the entire game ourselves.
Challenges we ran into
One of our biggest challenges was making the AI-generated creatures visually match Inscryption's distinctive style. Generative image models can easily produce artwork that looks too realistic or too different from the rest of the game, so getting consistent creature designs required experimenting with how we described the object and animal combination.
Balancing the generated cards was another challenge. If the AI could freely choose attack, health, costs, and abilities, it could easily create cards that were either useless or extremely overpowered. We therefore developed a stat-point system where stronger cards require greater summoning costs and where health, damage, and other characteristics consume a limited balance budget.
Another major challenge was connecting two very different systems. Our generator runs primarily in Python, while Inscryption and its modding tools use C#. Getting the generated JSON data, images, and card properties into the game required us to learn how BepInEx, Harmony patches, and InscryptionAPI work.
Accomplishments that we're proud of
One of our biggest challenges was making the AI-generated creatures visually match Inscryption's distinctive style. Generative image models can easily produce artwork that looks too realistic or too different from the rest of the game, so getting consistent creature designs required experimenting with how we described the object and animal combination.
Balancing the generated cards was another challenge. If the AI could freely choose attack, health, costs, and abilities, it could easily create cards that were either useless or extremely overpowered. We therefore developed a stat-point system where stronger cards require greater summoning costs and where health, damage, and other characteristics consume a limited balance budget.
Another major challenge was connecting two very different systems. Our generator runs primarily in Python, while Inscryption and its modding tools use C#. Getting the generated JSON data, images, and card properties into the game required us to learn how BepInEx, Harmony patches, and InscryptionAPI work.
What we learned
This project taught us a lot about combining different technologies into one system.
We learned how to work with local vision-language models, image-generation models, webcams, JSON data, and Python-based AI pipelines. At the same time, we learned how to create and debug a C# game mod using BepInEx and InscryptionAPI.
We also learned that generative AI in games is not only about generating something that looks interesting. The generated content also has to follow the game's rules. Creating a creature is relatively easy compared with creating a creature that looks appropriate, has reasonable statistics, fits into an existing tribe, uses valid abilities, and is actually fun to play.
Most importantly, we learned how generative AI can make a game react to the player's physical environment. Instead of every player drawing cards from the exact same predefined collection, the objects around them can become part of the game itself.
What's next for Inscryption AI Card Generator
Our next major goal is to complete the connection between card generation and gameplay.
We want players to encounter special nodes during the survival run where they can hold an object up to the camera, generate several possible creature cards, choose one, and immediately add it to their deck.
In the future, we would also like to expand the system with features inspired by Inscryption, including card merging, sacrifices, upgrades, trials, and other ways of modifying generated cards throughout a run.
Ultimately, our project explores how AI can make video-game content feel more personal by transforming objects from the player's own environment into meaningful parts of the game.
Log in or sign up for Devpost to join the conversation.