![Altray Digital](/img/default-banner.jpg)
- 20
- 55 042
Altray Digital
Romania
เข้าร่วมเมื่อ 31 มี.ค. 2018
Altray Digital's official youtube channel, used for active development vlogs on its current focus, HeavyBeat. Bi-weekly videos.
I Wish More Games Did This
Feel free to mention any first person games where you feel the falling and jumping mechanics are really juicy, would love to check them out!
0:00 Intro
0:24 Satisfactory
1:06 Apex Legends
2:05 Battlefield 1
3:51 Overwatch 2
5:19 Outro
0:00 Intro
0:24 Satisfactory
1:06 Apex Legends
2:05 Battlefield 1
3:51 Overwatch 2
5:19 Outro
มุมมอง: 368
วีดีโอ
State Machine with Gameplay Tags - C++ and Blueprints - Unreal Engine Workshop
มุมมอง 10K2 ปีที่แล้ว
Here are the project files if you are interested in just getting the final product: github.com/Monster25/TagStateMachine 0:00 Introduction 0:40 Enumerators vs Gameplay Tags 4:48 State Machine Implementation 27:35 Testing and Showcase
I Added Octane in Unreal Engine and Made It Easier to Tap-Strafe - Octane.uasset
มุมมอง 12K2 ปีที่แล้ว
Rip tap strafing. Play it yourself: altray-digital.itch.io/octane Source: www.mediafire.com/file/v048xy76she6w1o/OctaneSource.zip/file Music from Tunetank.com Cooking Food - AlexGuz Download free: tunetank.com/track/638-cooking-food/ Movie Funk - Anton Kramar Download free: tunetank.com/track/293-movie-funk/ Casino - 99Instrumentals Download free: tunetank.com/track/4195-casino/ Let's Funk - 99...
I'm GIVING AWAY 100$ to ANYONE that can BEAT ME at My OWN Game
มุมมอง 5282 ปีที่แล้ว
Don't make me look too bad please. CONTEST DETAILS: Contest runs from Monday 15:00 GMT 06/09/2021 to Friday 15:00 GMT 10/09/2021. Whoever is number 1 in the RUNNER - ADRENALINE RUSH leaderboard by the end will be crowned the winner. I will announce the end of the contest on Twitter so make sure to follow me at AltRayDigital for updates. For any further inquiries, feel free to commen...
RELEASING Your First INDIE GAME. 3 THINGS I've Learned About the FINAL 10%
มุมมอง 1412 ปีที่แล้ว
Hopefully this will be of help to anyone else going through the release process of an indie game :) PLAY HEAVY BEAT FOR FREE NOW: altray-digital.itch.io/heavy-beat WEBSITE: altraydigital.com/ TWITTER: AltRayDigital CONTACT: contact@altraydigital.com #indiedev #gamedev #firstgame
Heavy Beat - Gameplay Trailer - NOW AVAILABLE FOR FREE
มุมมอง 5K2 ปีที่แล้ว
After nearly half a year of development, Heavy Beat is finally here! Thank you everyone for your support and I hope you enjoy the game. Don't forget to race each other on the online leaderboards, you can check out the current champions at: altraydigital.com/heavy-beat PLAY HEAVY BEAT FOR FREE NOW: altray-digital.itch.io/heavy-beat WEBSITE: altraydigital.com/ TWITTER: AltRayDigital C...
Runner Mode is Back! - Heavy Beat - Alpha 3 Released
มุมมอง 643 ปีที่แล้ว
Alpha 3 is out and the game is finally "feature complete" with both modes in and pretty much most of the functionality working. If you want to play go ahead and download the alpha for free from: altray-digital.itch.io/heavy-beat
Doomfist.uasset | Basic Doomfist in Unreal Engine 4
มุมมอง 9K3 ปีที่แล้ว
Just a quick meme-infused video about making Doomfist from Overwatch in Unreal Engine 4 (4.26) Blueprints :) Github link for those who want to take a closer look (not every node was shown in the video): github.com/Monster25/DoomfistUE4 Music in the video: Track 1: Song: Funk Cool Groove by MusicToday80 Composed & Produced by: Anwar Amr Video Link: https: th-cam.com/video/FGzzBbYRjFY/w-d-xo.html...
NEW GAME MODE and HOOK MECHANIC?? - Heavy Beat - Public Alpha 2 DEVLOG
มุมมอง 3643 ปีที่แล้ว
Alpha 2 is finally out and with it comes a new game mode! If you want to play go ahead and download the game from: altray-digital.itch.io/heavy-beat 00:00 Architecture Change 01:48 Gameplay Additions 04:55 Visual Changes 05:31 What's Next? #unrealengine #gamedev #ue4 #indiegamedev
Menu Interaction - Heavy Beat Alpha 2 - #SHORTS
มุมมอง 523 ปีที่แล้ว
Just a small teaser of the new menu interaction coming in the 2nd Alpha for Heavy Beat which is still a few weeks away. Alpha 2 contains a brand new game mode as well as plenty improvements to how the game functions overall (several code restructures have also been implemented in order to make the game scalable).
State Machine From Scratch Tutorial for Unreal Engine (C++) - Heavy Beat - Workshop
มุมมอง 5K3 ปีที่แล้ว
In this workshop, I'm going to explain and show how I've implemented the State Machine design pattern for my player character in Heavy Beat. I apologize for the occasional mumbling or mistakes. Here are the project files if you are interested in just getting the final product: github.com/Monster25/CustomStateMachine 0:00 Introduction 3:07 Project Setup 15:47 State Machine Plugin Implementation ...
Assurance of Consequence - Heavy Beat - Official Soundtrack
มุมมอง 713 ปีที่แล้ว
Copyright © 2021 Altray Digital. All rights reserved.
Adrenaline Rush - Heavy Beat - Official Soundtrack
มุมมอง 1363 ปีที่แล้ว
Adrenaline Rush - Heavy Beat - Official Soundtrack
Public Alpha 1 Released! - Heavy Beat - Devlog 3
มุมมอง 1583 ปีที่แล้ว
Public Alpha 1 Released! - Heavy Beat - Devlog 3
State Machine Implementation for Unreal Engine (C++) - Heavy Beat - Devlog 2
มุมมอง 2.7K3 ปีที่แล้ว
State Machine Implementation for Unreal Engine (C ) - Heavy Beat - Devlog 2
What 2 Months in Unreal Engine Looks Like - Heavy Beat - Devlog 1
มุมมอง 6K3 ปีที่แล้ว
What 2 Months in Unreal Engine Looks Like - Heavy Beat - Devlog 1
Typr - How fast can you Type? - Gameplay Video
มุมมอง 1065 ปีที่แล้ว
Typr - How fast can you Type? - Gameplay Video
Awesome game, thanks for explaining this here man Liked & Subbed :D
So it seems like this version of implementation means you end up with a lot of 'Event fires -> switch onGameplayTag' in the StateMachine component blueprint space, whereas the uObject version in your other video is a lot neater in that respect because instead each event would have an 'if [event fires]' code in individual state scripts instead? In other words, the uObject version is a bit neater in terms of encapsulation?
Correct but its all relative, you should use whatever solution is best for your case. The solution I usually end up using is doing a very lite version of GAS where I implement an ability system with gameplay tags and use the gameplay tags to keep the state while doing everything else in the abilities (UObjects). If you're working on a small game, gameplay tag switches are perfectly fine, if you're working on something larger, UObjects might be the better approach.
Its really interesting to see a StateMachine design style I use quite frequently, used in Unreal and how different it is.
interesting video, I gotta mention mirror's edge fall animation, it's terrifying
Thanks a lot for this vedio, can u tell me is it possible to use DataTable in cpp? (as gameplay tags)
How do you get the include path for the plugin? I cant seem to get the path in the include
Hey! great video! what would you recommend using if I want a state machine for my movement abilities, like walking, sliding, wall running, jumping... and I want to write those abilities in C++ So for a movement state machine completely in c++, do you recomend this system or the system using the Uobjects?
thanks for the amazing content i already saw the other gameplay tag video, so here basically defining states by string , there u have use gameplay tags ryt. I wanted to know if i can use same approach with gameplay tags i have an vr simulation of vehicle with tons of switch , also switches are dependent on other switches, also if player presses the wrong switch, the ui pop up should appear - i hope i can use state machines for this problem statement
well done!
This is VERY good!
Sorry, very noob here. But how did you opened the IDE with all this content from the Project already? If I just open Visual Studio, its not linked with any of my Unreal project, so... is that a way to do it from unreal to have access to all this content already?
dipped my toes into C++ for the first time with this. got it running and packaged with UE5.2, everything working fine so far. thanks a lot :)
Wow, it is so powerful compared to traditional enum, I use enum mostly and get complicated very quickly.
How many states do you think are deemed acceptable nowadays?
@@simonvandenbroek6384 No problem! Make sure you take a look at my other tutorial for building a state machine using tags! Its quite a lot less cumbersome than this one, depending on your needs of course.
Instead of using the interface, wouldn't it be simpler so have a IsStateActive bool that checks if the state is equal to the current state in the state manager? If true, execute.
Just in case someone reads this in the future... if anyone doesn't use his editor, the black highlighted text is his editor showing the implicit type. Do not type that part in. For example "auto It = AvailableStates.CreateConstIterator();"
This is a great deep view on jumping and landing in general, these games u watched are probably a bunch of the better ones. I feel currently in the game industry they keep acceleration their technology but animation stays behind
Would it be a good idea to be able to add multiple sets of "state tag" variables to handle different things within the same component? For example: I could have a state tag set for movement gaits, 1 for rotation modes, 1 for base poses, etc. Would I essentially copy that code a bunch of times and change the names of the variables and functions to add additional ones? Thanks.
Well, hopefully I didn't misunderstand you, but the sole purpose of the State Machine Component right now is to hold a state, handle the changing of that state and keeping track of previous states. There is nothing stopping you from adding more than 1 state machine to your actors, 1 for your movement, 1 for your rotations, 1 for poses etc. Instead of copy and pasting all the functionality multiple times in order to keep everything in one single component, you can re-use it multiple times and keep things nice and clean. So in the future if you have another actor that needs to hold entirely different states, you can always re-use the base state machine component instead of using a big state machine component that handles lots of different things and is tailored towards a very specific actor you had in mind.
You can even create children of the component if you neeed to do highly specialized things such as a state component just for handling animations, provided you have some custom code that will always run when handling animations with a state machine etc. but as a rule of thumb, keep things separate and clean, better to split things into multiple components than to have large bloated ones that will be hard to keep track of.
@@furrybproductions Sure if you think that is a better solution for your case then go ahead. But you can always just create a more specialized state machine component for your situation by inheriting from the base one. Just keep encapsulation in mind and split functionality up between multiple components if you have to.
@@furrybproductions Sounds cool man, glad it was of use!
I love your editting😂
Nice tutorial, it is exactly what I needed, thank you! I just have a question, at 41:20 you changed UCustomPlayerControllerInterface by ICustomPlayerControllerInterface. I did that and it seemed to work since there is no red underline. But when I tried to compile it failed and it tells me that ICustomPlayerControllerInterface is not recognized. What can I do to fix that ?
Bro, that's awesome
Hello, First, thank you for the tutorial, it is really hard to find a little bit advanced stuff on UE, most tutorials are for very basic stuff and mostly badly coded for if you want to extend your project. I have just one question and one remark for you: - At 27:00, you deal with the case where there is no current state yet so you type "CurrentState = NewState;" but you don't add the "CurrentState->OnEnterState(GetOwner());" and the "bCanTickState = true" that you use a bit later when you switch to your new state. Is that deliberate or did you just forget ? - In general, you shouldn't use if,then,else the way you do. Start your code with the edge cases like if(!CurrentState){ do something; return;}. This way you don't need to add "else" and it gets way easier to understand your code. At least that's what most people seem to recommend nowadays :D Thanks again for this cool tutorial!
Thanks for the tip! Check out my newer video on how to do the same state machine but using gameplay tags, much cleaner than using uobjects. Regarding your question, I haven't worked with this code in quite a while but from what I remember I am handling every case for when CurrentState is not set at the start of the function and only then call CurrentState->OnEnter at the end, so I guess it is deliberate, sure I could've written it better than I did. Its been quite a while since I've made this so if you did find something that looks like a mistake then it probably is.
Awesome! Tell me, are the visual effects when connecting to nodes a plug-in or processing in a video editor?
Thanks! Its all processing in a video editor.
Nice work. I'm currently working on a game. I think you could help. I've sent you a note to get a conversation going around work availability.
Thanks! I've sent you a reply.
Thank you 🙏 New to C++ for Unreal (and in general), this was incredibly easy to follow. Random question: is the color formatting you use in Rider a custom scheme or from a certain plugin/setting? Your settings made it visually much easier to differentiate between variables, functions etc.
I cant compile for UE5. I prefer not to build by hand. Is there a compiled UE5 plugin please?
Just follow the video, it takes an hour max.
I've seen both of your state machine tutorials (1 is using UObject and this one using GameplayTag). Just wondering to your experience, which one you feel better ??? I think the GameplayTag one is more flexible, am I right ???
do you have the project file for this, I need to see how that launchpad works for my game!
Send me an email at altraydigital@gmail.com and I'll provide the project files!
Hey, do you still have the files? I'd really appreciate if you could send me too.
very helpful to see some unreal tutorials showing traditional programming techniques/patterns. Thank you.
Thanks! It was increasingly frustrating for me not finding stuff like this. I always ended up finding tutorials for animations and stuff that I didn't really need.
this is great u should upload more of these tutorials ^^
Knowing nothing about making games, the fact you make boxes and connect them to other boxes and that means things work looks like wizardry to me. Yet I was entertained all the way.
I've been using my own "pattern" for implementing state machines for a while now with the intention of transitioning to an Actor Component but my biggest hurdle has been getting away from enums to represent state. This is brilliant, thank you so much for sharing.
Awesome video!! Could you please explaine how you have done it? Or provide the project files
Very useful, thank you for the video. One question: how do you switch on GameplayTag in C++? Or how do you check states, etc.?
Thanks. I have already implemented it in C++ , I was just looking for the best/most efficient way to check against a gameplay tag in C++.
@@LucianoIurino Hey! Would you mind sharing a little hint on how you would use that in C++? For example the Switch on gameplay tag equivalent, or whatever direction you ended up using?
Nice content! literally one of the only videos that explains in detail how to create a state machine in c++ in ue4, the delegates part for the input was extremely useful. Thank you!
Thanks! I agree I couldn't find anything related to general purpose state machines at all, just for anim montages. I've uploaded a more elegant solution (depending on your requirements) using gameplay tags instead if you're interested!
Me waiting for my girlfriend to do her thing
Looks awesome!
Looking good :D
I had so much problems trying to get my StateMachine from Unity (C#) to work in UE(c++) this has helped me out so much. Keep up the good work, def got a sub from me ! :D
Good video :D Quick question tho, how do you reference the states in the StateManager ? I was trying to have a pointer to the current state the player is in and save each state in a global variable, so that I can just switch it, but I cant seem to get it working.
Sorry, I thought I was replying on another video, but for all the implementation details you can check out the actual implementation video here: th-cam.com/video/EZBnx-ZSoS0/w-d-xo.html it goes through everything.
@@AltrayDigital Huge thank you ! This helps a lot :D
ha ha i love this now add a weapon and we can play this together ha ha
That stim Sound i awful but well done lad
Do you think you could add that buttery slide apex has? Great video
If people want to see it, sure!
@@AltrayDigital yes please!