PAN★TZU - a pixelart style Visual Novel


Prototype vid:

The plot:
A shy, introverted girl, with a dream to one day become a game developer starts her first year of high school. There, she sets out to build a team and form a game development club.

At it’s core this is a visual novel. But sprinkled in, there are various minigames that take the place of the “choices” seen in normal visual novels.

Art style:
Pixel art

I’m so far handling audio with FL Studio, but since I’m not much a composer (yet) there’s not much to about it, other then I’m trying to aim for something cheery and happy.

The game was inspired by the original Metroid on NES, when I started playing with the idea: “what if Metroid was set in an anime high school,” one day. Then it was one (stupid) idea after another and the game started to come together. And now after further design and redesign it has turned into a visual novel. This might not be even it’s final form.

About me (I know people usually start with this, but I think the actual game info is more important):
I’m a uni student with a dream of developing ever since since preschool. Currently I’m studying for my Master’s and I’m thinking I finally need to provide some results before I graduate…
I like games (probably quite self-evident), my favorites being JRPGs, among which my favorite series is probably Hyperdimension Neptunia.
I also like anime (also probably quite self-evident), my favorites being shows like Lucky Star and Gintama.
And based on those I’m aiming for something fun, yet genuine. Something that has heart and doesn’t try too much… but we’ll see where this goes.

PS. As for the name, you can think of it like “pan” = bread /all, and “Tzu” as in Sun Tzu… that’s where I got the inspiration for it at least.

UPDATE #1 (post-prototype):

I fixed some small problems I found in the prototype and I also improved the BGM system so that it’s easier to control between levels.
Then I added a level transition function to the door to be able to move between levels. I still need to improve it, in order to spawn the player in front of the door where they came from and not just on the “beginning” of the level.

I also started making a high level design of the map, it’s not finished and it doesn’t have any detail but it does serve well as a kind of a guide post on where to go and what to do next go next.
The colors are mostly for me to keep track of my progress with red = what I’ve already done, and yellow = what I’m doing now.

I already started working on the tileset for the next area and the goal for next week would be to at least get the background done for the yellow colored part of the area.


Finished the background for the first part of the yard area, and also largely decided on the platform/speech bubble locations (though they are subject to fine tuning as I add the bg characters and the texts). Ended up spending quite a lot of time pondering how I should do the layering with, for example, the trees… but ended up making them their own tilemaps, which actually makes things a bit more manageable.
And while I said the reason for making simple art is to not focus on it too much, I still think I spent a little too much time on making the flower-tiles, and I also arrived in the conclusion that I’ll most likely end up upgrading the graphics for the final product, but I’ll save that for when I get everything else done.

I also spent time thinking up new obstacles/enemies (whichever you want to call them), and ended up coming with a few pretty interesting ones, one I already managed to implement, another I’m still working on (ended up being a lot trickier than I imagined) and for the third I’m still trying to come up with the best implementation for to set it apart from the other two.
I’ve been thinking up different methods for the room spawning as well, but so far the ones I’ve come up with seem a bit more complicated then I’d hope them to be, so I’ll keep my thinking hat on for a while longer (might be that I’m doing something else inefficiently which makes this that much more complicated)

Anyway, for next week I’ll focus on making sprites for the obstacles and the bg characters as well as finishing the coding part of the obstacles I have at hand (with them of course being the priority).


This week went by faster then I thought and I got less done than I had hoped, but any progress is still progress, so…

First of all, the obstacles/enemies: the one I had problems with, turned even trickier as I wanted a pretty specific function for it and couldn’t really get it working right (even ended up breaking it a couple times completely). After quite a lot of trial and error I finally managed to get it working almost as I want it to (tho it still has some small problems so it doesn’t work exactly as I want it to). Hopefully I get it fixed by the time I make the next video on finishing the new area

Secondly, I did manage to get quite a few new BG characters ready, adding some references to the mix (because they are so pixely, they are probably easier to get away with, tho I might have to make them still a bit more harder to recognize in the end)

But now that I’m staying at my hometown with my family through the holidays I probably won’t get much done. So I’m not going to give myself any new goals for the next two weeks, other than finishing this week’s goals.


The past two weeks were pretty slow, as far as project progress is concerned. But I did get most of the characters done as well as fixing the “enemies”:

