I’m sure none of this is anything new but I felt like I needed to take a second and geek out over it. Mostly because I’m new to Choicescript and had been absolutely wonderful~ I’m glad I spent a good amount of time going through all the tutorials and such. It saved me a lot of trouble in the long run. I can’t imagine the amount of extra script time if I hadn’t figured out *gosub and some of the more complicated *if functions. Really made a huge difference right off the bat.
I’m sure I could have found another language/platform but, idk. Choicescript is actually pretty powerful once you can sort of start to wrap your head around it. Not to mention the help everyone has given me on the forums! I thank you all. The community alone makes it worth it. Thank you, everyone!
Anyway, I really wanted to share some of the notes I put together when I was putting the technicals of my current project together. Ultimately I had a lot of content(I mean A LOT of content) with no super clear idea of how it was going to come together. Especially since I was having a real hard time figuring out how to wrap things up.
Another fatal flaw I nearly made was try to make it as open-world as possible. I am very thankful I read through the forums on the subject because, ooo boy. That would have been an undertaking that probably would have never finished. So that was right out.
So instead I decided to go with a semi/open world that is linearly driven by time. The game takes place over the course of fifty days. More than likely being split up into two games(each covering twenty-five days). It took me a long time to settle on fifty. Mostly because any shorter and I would have to cut content. Any more and I feel like coding would just be too massive. I can always add a third game later if need be.
Doing it this way made it really easy in splitting everything up and organizing how it all goes together. Being able to organize everything by days is really nice for a few different reasons.
+Makes math easy when it comes to tracking what the max possible stats players can get etc.
+Using some type of “energy” system allows you to easily restrict just how much a player can do each day. Giving them a little more freedom while still able to stick in story bits and push the story forward as needed.
Solving my content/lore problem became easier as well. In my current project, the player has pretty regular access to a news source and library. Making it easy to drop lore, and even line up your lore/word-building with the plotline in game. I feel like it really added to the richness of the game without burdening the players.
Creating a journal to track important in-game progress was a lil tricky to figure out but really useful as well. It can even allow you to have a sort of in game achivement system without really being an achivement, I guess?
Example:
Not sure if this will work as well as I want it too. So far I haven’t had any issues. Adding *choice to the stat screen with a journal entry, and I came up with…welll this.
#Journal
*if FiftyGP true
Congrats! You earned your first 50 Game Points!
*set RP +1
*if HundoGP True
Congrats you earned your first 100 Game Points!
*set RP +1
*if ThousandM true
Congrats you earned your first 1k Game Points!
*set RP +1
*if FiftyM true
Congrats you earned your first 50 Money!
*set RP +1
*if HundredM true
Congrats you earned your first 100 Money!
*set RP +1
*if ThousandM true
Congrats you earned your first 1k Money!
*set RP +1
(With RP being redeemable points that are used in a special store that only takes RP currency.)
As I understand it *achievement only allows for 100 achievements. This would theoretically let you pass that limit as well as give the player some bonus stuff for completing certain goals. You might even list it as a #Challenge menu instead of #Journal.
Stuff that I’m working on or think is fun to try and code:
Location! Location! Location!
I wanted to cover a lot of different areas and make it so the player could take NPC’s to areas and holycrapthatisalotofwriting. You would have to make write out each NPC event individually etc and it would add up quickly.
Unless… (^_^)
Now if you’ve ever played D&D I’m sure you’ve heard of random encounter charts. So instead of focusing on scenes for locations. I focused on creating random conversation charts for each individual NPC. The last part of the equation is making it so after each use of the random convo chart it pulled the convo option from the chart so you didn’t get repeat convos. This would theoretically allow you to easily code covo’s into locations easy enough. Even split the random chart into only certain areas giving certain random choices. If you have a reputation/relationship system you could also set some convo strings for only if certain levels of reputation/relationship is reached. I actually found writing and coding whole covo strings a lot easier this way.
Concerns and things I’m still fiddling with.
+Notifications and phone/email like texts. Honestly, I ripped this idea from Persona 5. Has some added features later in the game. Such as upgrading your phone and acquiring the right item will let you rip messages from other NPC’s phone if it’s close enough. I really want it to like flash an icon or something when you have a new message. That would be super cool.
+Narations and sound. I am super worried about getting the sound levels right. I’m also worried about player interest in a full voice narrated choice game. I think I might be better off with the players picking up ‘audio journals’ and the like.
+Images I’m a little concerned how images and such will scale down based on platform. Interest is also another issue once again. So far every scene has at least two unique art pieces and each NPC has a portrait. Might be overkill?
So yeah, those are some of my general notes so far. Like I said, I’m sure none of it is new but maybe it gives people some ideas. Perhaps others have questions, comments, concerns?
Bits they had to adjust and work around conent wise in dealing with choicescript? Tell me what you think.