11082019
Spent the entire day (up until now, which is 0330, actually) working on implementing a prototype interior space – a cabin, yes, my imagination runs short – and for all intents and purposes, it basically works right now. Basically, all interior spaces can now be rendered in the world space rather than in their own simulated internal cells. What this means in practicality is that I can now have full real-time events happen seamlessly in the world without loading in between different rooms (ie, entering / exiting interiors); the player will also be able to see through windows and doors into the actual external environment, which vastly opens up my opportunities.
There are still some minor collision overlaps that I have to fix and there’s as of yet no furniture (I’m sure that’ll be a separate issue all on its own, which I’m not at all looking forward to dealing with tomorrow), but in terms of all the basic functionality it works as intended, however annoying it was to assemble and subsequently disassemble everything onto different layers and depths. Honestly, if I had known from the start just how much of a pain in the ass all of this actually would take to implement, I probably would’ve never even considered it to begin with. Now that I’m here though, there’s really no turning back…
+ Created modular layers for building (cabin)
+ Created new room (rmCabin) for testing modular interior
+ Added four additional parent classes specific to buildings: BUILDING, FURNITURE, ROOF, INTERIOR
? Created parent object for items named ITEM, containing the children STICK and STONE (no actual event behaviour, just a holder object)
? Created script draw_self_visible as a replacement for draw_self; because pretty much everything is being drawn in DEPTH_SORTER’s master draw event, the “visible” property is ignored; draw_self_visible is basically just a draw_self that takes “visible” into account
Here are some things I still need to add, as well as things I’d like to implement:
– Functional door
– Interactive furniture
– Dynamic field of vision to black out the exterior space and make windows and doors functional (ie, the player can see outside of doors and windows but not walls)
– Global shadow mask for entire house
– Hide rain overlay in interiors