Now, seeing the size and placement of the characters I think I might need to make roads a bit narrower… but I’ll leave all the fiddling till after I get the texts placed in the bubbles, so that I’ll get the final size of the bubbles. I’ll take placing the text as my goal for next week, as well as fiddling with the map as necessary, so I’d be able to start working on the next part of the map after that. Though I might also take the week to work on a BGM track for the yard area (I’m not that good at composing so)…

Looks very promising!

UPDATE #5: And then there were mistakes

This week I fell into one of my own traps. About a month ago as I was planning position and approximate size of the boxes, I naturally did it by thinking what I was going to put into them, as one should do. But what I did not take into consideration was my own memory capacity divided by time, and of course I did not even think about write anything down back then… so I’ve kind of managed to forget most of the text I was planning to put into the boxes and I’ve had nothing more to go on then the faint idea of what each text might’ve been related to.
(I definitely won’t let this repeat)
And I’ve also been slacking a bit this week. (This is a lot harder to avoid)

I only managed to fill a few of the boxes this week, so it looks like I’ll use the next on filling the rest of them, which pushes my BGM till the week after that (hopefully).


This week everything went as planned (opposed to last week) and I managed to get everything done I had planned to do: finished filling the boxes with text and finished tuning the map for the better, so it’s basically a 2.0 version of the previous one. And it certainly became a bit more interesting and harder to navigate as well as a tad more tightly packed.

The upper left path is empty for a reason, I’ll fill it once I get to it eventually.

I also started a Twitter account to hopefully spread my name and my game… but it’s still a semi-personal account, so most of the tweets are just mostly random stuff about whatever happens to catch my eye. I’m new to social media outlets so I’m starting slow and trying to get a feel for it.

Anyway, next week I’m going to focus on making some BGMs to go with the game, and possibly also update the AFX sounds (walking, jumping, etc). Might take some time to come up with any decent BGMs (maybe best to spent two weeks on this), but I got time and time’s well used for practicing.

I also better start thinking about the next part of the yard area, expanding to the right…


So this week feels like I’ve done a LOT of work, yet gotten nothing done… I mean…
I’ve been working some suitable BGMs, but nothing seem to feel right, either it’s too fast or too slow, in the wrong key, too simple, too complex, not enough breaks, or the breaks are too long… sigh

I feel like I’ve made a hundred loops and patterns (probably not too far off), and yet I feel I’ve got nothing because nothing fits my game… but as is with any form of art: “every failed piece you make is a piece closer to a good piece”, so maybe I’ll eventually get the tunes that I want… and of course “failed” in this case doesn’t mean “bad”, but “unfitting”

But on the positive side, I played around with effects and different songs (including classical pieces and music from old games), during which I discovered what polka sounds like 8-bit, and that certain classical pieces made 8-bit sound exactly like something you’d hear in a NES and SNES games (though none of them fit my game). And probably my happiest discovery was that piano and 8-bit sounds go pretty well together, so I’m going to keep experimenting more next week. Maybe I’ll get something to show for it in the end as well…

UPDATE #8: Saved by the bass

Good things happened this week! A couple days ago I was getting extremely frustrated from not getting any passable music done, and then I found the riff machine in FL Studio, but it didn’t really work either. Everything I got from it turned into either horror, scifi thriller or action loop, which are not really fit for my game. But then, from the midst of the dark, cold night of frustration and desperation a small glimmer of hope lit the streets, a bass loop:

This small loop awakened in me, hope that I could still manage to do the BGMs myself… And that lead to the creation of 4 other loops that are exactly what I’ve been looking for. Eventually I’ll extend them from 10 second loops to actual “songs”, but that’s still in the future. I also changed a few of the audio effects to better fit the style of the game.
Next week I’ll start expanding the map to the left direction and maybe try improving the code on the doors and the crouching.


This week I was quite busy with school work so I didn’t get quite as much time to work on the game… but I did get the background all done, even if I wasn’t quite able to fill it with platforms:

I ended up expanding both right and downward… I still need to tune the some of the trees a little bit so they don’t block as much of the view, while still looking like trees. I’ll be placing more platforms during the next couple weeks, las they are easy to add after I come up with the words to put inside them.
Next week I’ll focus on coding some new features to add some character to the protagonist, as well as implementing a new trap idea I came up with last last week.


