[FONT=“Calibri”]Still working on this project. Nothing to show yet, but a story to tell. It is hard letting go of an idea, but this project started out with the intention of taking a week. I am now on 2 weeks.
The main hold up was a concept that did not pan out, try as i might. I can probably do it… but the math behind it was becoming extremely complex and for the interest of finishing the project i need to abandon it. I then moved to something simpler but eventually had to abandon that also. All due to time constraints.
The conundrum is the math required to create the room walls.
Method one was allowing the user to click in the world space and spawn a wall which would snap to increments of 10cm and 15-degree angles. This worked fine, however it soon became apparent that corners meeting up requires a little more involved math as it had to snap to the previous walls corner.
Not a concern. The concern however is as displayed in the picture. The game currently has no way of being aware of where the player will be as you just started the room creation process. As a result, your math has to be guessed as the player position ultimately determines which corner needs to snap. Why?
The goal is to have 100% correct measurements. If your wall was meant to be 205cm, then it has to be 205cm. Not 200, not 210, not 201.
Now if we start lerping the corner to snap, it would mean that we first have to interpret the players position. Which is only known after the room has been finished.
I guess you could complete the walls according to your specs and then once done and the player spawns it recalculates the players position and all the walls are adjusted accordingly. But as stated this will take a significant amount of time. And maybe at a later stage this can be implemented. But for now, it is overkill for my purposes.
I then tried doing method 2, which was to remove the ability to create individual walls and instead create a room by entering the dimensions, and then you can click on add and add another room. However, user friendliness being the main concern apart from accurate measurements it opened up too many variables. Now you have to get the first rooms dimensions, and constrain the new room to at least one of the axis dimensions. And then what if the adjacent room is meant to be left aligned and not centre aligned? Or Right?
So after carefully reviewing all the variables and the time it would take to implement this, i ended up only allowing one room generation.
And if the project is picked up by people and there is a need for those features, at least the ground work is completed and ready to be implemented with a little extra time.
This project is teaching me more to let go of features that are not feasible within a certain time constraint, than how to actually create those features. It has been a frustrating and interesting project. I went from clinging to an idea for 5 days straight despite knowing i would need a lot more time to finish it, to letting go of the next feature in 2 days, to 1 hour. And now i am much more comfortable backlogging or scrapping features that is simply not feasible to meet the deadline.