I Made Diablo Clone in 1 Week

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

This is impressive. Probably. I literally know absolutely nothing about game design, so I have no frame of reference. It's probably impressive, though.

👍︎︎ 9 👤︎︎ u/crockpocket 📅︎︎ Aug 08 2020 🗫︎ replies

It's impressive even though he used Unreal Engine and a bunch of premade assets. I don't think someone easily has the dedication to do as much as he did in 7 days.

Still, I would be heavily more impressed if someone made the game from scratch, without a game engine like PoE & Diablo are made.

For those that don't know, the reason most ARPG games use custom engines instead of Unreal/Unity/CryEngine, has to do with mechanics limits & performance. As an example, if you look in the video he set up a complex script for monster behavior of every single one. Those scripts are very heavy to run, it starts becoming an issue when the number of monsters exceeds the thirties/forties. What most games do is heavy aspects of those behaviors be hardcoded and computed in large batches to heavily imp[rove performance. This is still possible in premade game enhines but it's very cumbersome and can be very hard to setup.

👍︎︎ 5 👤︎︎ u/BlinkHawk 📅︎︎ Aug 08 2020 🗫︎ replies

priest fear ability icon lol

👍︎︎ 3 👤︎︎ u/Zamuru 📅︎︎ Aug 08 2020 🗫︎ replies

Impressive work! Also, RIP Paragon ;_;

👍︎︎ 2 👤︎︎ u/[deleted] 📅︎︎ Aug 08 2020 🗫︎ replies

That's pretty dope how fast he got that up and running.

Last time I tried to make a prototype it took a week to get my green circle to shoot at enemy red circles and not have anything break.