This week, I said and I did! I managed to code some new features and I also managed fix some older problems as well as finally getting the doors working (thou my solution probably isn’t the best solution, but it works for now). The most prominent feature that I added was emotional feedback from the character upon receiving damage:

So far I have a few different emotions set, and I’ll expand from there as I get further into the game… but next week, I’ll focus on creating new characters to go with the new speech bubbles.

I also noticed that I’m starting to set in a week cycle of environment design -> coding -> character design -> writing -> music, I wonder how it’ll change as the project keeps evolving.


This week was quite straightforward with me designing some new background characters:

It’s starting to become quite difficult coming up with new hairstyles for the characters, I wonder how many I’ll be able to do before I start needing more pixels to make them more unique… personally I think around 60 BG characters would be good (along with some reference characters), after that I can start reusing the characters and focus more on their own stories. At the moment I have exactly 50 (if I count in the MC).

Next week I’ll be focusing on putting the text in the speech bubbles and placing the new characters in the map.


So this week was a pretty busy one and next week will be even busier, but I still had time to add the text as well as find a better way to make the text than adding each letter one by one (and not using the textRenderer). My new method, if nothing else, is A LOT better performance-wise, or that’s what I believe at least (this time I’m making the entire text as one sprite).

I’ll have to, little by little, make all my previous texts with my new method as well, but I’ll take my time on that.

Anyway, next week I’m planning on improving my BGMs, but it’ll be a busy week so I’m not sure how much I actually get done (probably have to sprint through the weekend).


This week has been really mentally exhausting due to a landslide of school assignments from essays to presentations to keeping up a booth at a fair, so I spent most of my weekend just trying to recover… by just throwing away all my responsibilities and lazying around and gaming all weekend.

I did manage to lengthen both of my BGMs a bit, so that is some progress.
But since the BGM tracks aren’t on the top of my current priority list, next week I’ll be expanding the yard area some more. And in the case I feel really productive, I’ll also upgrade some of my previous texts so that I’ll get those nice triangle savings.


So this past week I’ve been suffering from a bad case of procrastination in all fields of my life, especially in schoolwork, and I’ve also caught the much feared feature creep concerning this project. But I did manage to expand the area some more:

I also did these expansions a bit differently than before, this time making it in two tilemaps all their own rather than just expanding the first one, like I’ve previously done. Someone more in the know about optimization and what not can probably tell me whether this is a good or bad way of doing it… But as far as one level goes I’m probably better off moving from this to new levels, as this is quite big already.
And with that my goal for next week would be fixing the camera so that it wouldn’t go past the borders of the visible map, like how most games do it (ex. Metroid and Super Mario Bros).

Also, however, like I mentioned the creeping feature creep, I usually also get this big unmotivated streak at around this time in my projects. The very reason why none of my previous projects have ever made it past the half year mark. But I’m hoping to beat it this time using this devblog as my weapon. I also started a “procrastination project” which I’ll use to to direct my procrastination into something constructive. Hopefully, there’ll also be some leftover motivation to keep my head in this game as well, even if it’s just a for little progress each week, I’d be content.
As they say: “slow and steady wins the race!”


So this week was a bit odd… last week I mentioned the feature creep, and due to them I ended up reading a lot of The Art of Game Design by Jesse Schell, going through the lenses I tried kill the pesky feature creeps by cementing my original idea of what it is supposed to be. An interesting thing happened, however, the more I kept going true the lenses the more my original idea started to feel off somehow. It was kind of like staring into a cracked mirror, the more closely you watch it, the more you see the cracks. Which kind of led me to do some redesigning from restating my “problem” to clarifying my theme which led me into another, quite interesting, direction. I’m not yet sure if I’ll go with this idea or not, but maybe it would be fine to chase the rabbit a little further into the whole.

So the new idea, simply explained (or at least trying to explain):
A visual novel, where instead of making choices you play short levels with varying gameplay mechanics.
The story is about a shy introvert to whom communicating with other people is insanely difficult (I know this from experience), but it is her dream to be a game developer and with that she kind of gets dragged into forming a gamedev club at school (still talking about anime schools). The minilevels/games are kind of like an internal monologue in her head as she tries to communicate and get her thoughts in order as well as deal with certain emotions.

