Posts Tagged ‘ue4’

To invest in yourself is the best investment of all! by Randall Tiongson

Monthly Reflection #3 – Invest in Yourself

Written by Zainab Al-Ansari on . Posted in Blog, Reflections

Every last working day of the current month I publish a report reflecting on the previous month. These reflections exist to demonstrate my progress, share my experiences and help transfer what I learn to others.

The Past Month

In May I worked on a Pinball simulation using Unreal Engine 4 as a learning project.

I meant to release the game by the end of the month, and while I did finish it, I just couldn’t publish it.

The UE4 Editor is a Power-Hungry Beast

I own a 9-years-old Dell Inspiron N5010 with a dual core 2.4GHz processor and an ancient AMD Radeon HD 5000 graphics card that, with care and an excellent build quality, is still working flawlessly.

However, it’s well below the recommended hardware requirements for Unreal and, although it runs Unity 3D without any problems, it just can’t handle Unreal at all.

I’ve been working on the lowest editor settings and the most FPS I get is 23.

That wasn’t too bad in the beginning, but later on UE4 proved to be buggy and unstable, constantly freezing and crashing while I work or try to test the game.

The most pain I suffered was when it was time to compile and package my project. Despite it being a small Pinball game, it took hours for a single build, and it often failed with errors that had nothing to do with my actual code 😑 .

So, I gave up.

Instead of wasting so much time (several days so far), I decided to buy a new gaming laptop that more than can handle Unreal.

Gaming laptops are over priced in Bahrain (like, think 2x its actual worth) and my budget is tight, so I bought an Alienware 17 R4 from Amazon for around $1330. Here’s hoping it comes in one piece 🤞.

I’ll be attempting to package the game again when the laptop arrives.

Investment is Key to Growth and Self Fulfillment

If you’re an amateur or hobbyist, then my advice is to stick to what you have till game dev becomes an important part of your daily life.

But, if you’re already committed to becoming a pro and starting your own studio, then it’s extremely important to invest in yourself And your tools.

Never again follow some random tutorial on YouTube or go through low-quality courses just because they’re free.

While their authors mean well, amateurs unintentionally teach some really bad habits that are costing you a ton of time and effort without you realizing it.

Invest in your education and choose courses and books made by experts in their fields, don’t shy away from paying for high quality knowledge.

Also, buy the tools that would greatly improve your workflow.

Whether it’s a Visual Studio plugin that vastly improves your C++ workflow, a license to some expensive software or more capable hardware, investing in your tools and speeding up your work allows you to create more and higher quality content in less time with fewer hiccups.

I can’t emphasize on how important these two points are. If you’re in this for the long run, then not investing might hamper you or downright stop you from achieving your goals.

What’s Next

I completed the 30 Day Blog Transformation Challenge course on Udemy, and while waiting for my new laptop to arrive I’ll be focusing on my blog for a week or two.

I’ll be writing a guide to learning game dev effectively, and will touch on choosing your learning materials in more detail.

Other than that, while working on Pinball the skill I lacked the most was coloring and lighting. I will subscribe to Gnomon’s Workshop and do their color courses.

I’m planning on using Houdini in my work too for creating assets and VFX, so I’ll go through Gnomon’s Houdini fundamentals course as well.

To know when I post my guide or other articles, subscribe to my RSS feed or newsletter .

Monthly Reflection #2 – Starting Small

Written by Zainab Al-Ansari on . Posted in Blog, Reflections

Every last working day of the current month I publish a report reflecting on the previous month. These reflections exist to demonstrate my progress, share my experiences and help transfer what I learn to others.

The Past Month

During April I focused on learning the basics of Unreal Engine 4, mainly the editor and Blueprints. If you read my previous reflection, you’d note I had planned to make a small mobile game that helps players de-stress.

However, after researching stress, its causes and ways to combat it and designing as small of a game as I could manage that would fulfill that purpose, I quickly realized my technical skills (especially in UE4), are not up to the task.

So, I switched strategies and focused completely on developing my technical skills by making a series of small projects, and have no intention of commercializing them.

My First UE4 Project: A Basic Room Visualization

No code, no Blueprints, no gameplay or asset making, focusing completely on learning the very basics of Unreal Engine 4, which is the level editor.

A 2-week project where I made a basic room using pre-made assets.

Things I learned from this:

My Second UE4 Project: A Pinball Machine Simulation

After achieving level 1 on my previous project, level 2 would be to learn to develop actual gameplay using Blueprints as well as creating custom materials.

For that purpose I’m making a Pinball machine simulation. This project is still ongoing, you can see my current progress below:

Note: I mistakenly wrote Day 4 in the tweet, but it's actually Day 5

Writing Better Blog Posts

Beside game development, I’ve been going through the 30 Day Blog Transformation Challenge course on Udemy.

My wish is to write better, more engaging blog posts that are more useful to you.

I would greatly appreciate any feedback in this regard, and if you have any requests for content you wish to see from me, please do ask.

What’s Next

The plan for next month is to finish the Pinball Simulation project.

I haven’t decided what to do after finishing the Pinball game yet, depending on my skill level at that point, I will either get started on my first commercial game or do another learning project.

This ends this month’s report. Your comments and feedback would be greatly appreciated, so do comment below. 🙂

UE4 BatteryCollector C++ Tutorial Upgrade from 4.9 to 4.18

Written by Zainab Al-Ansari on . Posted in Blog

If you’re like me and is new to both C++ and Unreal Engine 4, but is an experienced programmer and decide to dive right in to developing UE4 games with C++, you will see your only official option for a full-game tutorial series is the BatteryCollector.

But these tutorials were made in UE4 version 4.9, and a lot of breaking changes have happened since then.

I’ve gone through quite a bit of a headache following the tutorials, and so you don’t have to I’m listing the differences needed on your part to make it work with 4.18.

Download source files on GitHub.

In SpawnVolume.h:
#include "Components/BoxComponent.h"

In SpawnVolume.cpp:
#include "Runtime/Engine/Classes/Engine/World.h"
#include "Runtime/Engine/Public/TimerManager.h"

In BatteryPickup.cpp:
#include "Components/StaticMeshComponent.h" (we don’t need it in the header)

In BatteryCollectorCharacter.cpp:
CollectionSphere = AttachTo(RootComponent); should be CollectionSphere->AttachTo(RootComponent); this was fixed in tut10
#include "Runtime/Engine/Classes/Components/SphereComponent.h"

In BatteryCollectorCharacter.h:
The UPROPERTY macro category for CollectionSphere should be something other than “Camera”, as it is not a camera. I used “Collection”

In BatteryCollectorGameMode.cpp:
1. Add PrimaryActorTick.bCanEverTick = true; to the constructor, as Ticking is now false by default.

2. #include "Runtime/Engine/Classes/GameFramework/PawnMovementComponent.h"

In BatteryCollectorGameMode.h:
1. Make enum class derive from uint8 as such: enum class EBatteryPlayState : uint8 {};
2. Make sure to use MyCharacter->GetCurrentPower(), NOT MyCharacter->GetCurrentPower in game mode tick function for changing play state.

In ThirdPersonCharacter Blueprint Event Graph:

Download source files on GitHub.

About Z’s Laboratories

Subscribe to my Newsletter

Required *