Archive:
Started setting up my dev environment for the Switch. Got the correct SDK installed, cloned UE5.2 from source, built everything, and started tweaking the project settings. Not sent a build to device yet, but I do at least have the editor running. The project is loading, and it's listing Switch as a target.
I've got the camera snapping to animate. It's got a sharp ease, and the entire duration is about a 3rd of a second, but even quick movement helps with spatial awareness.
The geometry in Lumo was, er, a load of cubes. Millions of them. It wasn't my finest hour, but I didn't know any better. I do now: made a couple of modular bits for blocking out, and a custom procedural grid material that'll self-hide as the camera rotates.
Thought I'd tackle moving between rooms. In Lumo each room was its own level, loaded & unloaded as the player moved between them. In this game, everything's in the same map. Some will be visible, some will be hidden, depending on the zone and what you’re doing.
Transitioning between rooms is a system with several moving parts:
ChosePlayerStart
), and manually find the "correct" PlayerStart
actor in the world. This is super useful for debug builds. I can have as many PlayerStart
actors as I want, placed anywhere, and toggle any room to be a debug entry point when I hit Play In Editor
(PIE
)Respawn Point
.Game Mode
to teleport the player to the correct location.I got the majority of this scaffolded, today. It's clean and I'm happy.
Not quite finished with the room transitioning, but I'm nearly there. I made "Respawn Point
" Actor Components
that can be placed anywhere. It's possible to have 16 of these per room, which is 8 more than the original. I also implemented a base Blueprint that every doorway will derive from. Everything is behind C++ interfaces, and in a separate plug-in.
The player is warping, the new room is starting up, but the camera doesn't transition and the active room doesn't shut-down. Feels like a decent base, and setting up rooms in the editor is pretty simple.
Cool, you can move between rooms and the camera follows.
Rather than have all the logic in the camera, I decided to make a separate class; Camera Origin
. A Camera Origin
actor can be placed anywhere in a room. The camera can lerp
between origins, and the origins can have different logic to determine if (and how) they follow the player character as they move around the new room.
Lumo's pretty simple. The camera's mostly static, but for big rooms it's nice have it unlocked. Tall rooms might need a bit of vertical movement. Doing things this way removes the need to fiddle with parameters, or do any weird setup calls; I just pick the type of Camera Origin
I want, and drop it in the room. Keeps the follow camera code nice and simple, the origin does the modal stuff, the camera just accepts a new position each frame and jumps to it.
Friends:
If you like any of my work, please consider checking out some of the fantastic games made by the following super talented people: