Project Raygine #9
I am continuing to extend and improve functionality:
- I can orbit now the camera in the scene editor (moving is still missing)
- A new camera component that can be added to entities
- The camera renders in editor to a texture and displays it in the scene editor and scene view
- The camera renders are displayed on the runtime view as well when the runtime isn't running
- Exposing the mesh and material API to Lua
- Many minor fixes and improvements
Here's the current state of the editor as screenshot:
Here's how it looks like when the scene view camera is moving around:
What you can see is, how the camera component renders its view inside the scene view. It immediately clarifies what it can currently see and I don't understand why other editors don't do this. The aspect ratio depends, just like in Unity, on the runtime's window size.
There's so much missing left and right still, but the primary goals are still priority and I need to focus on this:
- When starting the runtime, I will have to render the scene from the camera's perspective
- Adding scripts to the project directory and loading them in the editor
- Creating new types that can be attached as components
- Execution of scripts during runtime play
- Runtime manipulation in editor
- Input handling only when window has focus and the game is playing
- Time handling only when the game is playing and isn't paused
- Implementing a small game
- Flappy birds is likely the best candidate
- Building the game
- Running the game in editor is first goal, but I want an executable as well
- Desktop and web are my primary targets
- Building a client should be one click
- Debugging the runtime
- Establishing a connection between the editor and the runtime
- Sending messages back and forth
- Displaying the runtime's log in the editor
- Synchronizing the scene hierarchy and view
These primary goals are pretty much to be solved in linear fashion. It's just a coarse list, there are many things missing, for example I will also need a sprite renderer, which means sprite assets. Packing the content for certain build targets is also implicitly included here.
So far, I am quite happy with the progress though. I am quite focused on pushing this in my mind, so things go easy right now, even if I have to solve right now a lot of plumbing and infrastructure. I am not sure how long this will last, but I am trying to make the best out of it.