The First Steps

==== THIS POST CONTAINS SPOILERS. IF YOU HAVEN'T PLAYED THE DEMO PLEASE DON'T READ ANY FURTHER ====
Hi.
If you're still here that means you got to the end of demo unscathed. Congrats, Agent!
I wanted to document the creative process of this game, in case anyone out there is interested in making this sort of game and has no idea where to start (that was me a month ago, hi).
First things first: Technology. For this project I used visual novel game engine Ren'Py. It's reasonably easy to learn, it uses python for coding and it's own scripting language for visual novel related things like Characters and Scenes.
So, I had my game engine picked out. I based myself on the It Lives Project and the way they made their fan game for this and it helped a lot. They had a link for the assets they used and I actually downloaded some of them, even if they aren't being used as of now. I did find out how to get the other Choices assets. You can find them in this lovely database, in case you're wondering.
And that's when I ran into my first challenge. You see, the sprites come disassembled, meaning I had to manually make the character images one by one. That was until I figured out a better way to do it, but I'll leave it for a future GIMP post (with steps, probably. I swear the sprites have psychologically destroyed me. Props to all the artists out there, I've gained a new respect for you craft and skills).
What I want to talk about here is the process of finding the right images for each character. You haven't seen them yet, only Logan, but I have drafts of what the rest of the Ride or Die crew look like as adults 10 years from the end of the book.
Logan was relatively easy to assemble. I did it at the start of the project and I used the images from the It Lives Within character creator, so those didn't need a lot of tweaks. Only problem was they had heterochromia (different colored eyes) and I had to figure out how to sort that (sidenote, why does Logan not have brown eyes on all sprites? Jesus, it would have been so much easier). Anyway, I took the young Logan images and assembled them as well so I could do a neat flashback somewhere in the beginning of Chapter 1.
After Logan I decided I wanted Ingrid (if you don't remember her, she's the school rival from RoD) to be a love interest as well. They've buried the hatchet, they're friends, they still bicker and try to outdo each other - seemed like a fun idea. Does she look anything like younger Ingrid? Well, no. I couldn't find anything remotedly similar to whatever hellhole younger Ingrid crawled out of. So I said "screw it" and make a custom hairstyle - it's a mashup between 2 hairstyles. I don't remember where I got the second one from but the top half of her hair is from Kit Jackson (Untameable). Funny enough, I also ended up using one of Kit's faces for her after trying a bunch of different ones.
Now, you might notice that in The Phantom Agent, characters that are speaking on the earpiece have a glowing futuristic halo and stuff, but I couldn't replicate the effect - and trust me, I tried! So I went back to how RoD did the cellphone interactions. At first I was just on GIMP editing the images to have that hologram effect (it took me hours just to get one, 1, character done). I got a little unmotivated. Back to RenPy, I checked the documentation and realized there were image manipulators, meaning I could probably code something to display the images the way I wanted them to - I didn't code it though, someone else did it for me. It's available on GitHub. no need to reinvent the wheel (or in my case, the holographic image displayer).
Enough with the images for now.
Coding the script was weird, to say the least. It was hard for me to switch from Python to RenPy mostly because I use Python on a daily basis but this was my first time using RenPy. Took me a while to understand everything is accessible everywhere (well, mostly), so I could have files all over the place and it would still work.
This is feature that you haven't seen in the demo, but I have lost braincells coding the point system for "VIP" choices. To put it simply, RenPy's choices are written a little something like this:
menu:
tutorial "This is what is displayed as the choice header"
"Option 1":
do stuff.
What I wanted was to be able to disable choices, change the background to display the color and the points needed to use it, that sort of thing. After a lot of thinkering, I found out that RenPy accepts parameters for the choice options. It would look something a little like this:
"Option 1" (param1=something, param2=something_else):
So that was one problem solved. I could now set a "disabled" parameter to disable the option (make it unselectable), one to pass the number of points and a final one to specify which type of points, SERIOUS or SUAVE. Intro the "my game doesn't compile anymore" heart attack. Sometimes programming sucks. Sometimes these errors can be vanquished with a simple recompile. The heart attack is always there regardless.
The parameters solved one problem but gave me another one: I couldn't, for the love of me, make the points show up on the choice template. I ended up solving that problem with frames. One frame would contain the option text, the other would put the number of points in the (finally) right spot. So that's one game mechanic down. I can tell you there are VIP choices on chapter 1 (as of now), with one being required for the game to progress. That introduces a scenario where the player doesn't have enough points and is soft-locked out of the game. If you've played the demo more than once, you might have noticed there are 2 ways of getting SUAVE points and 2 ways of getting SERIOUS points. It is possible that you end up with 0 SUAVE points or 0 SERIOUS points if you don't choose the correct options. So, the first point-based choice costs 1 point and if you don't have any points of that type one is gifted to you. The second point based choice does not soft-lock the game and no more free points will be awarded.
Now, for the plot... As I said before, I took inspiration from an unreleased sequel book, in this case the Ride or Die book 2 unreleased idea. You can see the original plans for it in the attached picture.
I liked the idea of the MC joining law enforcement like her father and putting the crew back together. So I took that and extended the timeline to 10 years after. As for the characters' background, clearly they aren't the same as the original Pixelberry idea. Logan is not with The Wolves (though the name I chose is a slight nod to them, with the animal theme). I will not discuss Mona and Colt, as they haven't been introduced as of this post. The MC has finished college and has become a law enforcement agent - and that's where The Phantom Agent comes in. We all know the MC is way too used to adrenaline and danger to go be a normal cop. No, she was going to be GAIA's newest recruit, under the wing of Agent Gray and whatever name you gave to your Agent MC (I'll go with Jones, that's the default).
As of now, the book is gender-locked. Because the MC in this book is the same as in RoD and we had no choice in the gender, I opted for keeping it. I considered making it gender of choice, but that would make the male MCs transgender and I don't think I'm good enough of a writer to portrait them properly. If you want to help with this particular issue let me know, I'd be more than happy to make this an option in the game. Another thing it would lock was the love interests. All RoD love interests are also LIs in this game so that would probably lock the player out of romancing Mona (she likes "the finer things", as she puts it in game). We could break canon there, not an issue.
The last thing I did before making the demo available was to make sure the game main menu didn't have any spoilers. You will notice in the animation that the full name of this project is The Phantom Agent: Ride or Die. The main menu only displays the correct name after the title cutscene is shown. I did this with the persistent options in RenPy. Basically it stores a variable that indicates whether you, the player, can be spoiled or not.
Thank you for playing the demo. If you'd like to chat to me you can find me on Reddit. I'm open to ideas, bug reports, complaints - be my guest.
See you on the next ride,
Dani
Get The Phantom Agent Project
The Phantom Agent Project
A Choice's fan game
Status | Prototype |
Author | DanielaNC |
Genre | Visual Novel |
Tags | choices, Fangame, the-phantom-agent |
Languages | English |
Leave a comment
Log in with itch.io to leave a comment.