Posts

Showing posts from June, 2023

Unreal tools and a lot of bones

This week has been really productive, I have learned a lot about some Unreal tools I knew existed but I hadn't had time to studied appropiately, let's talk about them. The first one is "Retargeting animations", it consists of using similar skeletal meshes to reuse animations which were orginally created for a diffrent character. I hadn't worked with the skeletal meshes before because I was scared of all the bones and I thought it will be really hard to make even a small change, but understanding about the common chains you can create some interesting things. The second one are sockets, I have used sockets a few time before but only on single player games, so it was a greateful experience to learn how to use it on multiplayer games. This time I learned to used them to attach a weapon to a character hand and I learned how to dock them depending of the character's body, The last ones are replication and RPC's using only C++, as I talked on my other blogs, I...

Plugin for online games

This week I finished the first section of the new course I started last week. I have to admit it was a bit harder than other Unreal topics I studied and I had to investigate a lot about some concepts that were completely new to me. Altough it was hard it was what I wanted, I need to keep learning new things to be a better programmer. This first section allowed me to create a plugin that I can use in future games to create easily main menus to create sessions and join session using Steam. It's really easy to implement in other games because it works based on delegates wich makes the plugin completely independent of the game. Additionally, I kept studying about C++ topics and I learned about shared pointers, soft pointers and macros. Shared and soft pointers were the hardest part by far, I already knew some things about shared pointes because I learned about them on the course, but it was a bit scary and exciting to know that there's an entire world I have to explore to create op...

My first international session in Unreal and studying theory

 Last week I talked about the course I was taking and the things that I didn't like about it, following the advices I received from the professional programmer who talked with me last week I started a different course and it was a great decision!!!. I learned a lot about how Unreal Multiplayer works and how to create sessions to connect players using Steam, first I tested it connecting the game running on my laptop to the server on my desktop PC but I wanted to test it with someone who was in a different place. I talked with a colombian friend and he accepted to help me, so I sent him the game and it was really rewarding to see my friend's character walking with my character on the map. I'm currently studying a part of the course about menus and I want to add it to my fight game, the menus were one of the problems that I found when I tried to add the multiplayer mode in that game. I'm really excited about solving real problems using what I learned this week. I also cont...

Unreal multiplayer update, AI and back to basics

I continued the Unreal multiplayer course last week, although it has some interesting thing it doesn't explain in depth the things that I want to learn. I think there are some important topics about how replication works that the course should explain more in detail. I also continued with my project, I discovered that adding replication to the Hit component the client could see how the objects moves while they are grabbed. It's a progress but I still having two problems, some strange behaviour occurs if the character who is grabbing the object stops moving (in the client screen the object returns to the location where it was grabbed and if the character moves again the object return in front of the character ) and if client's character grabs an object it doesn't happen in the server. In the other hand, I added the elevator which will be activated putting the object grabbed on a trigger, it works pushing the object for now and I'm going to add a function for the obje...