Hi Roger Ordóñez here, lead programmer of Cygnus Void. I’m the one pulling strings from the shadows to make the Project Infinite a game. In other words my work is to translate the will of the team to code, so it does what development team has thought it may be interesting for you all to play with.
Whoa that’s amazing ! You may think, but it’s not as easy as it sounds.
We are currently working with Unreal Engine 4 as our IDE (Integrated Development Environment). It’s a nice environment, with great capabilities. Some great games made with it are Gears of War, Mass Effect or Rocket League to name a few. Also Fortnite was made with it, but let us talk a bit more of the engine.
Unreal Engine is a nice tool if you know how to use it, for sure. It is compatible with most of the actual platforms where you can play games, from pc, xbox, playstation and switch to mobile and web.
One of the things i like the most from Unreal Engine is it’s workflow and usability. Unlike other IDEs I’ve been working with, like RPG Maker or Unity, you have a nice way to move and visualize things.
One important thing unreal engine bring to the table is it’s great render capabilities. Unreal in my opinions have the most accessible lightning environment to work with combined with a great use of material resources in PBR materials.
As an example of that, something that’s not a videogame but have been done using the power of the engine https://www.youtube.com/watch?time_continue=2&v=LDU_Txk06tM
YEAH a meme song.
But let’s talk a bit about how hard is to get that realistic feel with the engine.
I’ve made a quick setup for display purposes, with starting content from Unreal Engine. It took me about 5 minutes to make an “Island” but the point here is not the speed, its the “starter content” Unreal Engine provide us. In Other engines you start with nothing, if you ever used one you may have some ground to start with in terms of code or assets, but Unreal takes the reusage proces one step forward and give you the possibility to start doing things out of the box, with no previous work.
OK I get it, Unreal Engine give you a lot of easy ways to work, but how about the code ?
Well in terms of code, Unreal have two main ways of do things, C++ code and Blueprints. C++ is a common language used in many programs, video games included as a way to communicate with the PC to make it do things like for example play a sound or paint some pixels when you press the mouse, like paint.
Blueprints takes C++ and makes it affordable for people with little to no knowledge about coding making the code not text based but visual instead.
This is how a blueprint looks like, the code is made of little blocks which execute a command and jumps to the next block, in this case when the game starts we say the message “Hello readers”. This makes the code easy to craft, fast to test, and most of the times prevents us from making errors, most common ones in coding are for example misspelling and bad use of parameters and loops.
Blueprints are not perfect, you can make a game entirely of blueprints. When working with huge structures of code you can have a visual mess of blocks connected.
Here you can take a peek of one of our code blocks from our game. It’s not the biggest one nor the most complicated but you get my point on the “visual mess” i was talking before.
Ok, we’ve talked about the visual capabilities, the ease of use of code, what about the UI (user interface)
Well Unreal Engine have a system for UI, the Widget system. Instead of having to make UI from graphics and code and make it costly in terms of time to implement an UI you have a system that works in a component based system, which means that you can do personalized parts of the UI like a life Bar, with its functionalities and then add it to another widget with other ones to make the UI.
Here you can see the life bar Widget, it works as a independent block and can be used as many times as needed and because it works as it is you can focus on it directly without having to touch other parts of the UI or having a big cluster of code for the entire UI, making it simpler and reusable and easy to change if needed.
Well we talked about a lot of concepts, and we’ve seen how it works but I must return to the void so I can continue making the game for you all to play. If you have any questions about the making of the game (programming part) you can ask us on our social media, because twitter and instagram works in Tahshur for some reason.