Ideas and Aspirations
Developing a new engine is daunting task but I wanted to make sure I take the right approach. As of this morning, I have a basic framework up, call it "Block World" - a great place to block out ideas and test new features. Essentially when I develop I want to be able to see what's happening there and then, fast, visable results.
Currently, I have a basic FPS camera setup and movement controls via keyboard, controller support is already there, I just need to link to it. It might seem basic but there's also lighting, shadows, textures, 3D Objects being rendered as well, a fast turnaround in under a week - in the next dev log I'll preview videos of the engine in action so far, remember it's not much to look at in it's current build. 😄
Interacting with the world
Next up I want to introduce the .net physics library I talked about in the initial post here:
The bullet physics library will allow me to turn my character into somewhat of a capsule, which will provide collisions and gravity into the world, a much-needed thing in a game. Also from what I've set out in my game design plan for the FPS so far, it's going to be necessary for the engine to be lightweight to handle a lot of rigid bodies at once. Essentially my goal for the prototype will be establishing an interactable small estate street, complete with physics, vegetation and lighting. 💡
In terms of gameplay, the prototype should feature working raycasting and detection with line of sight and hiding mechanics from enemies (the enemies planned for the prototype will be simple cubes that chase the player using some sort of navigation codebase - will look further into this down the track). I know it seems weird talking about all these systems when I have a super basic engine right now, but it's important to lay out goals for development and reasonable deadlines to achieve this, otherwise, it's easy to get stuck in a development circle.
Small details matter
For the prototype and end game, it will be important to create a sense of intricately placed meshes, to make the world looked lived in and slowly used over time. Since the street will be an upper-class estate area, the street-facing views will be impressive, clean and well looked after. But as the player slowly moves through the world and discovers the backdoors and hidden rooms that the people who run, clean and maintain the houses use, it will be a great contrast between the two.
Well, I think that's about it for this update, I'm going to keep iterating on the Heatwave Engine and develop more features for the next update. 🛌