Posts Tagged ‘ue4’

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 *