Time for the weekly update! This last week was another productive week but it took an unexpected turn. At the start I was planning to get chat, item placement and some other feature done. I breezed through chat as I suspected, and once I started digging into item placement I realized there was much more potential (and work!) than I had originally anticipated.
Item placement is the feature the enables a player to take an item from their inventory and place it into the world.
I knew right away that I needed item placement to be dynamic and any item could provide a placement component to enable it to be placed into the world. Another thing I knew is that items should be able to define how it can be placed (known as the axis) – on the ceiling, floor, wall, and/or backwall. One last thing that entered my mind before I started programming is that some items should be able to be placed on top of other items – such as a candle can be placed on a table. Once I got the basics implemented and began looking into items supporting other items I had an epiphany.
Items can provide a list of different axes it can be supported on (think ceiling, floor, wall) and for each axis it defines the area the item takes up in the real world and also a list of supports that the axis provides. These supports can specify the side the support is at (top, bottom, left, right) and where the support is at on the item’s side. This basically boils down to one word: Awesomeness.
I will admit that it is a confusing without seeing it in action so here is a quick peek with more to come soon. This is a poor man shrine my friend David threw together.
The tables and shrines are all dynamically placed on a pixel basis and this is why I am truly excited about this feature. Later in the week I plan to write a more thorough write-up on how easy it is to create items with a placement component. I may even include a video of it in action!
Building anything just got personal.