Monday, February 6, 2017

dev blog #28 - techDemo 0.6.1 public release and what's next



the techDemo 0.6.1 is now available for the public!

go check it out in the download section or here

if you haven't read it yet, here is an overview of what's new in this release

now that the public release is done I can completely focus on the next steps of the project.
the mess I made with 0.6 is still a big concern for me so I spent the last week figuring out how to minimize/avoid this to happen again later in development.

the main problem really was and still is the overly complex dialog/event system that grew with the project over the past techDemo updates. it worked as long as the game was rather "small" but it now already showed its limits on how it will perform once the game gets more complex with story line and missions and all the "fun" stuff a game is made of.

so I put a stop to all "new" features development and will now focus on fixing this issue as my top priority! this means that there will be no techDemo 0.7 until I figured out a better way for the dialog/event system.



in the meantime I will still release new scenes for techDemo 0.6 as I already announced here so you guys get something new to look at! but there won't be any new gameplay features until 0.7 is ready.

I will now go a bit into details on what I already figured out over the past week so if you are not interested in the "development" aspect of the game you can stop reading here (and go get that new release! NOW!)



probably the biggest decision I already made in the past week was to step up to the new version of GameMaker Studio!
the latest version, GameMaker Stuido 2, has some very neat new features that can help me out a lot with the development of Twin Star.

originally I didn't want to switch software during the development of TwinStar because moving from one release to a new release of GameMaker had many issues in the past which almost always requiered a partial re-work of the project in question.

BUT: since I already have to re-work a good portion of the game to fix the dialog/event issues I figured... meh... why not switch to GMS:2 in the process to profit from the awesome new features it has over GMS:1.

and so far I already encountered the anticipated problems... a lot.
for starters the advertised "easy import from GMS:1 project into GMS:2" didn't work...at all...
but I already expected that so it was not a surprise (I would've been surprised if it had worked as intended!)

but what I also tried out right away were some of the new features I put a lot of hope into helping me in development.
to list the most anticipated:
  • new room editor:
    with the "layered" room editor making new "areas" for the game will be a hell lot easier compared to GMS:1
    I already toyed around with it and I am very pleased with the performance of this new feature
     
  • auto-tilesets and tileset brushes
    now that's something most RPGMaker developers are familiar with and love.
    and I too was very happy when this feature was announced for GMS:2 as it makes development of game worlds much much easier.
one could now say "well duh, why don't you use RPGM in the first place then?!" which I can only answere with: it was the only advantage of RPGM over GMS while GMS was way more customizeable and versatile if you know how to programm.
but I'm not going into further details about the pro and cons of either development software as I am commited to GMS:2 entirely :D

so apart from these 2 very nice new features there are many more minor improvements over GMS:1 which I'm not going to list here

so what I can say now after working for a week with the new tool is: once you get used to it's new interface it is way more powerful than the previous version!

ok, enough now with licking YoYo Games balls and on to some more infos on how the progress of the game now stands:

since the import of the GMS:1 project file failed I literally have to build the game engine from scratch in GMS:2. at first this might sound like a horrible thing to do regarding the fact that the GMS:1 project is worth 4 months of development but it's not that bad at all.

while it does take some effort to re-build it I don't have to entirely start from 0 as most of the "logic" in the existing code still applies to the GMS:2 environment and I don't have to figure out how stuff works again. so while I can re-use 80% of my existing code I still have to make some improvements to existing things otherwise the whole transition from GMS:1 to GMS:2 would make no sense at all.

so there are already 3 things I changed for the 0.7 build:

  1. "true" portable mode
    the portable (or non-installation) deployment of the game started with techDemo 0.4 but still caused some problems with some windows users.
    due to the nature of GMS and how it handles "host environment" it is almost impossible for developers to gain access to the filesystem of the OS the game is running at (they call it sandboxing)

    so the only options to "save" game data to is either the %appdata% directory or the directory the game is launched from.

    and up until now my game was using the %appdata% for savegames and temporary file storage which caused problems when you run the game on a restricted user account or from certain types of external storages or drives.

    so in order to eliminate this problem the new 0.7 will handle ALL file storage in its own directory like a portable application should.

    a benefit from this new approach is also the easier patching capabilites which allows me to add content to a game version without you having to download the whole package again but just add the new content instead.
     
  2. screen resolution/aspect ratio handling


    now this is something I had discarded until not long ago since resolution handling in GMS:1 is a bitch.

    but GMS:2 changed some things regarding this matter so since I rebuild the game engine I also decided to add support for multiple screen resolutions. I took the "January 2017" list of the Steam Hardware Survey as available options.

    and there is no fullscreen mode anymore as GMS:2 also has the same flaws as GMS:1 regarding that so I ditched it in favor for the now selectable resolutions (up to 3840x2160).
      
  3. improved internal data handling
    now this change is for preparing for the improvements I have to do to deal with the growing complexity of the dialog/event system and the still to come mission and story system.

    apart from switching to DS_maps and grids for storing game data instead of arrays I also need to find a better and more manageable way to handle the dialog/event files

    for easier editing I stored all the text and data in external text files (which I can also edit outside of GMS) that got loaded into the game when needed but this approach prove very complex because despite me maintaining a summary list of the textfiles I quickly lost track on what textfile contains what and which textfile can affect what in the game.

    now while it is very common to store dialog and text this way I think my approch of it was not very sophisticated so I'm going to work on that too

4 comments:

  1. Finally got a good chance to play this again! I love the quality of your CGs, but I had to restart on the Bartending minigame with Mike after it got stuck. No idea why it happened other than me just not getting everybody served their drinks, but I don't think that should have prevented me from completing the minigame, even if I didn't get the full $20 tip jar. I also can't seem to trigger the Lena/Mike night scenes in the other twins room anymore. Maybe I'm just not doing something right, but I'm fairly certain those use to trigger every night, but now it's the parent scene that does.

    Other than that, I did notice a few typos.
    Mike Route
    Lena Shower scene: Just after Lena brings up Pinky, about 3 lines of dialogue before the second Abort/Stay event, she says 'careassing' as opposed to 'caressing'.
    Parents Watching TV scene: When Susan is saying that she'll change the channel, she says 'I switch the channel myself then.' as opposed to 'I'll switch the channel myself then.'

    ReplyDelete
    Replies
    1. hi and thanks for the feedback
      for the bartender minigame: those bugs will get addressed in 0.7 and it is not intended to be "easy" so don't worry if you don't get all customers happy
      the scenes (Mike/Lena, Shower, Lena/Mike) all have a 25% chance to get triggered so if you can't see them, try again on the next day and so on

      Delete
    2. Thanks for the quick reply, I was wondering why those didn't seem to be popping up. I hope that you get the whole dialogue/event system stuff lined out soon, but I know that these things can take a good amount of time to get working just right.

      Delete
    3. well the 25% chance is intentional but the problems at the stripclub are things I need to get rid off

      and ya... re-working 5 months worth of code does take some time but it will pay off in the end because it will get less complex and more optimized

      Delete