This is basically how I imagined the set up and gameplay going. Again, I don’t know if I’ll stick to this or even how far I want to go with this, but at least for now I want to explore it a little further. It’s still to be the same PAN★TZU I’ve been making just a bit different this time (with a little more inspiration from the recent anime Eizouken ni wa Te wo Dasu na!). It’s kind of furthering the stupid idea factor I’ve baseed this game on thus far, so taking it into this direction wouldn’t be that far out there.

So, what’s for next week… I really honestly don’t know, maybe prototyping this new idea or writing some story and dialogue to see if I actually could even make a visual novel in the first place. But yeah, possible revisions and a new direction (somehow this feels all too familiar to me… better not dwell on it).

I like this new idea. It’s very original, very personalized and it’s something that I don’t think has been done too often. I’m sure many of us can relate to having conversations work like trying to overcome a bunch of obstacles. That rush you get for being successful at communicating something in my opinion is hardly different than completing a difficult platforming challenge.

It’s also perfectly alright if you feel the need to do major revisions and take a new approach. I’m no stranger to that sort of thing myself. When it comes to prototyping, I might suggest just making all your level ideas first while the actual dialogue would come later. At least for me that approach has worked. Even as one of my own projects is roughly 90 - 95% complete (the game only needs BSP to static mesh conversions and further QA testing), I still find myself changing around the story and dialogue to shape any new details or developments that may have come up.

Thanks for the positive feedback!

I’ve already written a bit of story for a 1st chapter/demo scene. The main point of it has been to just get some text to get the mechanics of text surfing to gameplay to text surfing working properly. I also have a couple level ideas that actually came up during the writing (because the levels seem to work better if they reflect the story situations, who knew).

I’ve yet to actually start working on the implementation due to all the redesign work, but I’ll start working on a prototype scene this weekend. I spent some good time today searching up some guides, tips and tutorials on splitscreen/screen framing methods to get me started on how to do it as I have imagined it (OpenLevel doesn’t really work they way I would need it to in this).


So after doing some writing and designing a bit further, I’ve decided to now stick with this new direction, i.e. visual novel with minigames.
So first of all, the writing. In the past couple days I’ve managed to write about 2000 words of story, which translates to about 12 minutes of game time, but it’s still a start… even if the story itself feels like it’s barely warmed up. So I’ll have much more writing to do, and I’m sure that’s where I’ll spend most of my time during this. Writing can also feel quite relaxing, so I’ll probably spend most of my evenings writing a little something, even if I might end up changing it later on as the story progresses.
As for the actual game… that’s where I’ve already managed to run into trouble, though currently I’m feeling quite triumphant. I’m not quite finished with my prototype yet, but I have a battle plan and the pieces are together nicely.

Firstly, after my idea of shrinking and framing the main view turned out to be a lot harder than anticipated, due to there being no one on the internet who knew how something like that could be done, instead referring to render targets, which I read on about and manged to get a working solution:

(on the left is the render target material plastered on a plane and on the right is the actual level with a scene capture camera)
Currently I’m thinking about using this with level streaming to load and unload the minigames and switching the visibility of the “TV-plane” as needed. If anyone has a better solution, I’m all ears.

Secondly, the actual visual novel part. Originally I had planned to cook up something myself, but after some dry planning I figured I could check if anyone else had tried it. Surely enough, I ran into some good tutorials on how to make visual novel templates and what not. Then I realized that last fall, I had downloaded Groggeroo’s Blueprint Dialogue system when it was free at the marketplace. Seeing this as the chance to finally get some use out of it, I started playing with it… and oh boy… it took me so long, way longer then I think it should’ve to get it working the way I needed. It’s definitely not designed with visual novels in mind (or maybe I missed something). But results are results and I got mine:

I know it looks plain, but that’s because only the actual dialogue works the way I want it… the rest of the things I haven’t touched yet. But I figure I can probably do most of it through that system and datatables… I’m also thinking I might need (at least) two Widget BPs, one for the front with text and stuff the other for the backgrounds and sprites. I’ve yet to figure that out, but all in good time.

And if anyone knowledgeable has any good advice or tips or tricks to make my plan better, please, I’m all ears.

As for next weeks agenda, I foresee myself twiddling with these, trying to get a prototype ready…