Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

SchoolSim

A topic by bvgame created Jun 27, 2025 Views: 422 Replies: 6
Viewing posts 1 to 7
(+1)

Hi friends!
This is probably my first real attempt at writing a post here 😅

I’d love to share a bit about my project. I’m building a 2.5D school simulator in Unity.
And yes — when I started 1.5 years ago, I had zero programming experience. I didn’t even know what a loop or syntax was. But I had GPT a clear vision and was ready to learn everything from scratch. But It is really 1000 times harder and bigger then I first estimated hahaha.

Now, after months of trial and error, late-night debugging, and lots of coffee, the game is slowly taking shape. It’s still early, but I’ve already built a solid foundation and started working on actual gameplay features.

I'll be posting devlogs regularly — not just about features, but also about architecture, design choices, and all the funny (and painful) lessons learned along the way. For now it seems I will be posting content on my page here.
Honestly, I’m still figuring out Reddit, marketing, and how to present things nicely — but that’ll come with time.

Thanks for reading!
I hope some of you will find my journey inspiring or at least interesting to follow. 😊

(+1)

I stay tuned!

(+1)

I'm liking the look of this! now after school, kids can school more!

Update 1 Basic AI system

Hey everyone!
Over the past two weeks, I’ve been deep into developing the NPC AI. I experimented with different approaches to task stacks, current task selection, queue systems, task execution, and more.

As a result, I’ve built a custom AI framework. I’ll share more technical details later on my main devlog page when I get to the NPC module.
For now, here’s what’s been implemented so far:

  1. Added an "Idle" animation state

  2. Implemented a basic GoTo task on the engine side (more on that soon — I’m gradually building a lightweight framework with core features over Unity and called this "Engine" haha)

  3. NPCs can now move based on tasks, not hardcoded behavior

  4. Added logic for animation switching (Idle ↔ Walk)

  5. NPC behavior plans and tasks can now be configured directly in the Unity inspector

  6. Added an idle strategy — wandering. NPCs now walk to a random reachable point within a 10-tile radius

* this guy in the middle does not moving because his next random target position is equal to his current standing position, so pathfinding algorythm returns zero path and GoTo task can not being completed. I just does not fix this corner case yet

(+1)

Update 2 How NPCs Make Acquaintances

Hi everyone, dear friends and future players!

I'm still hard at work on the NPC behavior system, and today I’d like to share a little peek into one of the foundational mechanics — how characters get to know each other.

This is part of the social simulation layer I’m building for the game. Even though it may look simple on the surface, it lays the groundwork for more advanced features later (friendships, rivalries, gossip, group dynamics, etc.).

Here’s how the current acquaintance mechanic works:

  1. 🧍‍♂️🧍‍♀️ NPCs don’t know each other by default
    When a new character spawns into the game world, they have no knowledge of others around them. They're essentially alone in their internal "social map."

  2. 👀 They notice nearby characters
    When two NPCs come close enough, they "notice" each other. This isn’t a friendship or meaningful relationship yet — just a basic recognition, like when you walk into a room and subconsciously register that someone else is there. They now know the other exists.

  3. 🔗 These social links persist
    Once characters have seen each other at least once, they always remember that the other exists (as long as both still exist in the world). This forms the foundation for long-term relationships.

  4. 🧠 It’s all visualized in-game
    For development purposes, I’ve visualized these acquaintance connections using simple lines between characters.

Thanks for reading , your feedback is welcome! 💬


Update 3. Dynamic target following

Hello dear friends and future players!
It’s been a while since the last update — I was knocked out by a heavy fever and had to take a two-week break from the project. But I’m back on track ✌️

Lately, I’ve been working on the dialogue system — and more broadly, on how characters interact with each other. This turned out to be one of the toughest challenges so far, so I had to break it down into smaller, atomic tasks. One of them is dynamic following of a moving target.

Here’s what I’ve got working so far:

  • Characters now react differently depending on distance: if the target is close, they can move almost instantly, but if it’s far away, their path is calculated in a batch with others.

  • They can interrupt what they’re doing if their target suddenly moves.

  • Movement tick systems overhaul. Previously, visuals lagged behind the logical model by about one second (roughly one or even two cells). This caused weird visual behaviors, especially in dynamic target following. I’ve rebuilt the tick systems so visuals now stay in sync with the logic.

I don’t have a YouTube channel yet, so for now I’m attaching an Gif preview. 


You may notice the character slightly stutters when switching routes — that’s because the target update happens with a small delay of 5 ticks (~0.5s). This is a trade-off I made for architectural consistency: every update goes through tick systems, and the action pipeline itself takes 3 ticks to process via the state machine. At some point, I’ll probably add smoother interpolation for this case, but for now I’m focusing on more valuable features.

I’ll try to share some results on the dialogue mechanics in about two weeks. Stay tuned!

(1 edit)

Update 4 Talking

Hello everyone! 👋

I finally managed to put together an MVP for the dialogue system — and it turned out to be way more challenging than I originally expected. The feature is still a bit rough around the edges and will need some polishing, but the foundation is in place and I can now build on top of it.

Here’s what I have so far:

  1. A new mechanic has been added to the agents: talking.

  2. NPCs can only talk to agents they are already familiar with (I wrote earlier about the “acquaintance” system).

  3. When an NPC wants to talk to someone, they walk up to that character (sometimes they both decide to talk to each other at the same time 😅).

  4. Once in the dialogue zone, the NPC sends a proposal to start a conversation — the other NPC can either accept or reject it.

  5. If the proposal is accepted, the two NPCs start exchanging phrases. Above their heads, speech bubbles appear with icons that represent the type of phrase being spoken.

  6. These icons are only visible when the camera is zoomed in close enough, and they disappear once the player zooms out.