FarawayVision

LD 41

Hello, World!

This is my first time doing Ludum Dare ever.

And... ...I did it.

Not all of it, for sure. I ran out of time at the end, and haven't tested like half of it. I'm not sure whether I wrote a game, or really just a GIANT BUG.

But it's out there. It's released. Somehow.

Somehow.

Holy crap.

I still can't get over it...

Oh, and if you really want to see what I made, you can find it here: https://ldjam.com/events/ludum-dare/41/$79820

Come Check Out "Split-Minded"!

Come play and rate it!

This game fuses a top-down shooter and a dating sim. Essentially, you play as a voice within the head of a typical VN main character.

To sum it up in terms of more well-known things: Doki Doki Literature Club + Hotline Miami + Inside Out (or Everyone Is John)

ScreenshotCollection.png

Unfortunately, as a voice within Kei (the main character)'s head, you're not alone, and even worse the other voices are willing to use force to take control of our poor MC.

But maybe, if you can keep control, you can help the main character find love...

...or you can just let the others take control and see what hilarious and/or horrifying antics they get up to while in control.

"Split-Minded": A Timelapse and a Post-Mortem

First off: if you haven't played Split-Minded, yet, could you please do so and leave a rating (and maybe even a comment too)? Thanks!

Second of all, you can view the development timelapse I made for my game here: https://www.youtube.com/watch?v=nJnVOql9JEw

...Wow. Looking back, I worked on the game for almost 45 hours out of 72. (Of course, 10-ish of the remaining 27 hours were taken up by school on Monday, so...)

Now, to sum up what I thought of my own game:

The Good

I'm really proud of the work I did with writing the characters, I think. I really wanted to give each and every one of them their own unique flavor and personality, and I think I managed to make that really shine through in the visual novel parts.

I'm also proud of the writing for the first few segments of the game (up until the second day of the game). These are the first few parts of the game that I wrote, when I thought I still had lots of time left, so naturally I took my time and made sure they were good. And then I started running out of time and rushing the last few segments of the game.

I'm also pretty in love with the character designs for Hitomi and Nanami, though that one's not really me; thank the character generator I used.

The Bad

In general, he top-down shooter half of the game definitely needed more work to be done. Unfortunately, it seemed like I had to work around Ren'Py nearly as much as I worked with it, severely hampering my development pace with the top-down shooter mode.

Here's a few of the biggest problems I faced:

Saving and Loading the Game State with Ren'Py

So Ren'Py has its own built-in saving and loading system. It automatically saves and loads all of the game state that a normal visual novel would need to save: simple boolean flags, counters, etc.

Unfortunately, this game is most decidedly not a normal visual novel, and the objects we need to save and load are almost all complex (and possibly nested) objects-- which makes saving and loading their complete state nearly impossible to do, particularly because Ren'Py exposes only an on-load hook, and not an on-save hook.

Of course, since the player probably won't save during a fight, this is much less of a problem than it seems. But we need to save some state in order to fully support rollback (because certain lines in the script go with movements of the top-down shooter sprites-- for example, most of the lines in the intro).

Collision Detection

Pygame comes with its own methods for collision detection with Sprite objects. Unfortunately, the version of pygame that comes with RenPy isn't actually pygame, but rather pygame_sdl2, which is a stripped down version of regular pygame.

And, unfortunately, one of the many features that was cut from regular pygame was Mask-based collision detection-- and since I didn't have the time to write a completely new collision detection system from scratch, I had to fallback on using Rect-based collision, which is strictly axis-aligned.

This would have been great if all of my sprites were axis-aligned, but they're not, and so using Rects for collision introduced a whole bunch of weird bugs and glitches involving broken / odd collision handling. I tried to mitigate the effects of this as much as possible-- but I could only do so much.

Fortunately, for the 2.0, Post-LD version of the game, I've already written a completely new and fully-compatible (and tested!) collision handler that already seems to work much better than pure Rects.

The ~~Ugly~~ Time-Crunched

There was a lot of stuff I didn't get to fully develop in time for the Jam deadline. Most of this stuff is already on the to-do list for the post-LD version of the game, so if you stick around and follow the game on itch.io you'll be in for a lot of treats:

Festival Events for Hitomi and Nanami

You have no idea how disappointed I was in myself for not giving our two main girls normal, happy endings. But Ludum Dare is Ludum Dare, and the rules are the rules, so all they were left with was a quick little immersion-breaking apology note from yours truly. I kind of owe it to Hitomi and Nanami to give them a true, happy, fluffy, and romantic ending, I think.

Epilogues / Extended Routes

Honestly, I now think that, in the final version of the game, the routes would be much longer and involve more choices. So I'd like to go and simply add even more, brand-new story to the game.

Reworked "Calm One" Events

I basically wrote all of the post-victory events for "The Calm One" in 15-20 minutes using a lot of Ctrl-C'ing and Ctrl-V'ing, and they're definitely not as long or fleshed-out as they deserve to be.

Reworked Endings

The same thing happened to the endings for each voice: I ended up writing them all in the last 30 minutes of the Jam using a lot of copy-and-paste, and one of my goals for Post-LD is to fully flesh them out and rework them with new sprites and backgrounds-- and maybe even custom CGs. The whole nine yards, yeah?

Additional Diversion Events for Survivor / Artist / Pyromaniac

Did you know that each Voice was actually supposed to have seven total victory events in their "routes"? Of course, as the time crunch started to get worse I quickly scrapped that in favor of four events per Voice. But now that I have more time, I want to get to fully developing them.

Custom Weapons for Artist / Survivor / Pyromaniac (+ a Side-Weapon for the Player)

My original vision for the game involved each Voice getting their own, personalized weapons for the top-down shooter part of the game: for example, the Pyromaniac would get a flamethrower, the Survivor a bolt-action rifle, etc. But I just didn't have the time to make them or test them out.

In General

In general, I'm amazed I managed to finish as much of the game as I did. I realize now that my game had a massive scope-- quite possibly too large for me to handle in the <72 hours I had. But it kind of seems like a massive scope simply comes with the territory of making a VN. It just wouldn't do to have only half of a story, you know?

Looking at all the other games out there-- they seem much more focused. They do a lot less things-- but they do them well.

In the end, though?

This has been one of the most engaging and exciting experiences I've had in a while! I definitely had fun doing this, and I learned so much while I was jamming as well.

I'm almost positive I'm coming back in August-- though I guess that depends on how well my first month of college goes.