Bit's Bytes

Hi everyone! Gabriel here!

So today Martin is being held outside the matrix against his will while I take over the blog. Right now I am the entire programming force in project BitUp, and today I would like to give you all some insight into the first steps we have walked to be able to get things started, this is not a technical post and I hope everyone starting a new project can get some good information from it.

UE4

Last year, BitUp came to its first incarnation in the form of a little demo we did in Unity, this year we decided we would change from Unity to Unreal Engine for a handful different reasons. For me one of them is that I am much more comfortable working with C/C++ than in C# and while UE has a very different approach into making stuff happen, I have more experience with it and we felt it would be a better fit for the project. So yeah, it’s not so much of X is better than Y but you need to use what works better for you.

We have PS4 as a target platform, and one of the first steps we had to do was to be able to compile and test in that platform, I am really pleased to say that this process was very smooth compared with my previous experiences with UE3, thanks Epic (and Sony) for that! After having the engine running nicely, I started the coding tasks for Bit, but while doing that, we needed to set up another little thing called version control (yay!).

Perforce

Our version control needs won’t be very over the top, we will have few people working in every area, but we needed something that could handle large binary files. We first tried to use git but our endeavour was fruitless, while I like it for source-only projects, it was hard to get it perfectly integrated with UE4 and our artists didn’t grasp the concepts of the system really well, so we thought it’s better to have something that all the team can use with ease and we looked back to perforce.

In our previous jobs we worked with perforce and once we got it up and running and connected with UE4 (to do so, just click one button, input settings and done!) we started using it seamlessly, you can almost forget you have it and work with no issues, yeah I know, there are no code merges so far but still it’s nice to have one less thing to care for in the future. Ah, i forgot, also FREE!

Bit Movement

With all the ground covered, coding for bit started, in our last demo I did a custom controller to handle Bit, this time I looked at UE’s Character and Character Movement Component. There’s already a lot of good code in those classes to help me handle events and different movement modes, so instead of building my own again, I just subclassed Character Movement Component and started modifying and/or overriding the already coded functionality it has to be able to meet our needs. Right now we have implemented all the basic movements that Bit will be able to do, all with nicely exposed parameters to tweak, and some special extras that will be revealed in the future. If you don’t need drastically different or specific behaviours, with UE I find it better to use all you can and just add/modify the strictly necessary, there’s always the need to improve and create new things in the programmer’s heart, but also I prefer not to reinvent the wheel a lot and really concentrate in the things that will set us apart. For now, we are not in that part of the picture yet :simple_smile:.

BITTEST.PNG

Thanks for reading guys! and while this post is somewhat long, I expect next programming entries to be longer so beware! XD.

TL;DR

Bit is running and jumping nicely in UE4 in our target platform, and if you are starting a project, do the right thing and setup version control!

See you guys!

Gabriel.