I Made the SAME GAME in Unity and Unreal!!! THIS is What Happened

preview_player
Показать описание
unreal... unity... no unreal... what engine to choose?! For those who have been following me, i started game development in unreal but also explored unity for a handful of reasons, and now we're back to comparing the 2 engines on a new skill level, and the results... might be different than last time...

Рекомендации по теме
Комментарии
Автор

I love that you weren't scared to switch from visual programming to learning C# and C++.
Once you know these, the sky is your limit ;-)

glurper
Автор

I am constantly torn between Unreal and Unity. The work flow of Unreal clicks better for me but C# feels so much more intuitive to me after years of using it and I just find C# more enjoyable to program in, probably because I don't have to think as much since I haven't used C++ nearly as much. In Unreal you get so much out of the box that just works whereas to get the same amount of features in Unity you could easily spend more than $1000 in asset store add-ons or spend countless hours coding them yourself (granted no single game needs all those features/add-ons and there are plenty I have never used but they are just there in Unreal if I ever want to). The whole editor user interface in Unreal is more pleasant and intuitive to me though plenty of people like Unity's. At the end of the day though I will use either one but lean more toward Unreal every day.

DireSwift
Автор

The problem that you described with rocks needing to call a function on the player to stop mining is a good candidate for an event dispatch. Like you said, giving every rock a pointer and hard-coupling rocks and players together is silly. What should happen is you should essentially think in terms of messages being dispatched out by certain objects, and whatever objects need to know when something happens simply become subscribers to those messages. This way you are not having certain objects call methods directly on other objects, requiring them to know about each other, you simply say "Hey, this thing happened, anyone that cares can respond to it now". This could be a player not mining anymore, some UI being updated, etc.

NickEnchev
Автор

Looks like you face some challenges in software architecture rather than engine, I’d look up architecture patterns (event driven, dependency injection, etc.)

harmonicseries
Автор

Someone said, simply, a complex and long task takes fewer nodes than code but also, a simple task takes more nodes but fewer to code.

MangaGamified
Автор

Thank you. That was very helpful. That's the only you can settle this issue. Great video.

mohammadalaaelghamry
Автор

This aged like wine. And also i saw unity lacking in some features and documentation on the preview feature rolled out that broke the whole workflow

tekh_ops
Автор

Piece of advice from a novice who has not shipped a game yet, but heard this multiple times: "A game has to be fun, regarding of the graphics. If the game is fun, the graphics will be a nice plus. But the graphics will not make a boring game into a fun game".

jeshuanavarrogarcia
Автор

This was a very nice video and look forward to your progress with the Unreal Engine and your game. I am in the process of teaching myself C++ and debating if I should just take a side course that focuses on C++ by itself or just use an Unreal Engine C++ course to learn it. What would you recommend? +1 Sub

ITAngel
Автор

Thank you for sharing this!
you hit the nail on the head, I have spent a lot of time trying to get unity looking the way that I want whereas in Unreal It's done pretty much instantly. So In my case Unreal saves me tons of time.
I like unreal blueprints even though c++ was my first language.

joshua
Автор

Surprisingly the first programming language I ever learned was c, followed by c++. It was afterward that I discovered that people considered it hard. Needless to say, knowing c++ made learning new languages super easy. And also made Unreal my engine of choice, after I was done spending a few years playing around with SDL2. What can I say, I just love coding. Code just looks so beautiful, and yes. Even I think that's weird

king_rai
Автор

I'm an artist and I used Unity for over 10 years at my last job and hated every min of it. I taught myself how to us C++ and blueprints and never looked back. I've pretty much used every engine out there and I've never used anything as good as Unreal 5 most people are just to lazy to learn it.

deepelements
Автор

You could use the C++ coding method that Ue gives you the ability to replace with blueprints when creating a new game
But thats only if you prefer coding over blueprints

FORRT
Автор

The mining game could have been made in 10 minutes in unity. You made that way more complex than it had to be. a rock class with an int for the 3 colors and a simple list for the inventory. OnMouseDown calling start coroutine dig function, and a simple bool to tell the player to stop digging.

ItsJustOneGuy
Автор

That thing of "telling the player to stop minning from the timer on the rock" I believe is just a mistake you commited... let me explain.

You call an event on the rock object which has a timer that does a bunch of stuff (it hides the crystals, it adds the material to the player's inventory, and it also makes the crystal visible again after some time). And you assume you have to control the player animation from within that method. Now, my way of thinking it would be:

The player object will control it's own animations and will do that based on data recovered from the different elements on the game
so it basically would go like this

1.- The player starts interacting with a rock
2.- The rock will have an internal variable indicating if it is currently minable or not and will have a way to retrieve that variable
3.- The player will retrieve that variable to know if it can mine that rock or not
4.- If it can mine it, then it will call a method on that rock object to let it know it's been mined and will start a loop (as long as the mouse button is down, or the keyboard key is down) which will retrieve that variable and as long as that variable indicates the rock is minable it will display the minning animation, at some point, that variable will change so it will stop displaying the minning animation and add the mined elements to the player inventory.
5.- In parallel, in the rock object, a method will be called which let's it know it's been mined so it will start a timer to decide when it is not minable animore and will change that variable
6.- While that timer hasn't reach it's time, it will continue indicating it's mineable hence the player will keep displaying the animation
7.- Once the timer ends, it will change the variable indicating it is not minable anymore, it will also hide the crystals and start a new timer which will regenerate the crystals and reset the minable variable.

No need to have a reference to the player on the rock object.

manusoftar
Автор

Currently on a smoke break. Been 7 years now. Hoping to make it to death.

James_Bee
Автор

I don’t know how you put things together and of course you would have your reasons for doing so, but I would think the rocks don’t need to know about a player’s existence at all. They could have an interact method that is self contained and returns a resource. This could be reused for every kind of interactable object, with none of them knowing about the player at all.

bmhyakiri
Автор

Hi, i am also made last Week a small game for a jam with unreal. It feels good yes, but at the end I had a feeling of "overload". And also the final package for the customer was very big, for my little game (1, 25 gig). That feels like a massive Payload for my small game. Can you maybe package your two dummy projects and tell the final package sizes? I think this is also a point for the decision which engine to use in my eyes.

best wishes
Alex

DevlexOnline
Автор

brilliant insights. I'm a unity developer with an open mind, not planning to leave but good to see what I'm missing on the other side.

ultimatebluegrassplaylistc
Автор

Ive had some experience with both and i still struggle to commit to one in particular. Unity i love for the breadth of knowledge available and how flexible it is, but i cant stand having to buy so many plugins.

On the other hand unreal feels bloaty and less flexible, bur has a lot of really cool features. I just wish it felt quicker to use.

KhaosEmeraldx