Saturday, 19 August 2017

Version 0.1.83 delayed until next Friday (25th)

I'm so sorry to have to give you more bad news, but I'm going to have to delay the release until next Friday. ;_;

The next release date is: Friday 25th August

I'm sorry! ;_;

I tried my absolute best to get this save-game compatibility work done in time, but I didn't manage it. I'm going to go into detail about what happened this week, to try and explain what led to the week-long delay.

TL;DR The code won't compile, as I still have just under 300 errors to fix, and it will take me about 4 more days to fix.


What happened



The cause

In three words; save game compatibility.

In more words; the way I'm saving games at the moment is by utilising Java's 'Serializable' interface. Basically, I can save all of the game's data (NPCs, items, clothing, maps, etc.) by making each of those pieces of data implement this 'Serializable' interface. This allows Java to save those pieces of data, then reload them at a later time, thus allowing for games to be saved and loaded in their entirety.

The problem with this is that if I introduce a new piece of data (like a new piece of clothing, a new map, a new NPC, etc.), then all previously saved games become incompatible. This is obviously far from ideal, so, as most of you are probably aware, I was trying to create a new way to save games for this version.

As a solution, I've decided to try and make a framework that will enable me to save all of the game's data into an XML format. By using this framework, I'll then be able to put in checks and default values for any new piece of data I add in the future, therefore allowing me to make all games saved in that format compatible with any future additions I make.


The start of the problem

I started work on the save-game compatibility on Tuesday, optimistically thinking that it would take two full days to implement. While saving maps and items was simple enough, I ran into a problem when I was implementing saves for character's bodies.

Put simply, only the basic transformations have been added into the game so far, and as I was writing the framework to save bodies, I realised that, once I added the planned transformations, I'd have to come back and rewrite a lot of the code later on. While this would be achievable, it would effectively make all the work I was planing on doing for body-saves to become obsolete in the very-near future.

Realising this, and wanting to cut out the work of having to come back and rewrite everything later on, I then made the big mistake of deciding to 'quickly implement' the framework for all of the planned transformations.


Things break, badly

Optimistic, Tuesday-Innoxia went; "This will take all of today, but I'll still have three days in which to finish the save-compatibility work and add in the cowgirl position, along with some other minor things I have to finish".

