Inspiration

By utilizing the World Engine, we have more freedom to modify the client and plugins. This has the advantage of allowing users to modify and play Visual Novel according to their own preferences, which is why we created On-chain Visual Novel. We're also a team that's very familiar with subcultures :)

What it does

We focused on Argus Lab's gaming track. Created an on-chain Visual Novel using World Engine. Using the GPT-4 API, we were able to input sentences to give the impression of talking to an actual in-game NPC. Developed a multiplayer game set in a high school where players compete to be the first to bring the likeness of one of five NPCs to 100.

How we built it

  • Client: Using Next.js, we built a browser based client. For the npc response, we used the OpenAI API. To work as a visual novel game character, we precisely developed our prompt so it can respond in a kind of romantic way and also print out the 'likeness' based on the user's generated input.
  • Nakama: As our game is basically pvp onchain visual novel game, we use nakama for 1) authentication, 2) match making, 3) RPC calls.
  • Cardinal: We made our game as ECS model. So basically, player's name and likeness is represented as components and we made 1) creating new player, 2) updating likeness as systems.

Challenges we ran into

Tried to use several Visual Novel engines, including early Monogatari, but failed. Had trouble getting it to work with Nakama, so we built our own client.

Accomplishments that we're proud of

  • Understanding how ECS really works
  • Understanding how Client <-> Nakama, Nakama <-> Client really works
  • Building a visual novel game which we like and really wanted to make for fun!

What we learned

The best moment was when the API was connected to our homemade Nakama. Learning how to manage game components through the World Engine's ECS model.

What's next for Onchain Visual Novel

Seemed like it would be possible to manipulate prompts to personalize NPCs, game styles, etc. Expect to see art concepts that come to life, such as dynamic waifu.

Built With

  • gen-ai
  • go
  • llm
  • next.js
  • world-engine
Share this project:

Updates