Forum rules - please read before posting.

Managing a dynamic game world?

Hi again everyone! I'm here for more advice (sorry, I'm a noob, lol... Ah, but I already read the AC manual :)>- )

Anyways, for the game I'm designing, which is like a life simulator/adventure game, with changing months and seasons, I was aiming to have a dynamic world (think Harvest moon). e.g: certain objects, people or cut scenes would be turned on or off from levels depending on the day of the week, month, season or other condition (stuff like an affection level, again like in Harvest Moon).

The scenes themselves wouldn't be very large, more like the sets they make for movies, which can only be viewed well from certain angles. Anyways, my question is: 

-How would you guys manage dynamic levels?

Correct me if I'm wrong, but I was thinking of setting my scenes so that all the dynamic objects: like some set dressings, NPCs, objects and hotspots, are off by default, so that when a player loads a level, an action list determines what to activate depending on the day/month,season/condition/etc.

For the construction of the scenes I was planing to make a base level for each area, then use them to build the versions for each season (adding extra layers of set dressing and particle FXs when necessary). of course each season specific level would have it's own cut scenes and stuff.

But here comes another question, which may actually have more to do with Unity itself than AC, but anyway: 

-For a somewhat stylized look, how would you guys manage the time of day? (passing of time won't be automatic though.)

I first thought of activating and dis-activating lights to give the impression of a different time of day, the same way I'm thinking of doing with objects. but I was wondering if that would actually work? and if it woks would it look well? I mean, when working with lights all I hear about is dynamic and baked lights, and I know dynamic lights are heavier (I'll be using forward rendering...) and I don't know if you can bake lights during game play?... 

It should be obvious by now, lol, but I'm somewhat new to Unity, my fortes are actually in the story writing and music composing areas (although, I've studied 3d modeling and other game related fields too), and I've had a few Unity video courses, but it's gonna be my first time actually developing a game, so there're still several things that give me a question mark face :-/.  Still, If changing the time of day is not feasible, I guess I can always make specific versions of each level for each time of day. It's just gonna be a lot more work :-?.

Lastly, the one that might be the most noob question of all, but I'm unsure, so:
 
-objects which are initially "off" won't use system resources until turned on, right? 

And also:

-will having lots of disabled (off) objects, still affect a level's loading time??

I'm sorry for all the questions, but I've never had to manage levels before, and I'm not entirely sure how AC would react to my plans (*stick mad laughter here*).

Anyways, sorry to bother you guys, and thanks in advance. ;)

Comments

  • How would you guys manage dynamic levels?

    You can define a Cutscene that runs whenever a level is entered from another, or loaded via a save game, by assigning it as the On Load cutscene in the Scene Manager.  In here, you can use Variable: Check Actions to check the state of any variables you've created to keep track of things like the season, etc.


    For a somewhat stylized look, how would you guys manage the time of day? (passing of time won't be automatic though.)

    This is indeed a question more related to Unity than AC, but I'll defer this to anyone else who may like to answer on here.  You may have better luck asking this on the Unity forum, however.


    objects which are initially "off" won't use system resources until turned on, right?
    will having lots of disabled (off) objects, still affect a level's loading time??

    Are you referring to AC objects or just objects in general?  Mesh and particle objects are generally the largest resource hoggers, in my experience.  While disabling them does improve performance, I would have thought they would still contribute to loading times - since Unity will need to ensure they can be enabled at any time.

    Be aware that AC includes an Object: Add or remove Action that can be used to load objects into a scene at runtime.  It's generally only used for single objects and simple things, so I wouldn't recommend using it to have e.g half your scene load using it, but it's still an option for smaller things.
  • Just a general comment: this sounds like something I would personally choose to implement in a separate self-contained C# library (with custom actions to make it available from AC) - it sounds like something that could easily become too unwieldy to handle comfortably in AC.
  • Thanks for your responses.

    Thanks Chris, I think I'm starting to have a good idea of how to do it, and I had been thinking about the Object: Add or remove option too, but as I've never used it, I was wondering how accurate it could be in the placement. But well, one way or another I'll figure something out eventually.

    Ah, and thanks for your answer Snebjorn, I kind of feel some things I need would be better off been scripted too, but... I'm not a programmer :-S. As I said in another post I did study a bit of programming, but that was like 15 years ago (and it was mostly Vbasic #-o)... And I'll be doing the story, the character modeling and texturing and even though I'll be using stuff from the asset store for the environments, I'll probably redo the texturing for most things... 

    The only things I'be been studying for a nice long while now is story writing and symphonic composition and orchestration, the others I've learned in a few months, and I'm still learning... and well, properly learning programing might take me too long, specially while I'm still polishing my other skills... for now I'll hope I can make as much actions as possible into action lists for easier use. and keep a look out for any other plugins that might help me in the way. 

    Anyways, thanks for all your answers! ^:)^
  • PS: Nevertheless, I'll try to learn some from AC's scripting guide.  :)>-
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.