👍︎︎ 1 👤︎︎ u/[deleted] 📅︎︎ Aug 09 2020 🗫︎ replies
Captions
here is the challenge i have only one week to make an action rpg game like diablo or path of exile and i'm not allowed to write a single line of code i'm gonna use unreal engine 4 because of its incredibly powerful visual scripting tool which allows to make games without coding at all there is a special entity called blueprint which is an alternative to classes in any object-oriented programming language after making a new project the very first thing i should implement is player character and player controller for now i'm gonna use a placeholder as a 3d model for player character we can already place the character in a level but we should implement a simple script to make the character move basically blueprints have almost all the features from any object-oriented language such as methods properties inheritance and polymorphism i made a simple script to control the character and also edit a special camera component so now we can actually move across the map however that's not really how a camera works in action rpg games so i remade a movement script and now i'm gonna add some animations because not gonna lie it is looking kinda weird in unreal engine there is a thing called animation blueprint basically it is a finite state machine and if you don't know what a state machine is then it is a mathematical model of computation yeah very useful well it is a number of states and transitions each transition can be triggered by some input after some basic animation was added i moved on to a simple ui first of all i wanna add health and mana diablo-like orbs there is a powerful node-based shader editor in unreal engine so after compiling some shaders we have pretty cool orbs the next task is to create abilities unreal engine has a quite powerful widget editor so i created a couple more blueprints and also scripted ability bar i also decided to add some simple animations there are some sweet animations when player presses a button abilities themselves don't do anything for now but it is a good starting point however i was quite tired and that was it for the first day i want to start the day with implementing basic ai but firstly i want to thank core for sponsoring this video core is the new free game creation platform built on top of unreal engine it lets you create publish and play games especially if you want to quickly set up a 3d multiplayer game if you are new to making games it is a great way to start carve allows you to make games with no coding required and also provide thousands of free assets like music sounds and 3d models but if you prefer to use code core still lets you create your own game logic in lua in future core will offer a set of monetization options for creators that will help them find an audience and make money from their games with a single click your game will be instantly hosted on a core platform by the way core recently announced the 1 million support program for top creators core is also hosting a fantasy themed dungeon building contest with over 20 thousand dollars in prizes in collaboration with dungeons and dragons as i mentioned scores completely free so yeah be sure to check them out by clicking the link in the description and who knows maybe core will become the youtube of game development but let's return to an ai i need some 3d models for enemies though but here is a problem i never made a single 3d model in my life but every month epic games releases several high quality assets absolutely free of charge exclusively for unreal engine marketplace moreover there are hundreds of assets from their paragon game available for free i decided to use some models from paragon in my game so i created an enemy character and implemented simple artificial intelligence using behavior trees it doesn't require to use any codes nonetheless it is a very powerful tool when used properly which is definitely not the case anyway i've managed to make it work and after some additional scripting ai now can follow and attack the player yeah after an hour or so i've managed to make a decent ai i also created another widget for ai's health bar and scripted some cool outline shader the next thing i want to implement is a combat system now if a player clicks on the enemy player character will attack it we can't really see it unfortunately because there are no animations yet now enemy can die if his health reaches zero i thought that it would be cool to enable rectal physics when ai dies instead of that animation yeah i wasted a couple of hours so understand that i should press that little button to make it work anyway now we have pretty cool death animation or at least i think so i also added some effects to hide enemies model after death that worked pretty nice but unfortunately i spent too much time on ai script and randall physics i was quite tired and that was it for the second day my third day has begun with making a widget for players inventory it looks pretty cool i even made a simple button but there are actually no items to have currently i am gonna fix this problem by creating a new item blueprint however i need some icons for the items and i decided to use this awesome icon spark from unreal engine marketplace to save some time i want to implement a simple drag and drop system now and that is something that pretty easy to make in unreal basically you only should spawn drag and drop operation with some parameters all right maybe it's a bit more complicated nonetheless i've managed to make it work and also create a script to make it possible to move item inside the inventory widget it works pretty nice and the next thing i'm gonna implement is equipment system and players attributes i've created another widget for players equipment and decided to just use same widget i've used for inventory slots to make equipment slots while it worked for single slot items i haven't managed to make it work for double slot items such as weapons so i ended up creating equipment slots from scratch and spending a lot of time on it however i was quite happy with the result the last thing i did on the first day was a widget for attributes there are three main attributes strength dexterity and intelligence at that point i was really tired so i decided to finish it on the next day i started my fourth day by designing an attribute system strength should increase amount of health point and damage dexterity should decrease amount of taking damage increase movement and attack speed intelligence should increase amount of mana point and also health and mana regeneration and damage well actually damage just increased amount of damage but all of these aren't really working right now there are just some tooltips i made and that's it we're gonna implement it a bit later and now i wanna improve item system firstly i've created a new enumeration for items rarity there will be common rare epic and legendary items after that i made yet another widget for items tooltips now the player can see the name of the item attributes that item gives and also rarity items don't affect any attributes right now so that is something we should do later and now i want to make items to be real physical objects in the world so we can spawn them and pick them up i've added a 3d model to the item blueprint now we can spawn them in the world but they are actually not interactable also now items have their names displayed if a player holds control key or hover the cursor over an item after that i made a script to make it possible to pick up items i thought that it doesn't work but it actually does we need to hide collected item though i fixed it with a simple script and now it works like a charm another thing i've added was a special item for gold player will receive gold if he's near enough finally i implemented a bunch of functions to manipulate players attributes and items now actually affect them [Music] i've also implemented a simple loot system items can now be obtained by killing enemies so that's pretty cool and it is the time to make a player character actually look decent as i mentioned i'm gonna use 3d models from paragon game since they are free and also are looking pretty cool here is our new character and it is looking awesome we still don't have attack animations so i'm gonna change a bit animation blueprint and here we go the last thing i've added in this day was experience system i've created widget and also pretty cool particle system for level up however i wanna also add a possibility to choose which attribute to increase on level up so i changed attributes widget a bit and now every another level a player has 5 attribute points to spend and of course player can level up by killing enemies it was a really productive day so let's move on to the next one i remember that ability do nothing right now so i designed 12 abilities for two classes warrior and mage i started with warriors once the first one should hit every enemy in front of the player it wasn't really hard to implement because i already had an abstract ability class also i implemented cooldown for abilities that's looking pretty awesome the next five or six hours i've spent on scripting six abilities for warrior character there are some of them simple area of effect ability ability to enchant your weapon with a random enchantment such as fire storm water and others simply increases your damage savage roar is an ability which heals you and give a bit of every attribute dash ability to dramatically increase your movement speed it kind of teleports you on a short distance and finally ability to slow the time itself it was really fun to script all the abilities as i mentioned i wanted to add two classes mage and warrior but at that point i understood that i don't really have enough time to implement another class with all the abilities and stuff so i would stick to the single class warrior it feels pretty fun to play so i'm quite happy with it however that was it for the fifth day of my journey i started another day with adding new maps to the game i had only two days more at that point so i decided to add only three maps one map is a town or more likely village where players should be able to get some quests buy and sell some stuff and other things like that the second level is a dungeon with enemies where player is supposed to level up and get some items to equip and the last map is a boss fight map there will be a strong last boss of the whole game i got all three maps and appropriate 3d models from unreal engine marketplace for free i tweaked them a bit but i don't really had enough time to design the level from scratch after that i brought some life to the village and by saying live i mean a single npc to buy and sell items yeah let's imagine that the whole village got roasted by some prime evil anyway now we can buy and sell items it didn't take too long to implement and of course i was using connect blueprints to make it i've added portals which player can use to travel between different maps i also was forced to change ability system a bit i wanted to make abilities available when player reaches new level so player starts without any abilities and gets a new ability every one or two levels they are automatically placed on a bar i noticed that abilities don't use mana so i changed it too and added some error messages when there are no mana points or ability is on cooldown after that i've started to script new enemies the first one is a mage i spawn a projectile actor instead of immediately deal damage and when the projectile hits a player the damage is dealt except it actually never happens so i fixed behavior 3 and here we go apart from the mage there are two more enemies and also two big dudes the first one will be located in the end of the dungeon map and the second will be the main boss of the whole game anyway that was it for the fig's day it was the last day when i immediately found a serious bug the game doesn't save any player's progress when traveling between different maps i was forced to override something called game instance it is an entity that doesn't get destroyed during map traveling so i've added a bunch of variables and also two methods for saving and loading players progress it cost couple of bucks but finally i've managed to fix it i started to place enemies and tweaking some gameplay things like ability damage loot and ai i've put a boss at the end of the dungeon map firstly i wanted to script a few abilities for the boss but then i understood that it would take a lot of time and i have more important things to implement such as quests so here is a twin brother of our lonely npc since it was the last day i decided to add only one quest which basically tell us to go and kill the last boss without any additional steps after that task is completed we can receive a legendary axe which is a sword for a reason anyway i've also created quite a few items of every type and change the look table accordingly i probably messed up something because there are really lot of epic items but i will fix it another thing we need is a game over screen so now we have one a player have only one life to finish the game if you die the game is over and you are forced to start over i also wanted to add music and sounds but i was really exhausted at this point so i found some free music on unreal engine marketplace and made a simple script to play it and what about sounds well i didn't have any time to add them so we don't have any in the last hour of the day i updated the shop npc portal models and tweak the number for abilities a bit to make sure that player is not able to simply rush the final boss without leveling cup firstly finally i made a separated map for a game menu i created a simple widget for that purpose and i was out of time already oh boy seven days were wasted anyway glad to present yet another diablo report [Music] [Applause] [Music] [Music] [Music] [Music] [Applause] [Music] [Music] [Music] [Music] uh [Music] [Music] so the bad guy is dead the village is saved and i hope you enjoy it i want to thank you very much for watching if you want subscribe to my youtube and follow me on twitter for new videos inside by the way i will upload the game in the next couple of days so check it out link in the description also don't forget to check out core it's completely free so once again link in the description oh and also now we have a fresh discord server where you can ask me any questions and just chill out a bit so you can join if you want well i guess that's about it so thank you once again see you next video
Info
Channel: Fat Dino
Views: 2,277,768
Rating: undefined out of 5
Keywords: unreal engine 4, ue4, unreal engine 5, game development, gamedev, devlog, computer science, how to make games, how to create games, unreal engine tutorial, so i made one, develop games, how to, indie game devlog, sam hogan, brackeys, fat dino, indie dev, unreal engine blueprints, diablo 3, diablo 4, diablo clone, blizzard, diablo mobile, diablo 4 release date, action rpg, rpg game, how to make rpg game, make games without code, make games without coding, diablo
Id: F3tccrzqwvo
Channel Id: undefined
Length: 22min 22sec (1342 seconds)
Published: Thu Aug 06 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.