2020-06-15 News (SFW-ish)
Before I get into any particulars, I want to introduce the above piece of artwork titled, “Who are all these assholes?!”
I figured you and Nanami didn’t have enough enemies/allies so it was time to bump the cast a bit. Don’t worry, I’ve added more than a few ladies to the mix, but I felt their reveal required a little more fanfare later on. Now, onto some news.
Where have you been?
Stupid busy working on the game in all honesty. I’ve been so far up the butt hole of this game’s code for the last few weeks that I think a few times I forgot to come up for air and risked passing out. Seriously though, it’s been a lot of grueling nights jamming out a shit ton of python as I lay down some groundwork for the future stability of the game. There has been so much that’s transpired, I just have to figure out where to start….
Disemboweling Renpy
So as you know from previous news, I wrote code to write code. No biggie right? But in doing this I realized that the game itself already several stability issues that needed attention. And if the goal was to never code again, I needed to take measure to ensure that future releases would have a near zero change of breaking saves and popping errors.
Setting out to fix some of those long standing issues I realized I had finally had it with the structure of the Renpy code as it came packaged, and with a clean, new version of Renpy in hand, I smashed the shit out of it and rearranged all the pieces in a way that works best for this game.
Without going into the nitty gritty, Renpy tries to do you a favor by keeping Styles in one place, Screens in another, Images over here and Scripts over there. And if you’re doing a simple game that’s all well and good. But for a game like Doctor Amana that not only has several custom screens, having all the styling isolated from the processes that uses them, sometimes lead to aberrant behavior as something would get changed to accommodate one screen and then get all fucked up on another.
Compartmentalization was the name of the game and I spent a couple days reorganizing Renpy’s innards and testing it to make sure that the initialization sequences wouldn’t throw an error. It took some toying but the sequence was ironed out and everything fired off without a hitch. I can now safely add and delete screens and elements without fear of impacting another part of the game because it’s all isolated from each other.
With that in hand, it was time to rebuild the interface for Doctor Amana in a way that used Static Classes to generate game data on the fly, without relying on a spread of different objects all saving different data.
(Translation: I unfucked the code so it works better for our game. By finding what it needs on it’s own and not saving every single thing in a save file, there is 97% less stuff happening that could break your save.)
First thing that needed fixing…The Planner
No doubt some of you are wondering why I’m busy dicking with the planner instead of moving forward. Well, because I never want to code again, the best thing to do was fix everything now in such a way that little to nothing can go wrong in the future.
I also needed to implement the last few features I wanted so that (I now have everything I’ve envisioned and do not expect to add any more interface elements or features).
Here’s the run down…
I’ve spent a good deal of time studying effective gui design and finally settled on a format that pretty much leaves 80% of your options one click a way. Character stats are only 2 clicks away.
You can now rename any character, male, female, lover or contact. If they’re in the game and have a name, you can use this screen to rename them. You can also set “pet names” for every character and the game will update immediately.
I’ve also recoded the biographies to use these updated names and they refresh as you type.
Cheat mode is available on start up for every player!
With cheat mode turned off, you can access a character’s stats and they appear as so…
But with Cheat mode turned on, You can no modify every single character stat…
Want a higher red or blue stat? It’s as easy as grabbing the colored bar and dragging the slider up and down. Simply clicking the True/False stats will toggle them.
My goal with the cheat menu is to make the console obsolete for the player. It makes tweaking the game easy for everyone and eliminates the need for me to share my esoteric code to access things like character objects and methods.
Speaking of changes.
My explorations in Blender and Substance have gifted me with a much better understanding of textures and surfaces. That said, I’ve finally been able to correct the problems I was having with dick colors.
Wait…what? Dick colors? That’s right. About a year and a half ago some of you may remember I mentioned I had put together a system for having main character’s of different skin tones. Just when I was ready to fire it off, I started having issues with the flesh tones on the cock varying too widely with the different skins.
I have since been able to swing around and take another swing at the problem and I was finally able to solve the issue. But I realized I didn’t have to stop there. I could push this one more level and make your skin tone interchangeable at any point in the game. That’s right, any time you want to change your main character’s name, you just go to his tab, type in a new name, a switch your portrait.
The change is instantaneous and can be changed as much as your heart desires.
No restart or reload required. And when you change his last name….other…um…characters…last names change as well. So you’re wife’s bio will always match up to hers. Unless of course you go in and change her’s after the fact. (And look, the tab updates too!)
One final addition that took some serious thought to implement, was the alternate game modes for the upper tier players. I realized early on that for all the different “skins” I wanted to make for the characters, the game file was going to end up pretty large because there could upwards of four or five variants for each image in the game. How to manage that file size while still making the game downloadable in a reasonable time frame was something I knew I’d have to tackle sooner or later.
Well, I tackled it now so that I don’t have to do it later. The solution, let the game detect which alternate assets are available and then give the player the option. If the assets are removed, remove the option and default back to the normal images.
I’ve tested this out over and over again and so far everything works smooth. Right now there are two alternates available, lingerie and nude mode.
Let’s say that by this time next year I’ve added two more game modes. Well with the game set to detect available alternate assets, you as a player can now just download whichever modes you want, drop them in the game file, and the next time you start your game you’ll have the “Modes” tab available as well as options to turn on or off any assets you’ve downloaded.
If you need to save hard drive space at a later date. Just delete the folder and the option goes away and the game detects the change and defaults back to the normal images. No error messages, no game breaks, no problems with saves. It adapts on the fly to whatever images you have loaded up and that’s it.
As a final tweak for potential future expansion, I’ve now coded the character objects as either Contact or Lover, with functions that will upgrade a downgrade a character between those two statuses. This means any character in the game could, if I chose to write it into the game, become a main love interest. And those you kill switch can be downgraded to “contact” and remain in the game if by change their story is important to the over all narrative or required to access other characters.
In a nut shell, I apologize for the two week silence (I only jumped on the forums a couple of times to shut down some rude sons of bitches). I’ve just been locked deep inside the code for this thing and have been hard at work upgrading this thing to its final-ish form so that starting Wednesday or so, I can move into full creative mode.
The coding is pretty much done at this point. I have to run a few more checks on my side program that turns my raw script into renpy code to make sure it works with all the changes I’ve made, but I’m happy to say that for the most part we’re done.
I have a couple of other upgrades I included that I didn’t mention here, but since this post is getting pretty long, I’ll save those for the next news break.
We made it folks! By this time next week my only job when it comes to this game is to write story and make sexy ass pictures! It’s an exciting place to be and I can’t wait to see how things roll going forward.
I want to thank everyone for their patience! It’s been a slog with more 4am cut offs than I can count at this point. But it’s done!
Oh! And the best part, which helps me justify the time spent doing this, is that the foundation built here, can be used for many, many games to come. So when I finally get this game finished and brought to a thrilling conclusion, it’ll be a swift turn around into a new story.
I seriously appreciate you all standing by me while I grind this out. I know it’s been tough, I am incredibly optimistic about what’s the come!
I salute you!