By the end of Wednesday, I'd realised what a huge mistake I'd made. The transformation and body part code turned out to be an ancient, forgotten mess that I'd written when I first started creating Liltih's Throne over a year ago (scroll through the GameCharacter class on github and you'll understand how bad it is). The amount of errors that I ended up creating while 'fixing' this code (to enable me to add the planned transformations) quickly climbed to over 400.

At this point I was still (foolishly, and yet-again over-optimistically) convinced that I could fix things in time for Friday.


Panic

I woke up on Thursday convinced that I could get the reworked transformation code finished by the end of the day.

As midnight struck, and the amount of errors in the code was steadily hovering at about 300, I finally started to understand that I had a problem. I should have realised on Tuesday evening that this was a task that would take at least a week to implement, but instead I only started to realise this with less than 24 hours until the release.

Panicking, I made the post that you see before this one; the 'one-day delay' post. Now, on Friday evening (as I'm writing this post), I realise that I should have stopped, taken some time to really think about how long this mess will take to fix, then made a more accurate post instead.


The current state of the code

Half of the transformation code has been reworked and fixed, but the other half is still all errors. I'm working as hard as I can to get this fixed, but it's not going to be ready for tomorrow. Realistically, it will take another 4 days to fix, so I'm going to have to delay tomorrow's release until next week.

I'm really, really sorry that I'm not able to put out a release this week, but the game will not compile into a runnable version until I've fixed this mess. I promise that this won't happen again, and if I ever need to do a big rework (which I shouldn't, this was the last big thing I had left to fix in the engine), I'll start it in a separate fork on github so that I'm still able to put out a public release that week.

So, as a result of all this, the release is delayed until: Friday 25th August

I'm really sorry. ;_;

32 comments:

  1. Take as long as you need, five more days is not that bad.

    ReplyDelete
    Replies
    1. Thank you, I'll make sure to get as much fun stuff as I possibly can into Friday's release! ^^

      Delete
  2. Shit happens and I'm glad to hear that you're trying to make the best out of it. I'd rather you release a stable version of the game then an unplayable mess. I just have one question for you:

    Is it truly possible to encounter an offspring of yours and have consensual sex with them (as in not be forced to fight and rape them, no matter how gently?) I've yet to come across one that has that ability and my character has over 100 kids.

    ReplyDelete
    Replies
    1. 1. They need to have the incest fetish, so you can initiate sex from the Talk menu. 2. It still records it as non-consensual, just like if you had after battle sex with any NPC, but it uses the consensual dialogue from after battle sex.

      Delete
    2. That's what I was asking, if it was possible for them to even have the fetish. After going through about 30 kids I still haven't found one that has it.

      Delete
    3. It is possible for them to spawn with the incest fetish, but there isn't an increased chance of it happening, so it's quite rare.

      I'm going to be adding a way to add/remove fetishes from NPCs very soon (hopefully in Friday's release), so you'll be able to give all your offspring the incest fetish then. ^^

      Delete
  3. Take your time my dude, we can wack off to something else this week. Also, what update do you plan on adding tattoos? And will they have cool magical effects?

    ReplyDelete
    Replies
    1. I'm going to add support for tattoos in this next release, but actually adding them into the game will probably be done in the next version (or the version after). ^^

      I'm definitely going to add arcane tattoos, which will have many different effects (transformations, stat increases, aesthetic changes, etc.). ^^

      Delete
  4. When I readed the new transformation system and body parts my mind said: it will not happen this week... shame that I was right but in exchange you allready know what we will say about this delay: you're doing a great job, you are givin us more updates on this game that a lot of H-Games that are being developed by more people, what's another week if we have an update? take your time, do it step by step but without a rush, take your breaks and relax a while, we don't want you burned again

    ReplyDelete
    Replies
    1. Thank you for the kind words and understanding! <3

      Delete
  5. Don't judge yourself too hard. Get done what you can get done when you can. A stressed out broken Innoxia is harder to fix than some errors that can be fixed with a bit of time and elbow grease. ;)

    ReplyDelete
    Replies
    1. Thank you for the kind words, I'll make sure to keep the stress under control! ^^

      Delete
  6. You're doing amazing work, and keeping us so updated on the delay is so kind of you.

    Keep up the great work Innoxia, you kick so much ass! :D

    ReplyDelete
  7. Hey, it's better to do your code weeding now rather than later right?

    ReplyDelete
    Replies
    1. Yeah, that was my thought as well; I could either try and tackle this now, or leave it and potentially have two times the amount of work to do later on in development. ^^

      Delete
  8. Just imagine how many errors it would be giving you if you held off on it for another year? You'd have a mental break-down for sure! Just keep on doing the work you're doing. Of all the porn games I've played, yours is by far the best I've ever had...err, played. Your writing is good, the porn is good, and the pure amount of customization is excellent. 10/10 would fap again, even with errors.

    ReplyDelete
    Replies
    1. Thank you so much for the kind words, I'll do my very best! ^^

      Delete
  9. Hey at least you explained the issue comprehensively. Most others wouldn't do that and they would just leave people wondering if they were duds. Every game maker goes through this, and like someone else said its a good thing you found this early or you might have just shut down and quit with the workload it would have created later. You may want to take a week to just look over all of your early code and start to fix anything you find that might cause issues down the line. It won't be good for content that week but depending on how things go it could save you a lot of trouble in the future.

    ReplyDelete
    Replies
    1. That's a good idea, and it was something I was considering doing within the next couple of versions. I'll probably label one version as a 'bug-fixing' version, and then try to tackle as much of my backlog of bug reports and minor problems as I can. ^^

      (Maybe in v0.1.85 or 86 ^^)

      Delete
  10. When I tried to revamp the leg enchnting menu, I saw the horror that was the character menu.
    Also noticed how incompatible the save games where when I added the black trainers (aka snekers) to the code.
    Take your time to fix what you havw to fix. You must not rush a game, if it takes two or three weeks it is fine, just do whatever you need to do.

    ReplyDelete
  11. I would love if you would push your local dev branch onto github :)

    ReplyDelete
    Replies
    1. That's something that I'm going to start doing after I've fixed this current mess. I'll make a dev-branch, then use that for checking pull requests and pushing ongoing changes to. ^^

      Delete
  12. I'm really impressed with both your honesty and your willingness to explain in detail what's going on behind the scenes. Delays happen, the worst possible thing you can do is say nothing at all and just let deadlines pass without a word. You talked us through it instead so we can see why what you're doing is for the best.

    Best of luck with the rework.

    ReplyDelete
    Replies
    1. Thank you for the kind words, I'll always do my very best to explain the reason for any delay or change in development focus. ^^

      Delete
  13. AND I'M BACK!

    It's all good, Innoxia. I think most of us are at least by now quite used to development cadences for games in general being fluid at best and being completely freakin' hell at worst. It's bound to happen once and a while, so don't sweat it. Worse shit has happened, and given the constant comms you keep with us, I think we all could afford to show patience.

    ReplyDelete
    Replies
    1. Welcome back, and thank you. ^^

      Delete
    2. Btw, I never remembered to ask it but was it ever decided whether or not tattoos will add stat buffs or will they just be for showing off?

      Delete
    3. Tattoos will be able to be enchanted to add stat buffs, yes. ^^

      Delete