Action RPG: Gameplay Abilities System | Inside Unreal

Action RPG: Gameplay Abilities System | Inside Unreal


WELCOME TO THE UNREAL ENGINE NEWS AND COMMUNITY
SPOTLIGHT! THE LATEST EPISODE IN OUR
VIRTUAL PRODUCTION PODCAST SERIES HAS BEEN RELEASED. IN IT, DIRECTOR ROBERT ZEMECKIS
AND VFX SUPERVISOR KEVIN BAILLIE DISCUSS WHAT IT TOOK TO BRING
THE DOLLS IN WELCOME TO MARWEN TO LIFE. LISTEN TO THE 50-MINUTE
PODCAST OR DIVE INTO OUR BLOG FOR AN OVERVIEW OF THEIR PROCESS
FROM DIGITALLY MODIFYING LIVE-ACTION BODY PARTS
TO COMPOSITING TO MOCAP. IN JUST TWO WEEKS WE’LL BE
KICKING OFF THE FIRST #UE4JAM OF THE YEAR — OUR WINTER #UE4JAM.
GAME JAMS ARE A GREAT CHANCE TO PUT YOUR DEV SKILLS TO THE TEST
OR TRY OUT NEW ASPECTS OF THE ENGINE YOU MAY BE
UNFAMILIAR WITH. ALSO, YOU COULD WIN
SNAZZY PRIZES FROM OUR SPONSORS! BE SURE TO SIGN-UP AND STAY
TUNED FOR MORE SPONSOR ANNOUNCEMENTS LEADING
UP TO THE JAM! TODAY’S THE LAST DAY FOR
JANUARY’S FEATURED FREE MARKETPLACE CONTENT, WHICH
INCLUDES AN AUDIO BUNDLE, FOLIAGE, ENVIRONMENT, AND ANIMAL
PACKS, AND A MASTER MATERIAL FOR CREATING A VARIETY OF PROGRESS
BARS. IF YOU HAVEN’T SNAGGED THIS MONTH’S ASSETS, DO SO
BEFORE THEY ROTATE OUT! ON TO OUR FANTASTIC WEEKLY KARMA
EARNERS. THIS LOVELY FOLKS ARE JUMPING IN ANSWERHUB AND HELPING
THEIR FELLOW DEVS FIND SOLUTIONS. MANY MANY THANKS TO:
CHYROS, SHADOWRIVER, JACKY THE_BATCH, THOMPSONN13,
NEBULA GAMES INC, TUERER, KRISTOFMORVA,
XXZUKINIXX, EVIGMAE. IF YOU’D LIKE TO SEE YOUR NAME ON THIS LIST, HEAD
OVER TO ANSWERHUB AND SHARE YOUR UE4
KNOWLEDGE, TOO! NOW FOR OUR COMMUNITY SPOTLIGHTS OF THE WEEK!
WE’RE STARTING WITH PICZLE COLORS FROM SCORE STUDIOS WHICH RELEASED TODAY ON NINTENDO
SWITCH! IN THIS PUZZLE GAME, YOU’LL USE THE NUMBERS AROUND
THE SIDE OF THE PUZZLE TO WORK OUT HOW MANY BLOCKS OF WHICH
COLOR SHOULD BE PAINTED IN EACH ROW AND COLUMN. THE GAME COMES WITH 6 COLOR PACKS WITH 50
PUZZLES EACH! A FUTURISTIC SPORTS-ACTION GAME, SPYKEBOTS IMMERSES THE
PLAYERS INTO A HIGH OCTANE MATCH-UP WHERE THEY MUST SMASH,
PASS, AND SPIKE IN A VOLLEYBALL MEETS FULL CONTACT FOOTBALL
EVENT. YOU CAN GRAB UP TO THREE OF YOUR FRIENDS AND
START BATTLING TOMORROW WITH THEIR
RELEASE ON STEAM! THE FINAL SPOTLIGHT THIS WEEK IS A PROJECT CALLED AMBER COUNTY
– CREATED ENTIRELY IN BLUEPRINTS BY A SOLO DEV OVER THE LAST
YEAR. AMBER COUNTY IS A HYBRID ADVENTURE THAT MIXES PUZZLE
AND NARRATIVE ELEMENTS. LIVE THE THE MYSTERIOUS
JOURNEY OF STEVEN O’HARA, THE BLIND DETECTIVE THAT
SOLVES CASES USING HIS “DREAMS”. GO CHECK IT OUT
FOR FREE ON ITCH!>>AMANDA:
THANK YOU FOR JOINING US FOR OUR NEWS
AND COMMUNITY SPOTLIGHT. ♪ ♪ HEY, AND WELCOME TO OUR
UNREAL ENGINE LIVE STREAM. I’M YOUR HOST AMANDA BOTT.
WE HAVE SAM DEITER, WE ALSO HAVE PAULO SOUZA,
CALLING IN FROM BRAZIL, NEWLY TITLED TECHNICAL
ACCOUNT MANAGER, AND ON HIS FIRST EVER
UNREAL ENGINE LIVE STREAM, OUR COMMUNITY MANAGER
VICTOR BRODIN. SO SUPER PUMPED TO
HAVE VICTOR JOIN US.>>VICTOR: PSYCHED TO BE
HERE.>>AMANDA: SINCE IT IS YOUR FIRST
LIVE STREAM, DO YOU WANT TO GIVE A LITTLE BIT
OF BACKGROUND ON WHO YOU ARE?>>VICTOR: SURE. I HAVE
BEEN WORKING WITH THE ENGINE FOR ALMOST FIVE YEARS NOW, I STARTED MAKING VR PROJECTS
WHEN DK1 WAS FIRST RELEASED. THAT TURNED INTO A TURMOIL
OF MAKING A LOT OF GAMES, VR PROJECTS, I WAS TEACHING
FOR A LITTLE BIT, AND THEN DID
A COUPLE CONTRACTS, DID A START-UP,
RELEASED A COUPLE GAMES, MY LAST JOB WAS OVER AT OCULUS. SO WE STARTED TO DO
SOME VR STUFF IN THE FUTURE. AND, YEAH, I THINK —
A QUICK OVERVIEW OF MY HISTORY, IF YOU HAVE QUESTIONS, YOU
CAN FIND ME ON DISCORD. I’M THERE MOST OF THE TIME.>>AMANDA: TRICKING
PEOPLE UP ON YOUR NAME.>>VICTOR: RIGHT. YEA, IT’S
NOT ACTUALLY LERP.>>AMANDA YOU HAVE DISAPPOINTED
MANY INTERNAL PEOPLE HERE.>>VICTOR: YEAH, AND THEY TOLD ME SO.
>>AMANDA: HAHA. SO THIS WEEK,
WE’RE DIVING INTO –>>SAM: ACTION RPG. SO WE DID A STREAM IN THE PAST
ON ACTION RPG, AND THAT WAS — LET ME TAKE A STEP BACK. SO THE WHOLE PURPOSE OF ACTION
RPG WAS TO GIVE PEOPLE WHO USE UE4 A BREAK DOWN ABOUT
HOW THE ABILITY SYSTEM WORKS, THAT IS DEMONSTRATED
IN ACTION RPG IS USED IN FORTNITE
AND PARAGON. THE FIRST STREAM
THAT WE HAD WAS BASICALLY TO KIND OF GIVE YOU AN IDEA
OF HOW THE ABILITY SYSTEM WORKS. THIS STREAM IS TO BREAK DOWN
A LITTLE BIT MORE ABOUT HOW THINGS INSIDE
OF ACTION RPG WORK, AND GIVE YOU SOME MORE IDEAS ABOUT WHERE WE ARE GOING
WITH THIS PROJECT, AND WHAT WE WOULD LIKE
TO ACHIEVE WITH IT. PAULO WAS ONE OF
THE OTHER PEOPLE THAT WAS HIGHLY INVOLVED IN
THE DEVELOPMENT OF ACTION RPG. SO THIS GAME WAS
BASICALLY-BUILT — WE HAVE THESE THINGS
CALLED EPIC FRIDAYS, YOU GET A FRIDAY
TO BUILD WHATEVER YOU WANT. SO IT WAS BUILT
BY THE TEAM IN KOREA, AND THEN PRIORITIES SHIFTED
AND THEY PUT IT OFF. PAULO DUSTED IT OFF
BECAUSE IT WAS, AND CORRECT ME
IF I’M WRONG HERE, BUT THERE WERE FOUR EXAMPLES
IN ONE GITHUB RESOURCE THAT YOU NEED TO COMPILE
TOGETHER INTO A SINGLE PROJECT TO SHOW MOST
OF THE FUNCTIONALITY THAT WE DEMONSTRATED
IN ACTION RPG.>>PAULO: YES,
SOMETHING LIKE THAT.>>SAM: SO THIS PROJECT
WAS TO HELP HIM JUST HAVE ONE PROJECT
THAT YOU CAN POINT PEOPLE TO, AND ALSO SHOW HOW UNREAL
CAN DO ONE TO MANY. THIS PROJECT WORKS ON ANDROID,
IOS, HTML FIVE, WINDOWS, MAC, LINUX,
A FEW UNANNOUNCED PLATFORMS, AND SHOULD BE ON CONSOLES, WE HAVE NOT PUT IT
ON A CONSOLE YET – BUT IT SHOULD RUN ON THERE
AND WE HAVE MADE IMPROVEMENTS AND UPDATES TO IT. ONE THING I WANT TO SHOW YOU
BEFORE WE JUMP INTO A LOT OF STUFF IS —
LET ME EXPAND THIS. THIS IS THE ACTION
RPG DOC PAGE IT. IT ORIGINALLY HAD THESE
THREE SECTIONS UP HERE, SETTING UP THE ABILITY SYSTEM, BALANCING BLUEPRINTS
AND C++, AND THEN BREAKING DOWN HOW
THE ABILITIES WORK. OVER THE LAST COUPLE OF WEEKS,
I HAVE CARVED OUT SOME TIME TO ADD A BUNCH OF DOCUMENTS HERE THAT GO ON THE CONTENT CREATION
SIDE OF THINGS. WE HAVE ADDING A RANDOM AMOUNT
OF SOULS PER KILL, ADDING A PICK UP,
MIGRATING CONTENT, ADDING A NEW WEAPON,
AND ADDING A NEW POTION. AND EACH ONE OF THESE
ARE MEANT TO SHOW YOU A DIFFERENT ASPECT OF THE GAME. THEY ARE SET UP
IN A WAY THAT BASICALLY — IT GOES SUPER EASY
FOR ADDING A POTION, ADDING A WEAPON
IS SLIGHTLY MORE COMPLEX — PICK UP, JUST A LITTLE BIT
MORE COMPLEX THAN THE OTHER TWO, I SAID THAT BACKWARDS,
ADDING A RANDOM SOUL, AND ADDING A PICK UP
IS THE MOST COMPLEX. MIGRATING CONTENT IS
HOW I WAS BRINGING CONTENT OVER FROM THE
INFINITY BLADE WEAPONS PACKS, BECAUSE I HAD TO END UP
REPEATING THOSE STEPS, SO I JUST MADE
ANOTHER DOCUMENT FOR IT. WITH THAT OUT OF THE WAY, LET’S TALK ABOUT WHAT
OUR CURRENT IMPROVEMENTS ARE. I’M GOING TO MOVE
THIS PAGE OVER. AND ONE OF THE THINGS
THAT PAULO DID –>>PAULO: YAY.
>>[ LAUGHTER ].>>SAM: — WE’RE GOING TO
CLICK ON THIS SCREEN RIGHT HERE, AND LET’S SKIP THE INTRO.
SO FIRST OFF, YOU NOTICE THAT I HAVE DIFFERENT
CONTROLS HERE FOR MY PC. THE COOL THING ABOUT THIS IS,
WHEN I GO ON MOBILE, I WILL HAVE MOBILE CONTROLS. MY UI DOWN HERE
IS SLIGHTLY DIFFERENT, WHEN I’M ON PC,
I HAVE THE PC CONTROLS, IT IS PROBABLY A LITTLE HARD
TO MAKE OUT, BUT THERE IS A LEFT CLICK,
A RIGHT CLICK, AND SPACE BAR,
MAKES ME ROLL. TAB OPENS UP THE UI. ONE OF THE COOLEST THINGS
I THINK HE DID WAS THIS. I WILL GRAB THE EDGE
OF THE WINDOW, I WILL MAKE THE UI
REALLY BIG OR SMALL, AND NOTICE THE UI STAYS EXACTLY
WHERE IT SHOULD BE, UNLESS I PUT IN
A CRAZY RESOLUTION. THE REASON IT IS SO COOL
IS THERE IS NO NEED FOR YOU TO MESS WITH THE COMPLICATED UI SCALING CURVES
OR ANYTHING LIKE THAT. THE UI WILL STAY IN PLACE IN
RELATION TO WHATEVER RESOLUTION YOU ARE VIEWING THE GAME ON. THIS IS AWESOME BECAUSE, IF YOU
HAD TO MESS WITH UI CURVES, YOU HAD TO MAKE A BUNCH
OF SPECIAL ENTRIES FOR WHATEVER WEIRD
RESOLUTION YOU MIGHT HAVE NOT NECESSARILY
BE SCALING THE UI TO CORRECTLY, OR YOU JUST MISSED
AN UI ELEMENT AND NOW — YOU MISSED A SETTING,
YOU MISSED A RESOLUTION, AND NOW YOU HAVE YOUR UIS
ON TOP OF ONE ANOTHER. WE ADDED A COUPLE NEW WEAPONS
AND POTIONS, I HAVE A PICK UP HERE,
A POTION, AND A SWORD, THESE ARE THE RESULTS OF THE
DOCUMENTS I SHOWED YOU EARLIER. I ALSO WENT IN AND APPLIED
PROXY GEO AND HLOD — LET ME SEE
IF I CAN FIND THE OTHER PIECES. YOU CAN SEE IT IS NOT THERE, IT
IS MADE UP OF INDIVIDUAL MESHES. AS I GO BACK, IT WILL —
OOPS, IT WILL FADE OUT. A LITTLE BIT TOO FAR BACK THERE. YOU CAN SEE THAT IT MADE IT
ONE PIECE. THIS IS GOOD BECAUSE ON MOBILE, YOU WANT AS FEW DRAW CALLS
AS POSSIBLE. SO WHAT THIS IS DOING,
IT IS NON-DESTRUCTIVELY REPLACING THOSE PIECES
IN THE BACKGROUND WITH ONE MESH
AND ONE MATERIAL, MAKING THIS PIECE, WHICH IS
PROBABLY FIVE OR SIX INDIVIDUAL STATIC MESHES INTO,
AGAIN, ONE MESH, ONE MATERIAL,
WHICH IS ONE DRAW CALL, WHICH IS WHAT
YOU WANT ON MOBILE. SOME PLANNED IMPROVEMENTS
THAT WE HAVE. WE WILL IMPLEMENT PSO CACHING, THAT IS THE NEW FORM
OF SHADER CACHING. THERE ARE DOCUMENTS
THAT ARE WRITTEN ABOUT IT, WE HAVE PSO DATA GENERATED, JUST HAVEN’T ACTUALLY
WRITTEN THE CODE THAT COMPILES IT
DURING THE INTRO, I CANNOT THINK OF THE NAME
OF THE WORD, LOADING IMAGE –>>PAULO: LOADING?>>SAM: I DON’T KNOW. IT JUST
TOTALLY FELL OUT OF MY HEAD.>>PAULO: LOADING SCREEN.>>SAM: LOADING
SCREEN, THERE WE GO. WE’RE GOING TO LOOK INTO
DOING LOCAL NOTIFICATIONS FOR AN IN-GAME EVENT,
POSSIBLY ADDING SOCIAL SUPPORT, AND SOME PROCEDURAL GENERATION
FOR THE LEVELS, AS WELL AS DIFFERENT
ENEMY TYPES AND BEHAVIORS. AND FINALLY, SO —
AN IMPROVEMENT THAT IS NOT GOING TO HAPPEN
IS MULTIPLAYER. AS IT CURRENTLY STANDS, ACTION RPG WILL
NEVER HAVE MULTIPLAYER. I’M NOT SAYING THAT
THERE MIGHT BE SOME RESOURCES THAT ALLOW ME TO DO THIS, THE REASON WE DON’T HAVE
ANY PLANS FOR IT IS WE MADE A DECISION
AT THE BEGINNING OF THIS GAME DUE TO TIME CONSTRAINTS TO MAKE
SURE WE GOT IT OUT ON TIME, WE DIDN’T BUILD IT
WITH MULTIPLAYER IN MIND. IF WE DID, IT WOULD REQUIRE
A MASSIVE REWRITE OF HOW WE ARE IMPLEMENTING THE ABILITY SYSTEM TO DEAL WITH REPLICATION AND
DAMAGE CALCULATION. WE DIDN’T HAVE THE TIME
WHEN WE WERE DOING THIS TO ACTUALLY IMPLEMENT THAT. THAT BEING SAID, IF YOU ARE
LOOKING FOR AN EXAMPLE OF HOW TO DO MULTIPLAYER, THE BEST EXAMPLE
IS SHOOTER GAME. THAT WILL SHOW YOU THE EPIC WAY TO SET UP
A MULTIPLAYER PROJECT, SO THAT IS A SUPER VALID
RESOURCE FOR THAT. PAULO,
DO YOU HAVE ANYTHING THAT YOU WOULD LIKE
TO ADD FOR THIS?>>PAULO: SURE. ONE THING THAT IS
COMING UP SOON, AT SOME POINT, IS SUPPORT FOR MULTIPLE
TRANSLATIONS — WE ARE WORKING ON
ADDING NEW REGIONS, AND NEW LOCALS, TO ACTION RPG. WE WILL FINALLY HAVE
A SAMPLE PROJECT THAT IMPLEMENTS THE LOCALIZATION
SYSTEM IN UNREAL SO OTHER DEVELOPERS CAN LOOK AT
AND USE IT AS A REFERENCE. WE ARE NOT SURE THE LANGUAGES
AT THIS POINT BUT, I MEAN,
SINCE IT IS USED AS AN EXAMPLE, JUST A BUNCH OF
THEM, LIKE 3 OR 4, JUST SO DEVELOPERS CAN LOOK
AT A PROPER EXAMPLE FOR THAT.>>SAM: SO PROBABLY ADD ENGLISH,
BAD ENGLISH MAYBE –>>[ LAUGHTER ].>>SAM: MAYBE COCKNEY –>>PAULO: WELL, I CAN DO
PORTUGUESE.>>SAM: SO
LET’S GO AHEAD AND… LET’S TAKE A
LOOK AT THE POTION. SO ONE OF THE THINGS I WANTED
TO TALK ABOUT THE POTION IS, BASICALLY THIS IS
ALL MADE USING JUST SIMPLE DATA ASSETS
INSIDE OF UNREAL. WE CAN SEE THAT THIS POTION
RIGHT HERE, THIS IS JUST A DATA ASSET, WHICH IS LINKED
OFF OF RPG POTION ITEM. WHAT THIS DOES,
THIS IS WHAT CONTROLS WHAT YOU SEE
INSIDE OF THE STORE, AND ALSO SETS THE PRICE
AND THE AMOUNT THAT YOU HAVE. SO LET ME GO BACK AND, UH,
I MEAN — HOLD ON A SECOND HERE. PULL THIS DOWN
SO I CAN GET THIS GUY AND RUN IT
IN the SELECTED VIEWPORT. SO WHEN I TAB HERE
OVER TO THE POTIONS, YOU CAN SEE THE DEATH DOOR
POTION HERE, ALL OF THE INFORMATION
THAT IS CONTAINED HERE, THE PRICE, A LITTLE DESCRIPTION,
ESCAPE OUT OF THAT — SO I CAN GET BACK TO THIS, NO.
THERE WE GO — IS CONTAINED WITHIN
THIS DATA ASSET RIGHT HERE. LET ME CLOSE THIS
WINDOW AND GO TO THESE. SO WE HAVE GA AND GE PREFIXES. GA
IS THE GAMEPLAY ABILITY. I’M GOING TO OPEN IT UP,
AND WE WILL PULL IT OVER HERE. SO WHAT THIS IS DOING IS —
THIS IS ALL OF THE — AND I THINK I ACCIDENTALLY
LABELLED THESE BACKWARDS, HAHA. HANG ON ONE SECOND HERE.
I JUST REALIZED MY MISTAKE. YES, I DID. I TOTALLY
LABELLED THESE BACKWARDS. OH, WELL. SO, UM, LET ME GO BACK HERE
AND CLOSE THIS AND OPEN THIS ASSET BACK UP.
SO WHAT THIS IS DOING RIGHT HERE IS THIS IS ACTUALLY EDITING
THE — THIS IS WHAT I WAS LOOKING FOR.
I WAS LIKE, WHERE DID IT GO? I WILL KEEP GOING DOWN HERE,
ALL RIGHT. I’M SORRY. THIS IS WHAT IS CONTROLLING
THE ACTUAL VISUALS OF THE WHAT’S GOING ON
WITH THIS EFFECT. SO IF I COME HERE,
AND THIS IS THE — THIS IS THE TARGETING, SO RIGHT HERE IS THE EFFECTS
CLASS TO PLAY. BUT THIS IS THE MAIN THING YOU WANT
WITH THIS PARTICULAR ONE, AND IT’S THE MONTAGE HERE,
YEAH, I FORGOT ABOUT THAT. THE MONTAGE BASICALLY,
I’M USING THE SAME MONTAGE THAT I USED FOR THE HEALTH
AND THE MANA POTION, AND I SLOTTED THIS IN, I DIDN’T
HAVE TO CHANGE ANYTHING, OR MAKE A NEW MONTAGE
AND PUT ALL OF THIS IN THERE, EVERYTHING THAT WAS DONE
FROM THIS MONTAGE IS WHAT WAS ORIGINALLY IN
THE HEALTH AND THE MANA POTION. THAT IS HERE, AND THIS CONTROLS
BASICALLY THE VISUALS. I WILL GO BACK
TO THE POTION HERE, AND THIS IS WHAT CONTROLS THE VALUES
THAT ARE APPLIED TO THIS. AND THOSE ARE RIGHT HERE,
THE MODIFIER. THE FIRST MODIFIER IS THE
RPGATTRIBUTESETHEALTH, AND THEN WE HAVE
THE RPGATTRIBUTESETMANA. AND WHAT I DID
WHEN I CREATED THIS, I JUST DUPLICATED
THE HEALTH ONE. SO I CAME UP HERE,
AND I LITERALLY RIGHT-CLICKED AND I DUPLICATED IT.
ONCE I OPENED IT UP, I OPENED UP THE ARRAY HERE,
I SET IT TO MANA, AND IN THE MAGNITUDE
THAT CONTROLS THE AMOUNT, I SET IT TO 2, MADE SURE
IT USES THE ATTACK DAMAGE, EVEN THOUGH
IT SAYS ATTACK DAMAGE, THESE ARE THE NUMBERS
THAT WE CAN USE FOR BASICALLY WHATEVER —
AND THAT IS ALL I HAD TO DO. I JUST HAD TO SET THIS TO 2
SO IT MATCHED WHAT I WAS SETTING UP HERE,
WHICH IS ONE. THIS LOOKS LIKE I DIDN’T
UPDATE THE BUILD CORRECTLY, BUT BY INCREASING THESE NUMBERS
RIGHT HERE, WE ARE GOING TO INCREASE THE EFFECT
THAT IS APPLIED TO THE PLAYER, SO THIS IS SUPPOSED TO GIVE US
BACK HALF OF OUR HEALTH AND HALF OF OUR MANA; THAT IS
WHY I INCREASED THESE TO 2 — TO GIVE US A LITTLE BIT MORE
THAN WHAT WE CURRENTLY HAVE. THAT’S PRETTY MUCH IT,
THAT’S ALL I HAD TO DO. AND ONE THING THAT I WOULD LIKE
TO POINT OUT IS — LET’S SEE. LET ME FIND THE ASSET
IN THE CONTENT BROWSER. SEE THE ITEMS FOLDER
RIGHT HERE? IT IS VERY, VERY IMPORTANT. NO MATTER WHAT TYPE OF CONTENT YOU WILL MAKE FOR ACTION RPG, WHETHER IT IS A WEAPON,
A POTION, A SCALE, OR WHATEVER, IT HAS TO GO INSIDE OF
THIS FOLDER RIGHT HERE. IF YOU TRY TO PUT IT OUTSIDE
OF THE ITEMS FOLDER, IT WILL NOT BE ABLE
TO BE SLOTTED INTO THE INVENTORY THAT YOU SEE IN GAME. WHEN I GO IN GAME,
IF I HAVE IT IN THE FOLDER, I DON’T HAVE TO TOUCH THE UI
IN ANY WAY, SHAPE, OR FORM, IT WILL AUTOMATICALLY APPEAR AND BE SELECTABLE RIGHT HERE
WITHIN THE UI. THAT BECAUSE WE USE THE ASSET
MANAGER, IT RELIES ON PASS, SO IT IT IS LOOKING FOR ITEMS
IN THE POTIONS FOLDER TO ADD TO THE POTIONS SELECTION
INSIDE OF THE UI WHEN THE GAME IS PLAYING. THIS IS WHY THEY HAVE TO BE
LOCATED IN THESE FOLDERS. IF YOU TRY TO PUT THEM
OUTSIDE OF THE FOLDER, IT IS JUST NEVER GOING TO WORK. YOU CAN SEE THAT I HAVE
MY WEAPONS OVER HERE AS WELL, AND THAT’S THE —
THAT’S THE TOKENS, IT IS FOR THE SOULS
THAT YOU COLLECT, AND I HAVE THE SKILLS
HERE AS WELL. SO PAULO, IS THERE ANYTHING –>>PAULO: YES, OF COURSE,
ON THE ASSET MANAGE SIDE, YOU CAN CONFIGURE —
YOU CAN SET UP YOUR OWN FOLDERS THAT YOU WANT TO SEARCH
FOR PRIMARY ASSETS, FOR THE ASSET MANAGEMENT SYSTEM. SO ACTION RPG, I THINK, IF WE
JUST SCAN THE ITEMS FOLDER, AND ANY SUB-FOLDER IN IT.
IN YOUR OWN PROJECT, YOU CAN BASICALLY SET THAT UP
TO SCAN ANY TYPE OF FOLDER. IT IS IMPORTANT, AND IT IS — IF YOU WANT TO USE
THE ASSET MANAGES, IT IS IMPORTANT TO TAKE A LOOK
AT HOW WE DID IT, BECAUSE WE STILL NEED TO
IMPLEMENT SOME INTERFACES IN C++ SO THE AGENT CAN ACTUALLY
LOAD ASSETS DYNAMICALLY WITHIN RUN TIME. TAKE A LOOK AT HOW WE DID IT,
WE TAKE A BASE CLASS THAT RESPONDS
TO THE SIMPLE INTERFACE, AND THEN YOU CAN LIST
THE ASSETS DYNAMICALLY, EVEN WHEN THE GAME
IS ALREADY RUNNING USING THE ASSET ASSET MANAGER, THAT HOW WE DID IT
WITH ACTION RPG. GETTING BACK TO THE EFFECTS, IT
IS IMPORTANT TO NOTICE THAT — SO SAM USED THE ATTACK
DAMAGE CURVE TABLE FOR THE NEW POTION ITEM
HE WAS SHOWING. IT IS ALSO IMPORTANT TO NOTE YOU CAN CREATE YOUR OWN
CURVE TABLE IF YOU WANT, WE ARE USING THAT CURVE TABLE
BECAUSE IT WAS ALREADY THERE AND WE WERE JUST TRYING
TO PROVE A POINT. BUT YOU CAN ACTUALLY CREATE
A DIFFERENT CURVE TABLE, WITH ANY BALANCE,
AND YOU CAN MIX AND MATCH TO THE SPECIFIC
NECESSITIES OF YOUR GAME DESIGN, THE GAME THAT YOU’RE WORKING. IT IS INTERESTING
BECAUSE THE GAME — THE SYSTEM ALREADY OFFERS
THAT FUNCTIONALITY THAT ENABLES YOU TO HAVE
NOT ONLY CROSSING — MAKING BUFFS AND DEBUFFS BASED
ON THE CHARACTER LEVEL, OR MAYBE THE ITEM LEVEL,
OR MAYBE YOU CAN HAVE, LIKE, ITEMS OR WEAPONS
THAT CAN BE UPGRADEABLE. IT IS UP TO THE DESIGNER
AND THE TEAM THAT IS WORKING IT, THE TOOLS THERE, AND — I MEAN, DEVELOPERS SHOULD
TAKE A LOOK AT HOW TO HOOK THEIR GAMES
AND IDEAS TO IT.>>SAM: YEP,
AND AGAIN, I DIDN’T WANT TO MAKE ANOTHER
CURVE TABLE, BECAUSE THAT ONE DID
WHAT I NEEDED TO DO.>>PAULO: YEP.>>SAM: SO REMEMBER,
THE MORE ASSETS YOU ADD, THE MORE ERRORS THAT CAN BE
INTRODUCED INTO YOUR PROJECT. I LIKE TO RE-USE AS MUCH
AS I POSSIBLY CAN. LET’S GO AHEAD,
WE TALK ABOUT THE POTION, AND TAKE A LOOK
AT THE SWORD NOW. THE SWORD IS EVEN LESS ASSETS,
IT IS A WEAPON BLUEPRINT. SO LET ME OPEN THIS UP,
AND YOU’RE GOING TO NOTICE IT IS ACTUALLY JUST A — SO WE’VE GOT SOME WEAPONS
DEFAULTS HERE AND, OTHER THAN THAT, IT IS PRETTY MUCH A DATA
ONLY BLUEPRINT. IF YOU DO WANT TO CHANGE
THE VISUALS, YOU WILL HAVE TO OPEN IN
TO THE FULL BLUEPRINT, AND GO TO THE VIEW PORT,
AND VOILA, THIS IS MY WEAPON. IT IS IMPORTANT TO NOTE,
I HAVE THIS CAPSULE COLLISION. THIS IS WHAT IS USED TO FIGURE
OUT IF I HIT SOMETHING. SO EVERY WEAPON
YOU ADD TO ACTION RPG, YOU NEED THIS CAPSULE COMPONENT
INSIDE OF IT, OR YOU CANNOT DO DAMAGE
TO ANYBODY. I WILL CLICK ON THE EVENT GRAPH,
I DON’T HAVE ANYTHING HERE, AND WHAT I WANT TO POINT OUT, IF YOU NEEDED THE WEAPON
TO DRIP FIRE, OR BLOOD, OR GLOW,
OR ANYTHING LIKE THAT, I COULD ACTUALLY DO
ALL OF THAT FUNCTIONALITY HERE WITHIN THIS EVENT GRAPH, SEPARATE FROM THE ABILITY
SYSTEM, AND IT WOULD JUST WORK. THIS IS A BLUEPRINT THAT
THE PLAYER GRABS ON TO, AND PUT INSIDE OF
THEIR INVENTORY. IT MAKES IT VERY SIMPLE
FOR ME TO DO, YOU KNOW, WEAPON EFFECTS
OR THINGS LIKE THAT WITHIN THIS PARTICULAR ASSET. THE OTHER THING I WANT TO SHOW
YOU, I WILL OPEN UP THIS — THIS IS OUR WEAPON SWORD. SO YOU CAN SEE
THE WEAPON ACTOR HERE IS THE BP_WEAPON_SWORD_TALON, THIS BLUEPRINT I HAD
IN THE COLLECTION OVER HERE. THE ITEM TYPE,
IT IS A DROP DOWN, SO YOU CAN CHANGE IT HERE,
WE HAVE A WEAPON. I GIVE IT A NAME, DESCRIPTION,
“IT IS SHARP, IT IS DANGEROUS,” IT HAS AN ICON, IT HAS A PRICE,
AND THESE ARE THE — BASICALLY THE COUNT,
THE MAX LEVEL, AND THIS SAYS ABILITY GRANTED. THIS IS IMPORTANT,
BECAUSE WHEN I CLICK ON THIS, IT IS GOING TO GO
INTO OUR SWORD. SO MAKING ANOTHER
GAMEPLAY ABILITY FOR THE SWORD IS A LOT OF WORK, IT TAKES A LONG TIME TO MAKE
AND IT IS VERY PRONE TO ERRORS. SO TO MAKE SOMETHING
THAT IS SIMPLIFIED, I GRABBED THE EXISTING ANIMATION AND
PUT THIS AS A NEW SWORD TO USE. THIS CUTS DOWN ON THE
AMOUNT OF ASSETS I HAVE AND THE AMOUNT OF ERRORS
I CAN MAKE. I ALSO HAD TO COME IN HERE
AND SAY, YOU KNOW WHAT, I WANT TO USE THIS, COME IN HERE, PLAY MY GAME,
AND THE SWORD — I WILL HIT THE TAB
TO OPEN UP THE UI, AND THE SWORD IS RIGHT THERE. SO IT IS SET UP IN A WAY
WHERE THINGS WOULD JUST WORK IF YOU PUT THEM
IN THE PROPER LOCATIONS — AND SIMPLY JUST — FIND OUT,
WHAT WOULD I DO, WHERE DO I PUT IT,
FOLLOW THE FOLDER STRUCTURE. IF YOU PUT THINGS
WHERE YOU FIND THEM — SO IF I COME OVER HERE, AND I’M GOING TO PULL
MY COLLECTIONS DOWN, YOU CAN SEE THAT I’VE GOT,
YOU KNOW, THE FIRE ACTS, THE POTIONS, THE SKILLS,
I HAVE SOME SWORDS HERE. ALL I HAVE TO DO IS JUST —
YOU KNOW, IF I WANT TO DO SOMETHING
LIKE A DIFFERENT KICK, I CAN DUPLICATE THIS ASSET, THEN I CAN GO INTO,
THE DUPLICATED ONE, AND JUST CHANGE WHATEVER IT IS
THAT I FEEL I WANT TO CHANGE. SO LET’S SEE HERE. I CAN CHANGE THE DAMAGE
CALCULATION ON IT IF I WANTED TO,
I WILL KEEP ON GOING DOWN. I COULD ADD ANOTHER MODIFIER
ON TOP OF IT TO MODIFY WHATEVER DAMAGE IT’S DOING,
I COULD COME HERE AND I COULD CHANGE,
MAKE IT A DEFAULT ATTACK, OR A HEAVY ATTACKER,
WHATEVER I WANT TO DO, BASICALLY THIS IS GOING TO — THE DEFAULT ATTACK
AND THE HEAVY ATTACK, I THINK IT IS —
YEAH, DEFAULT, MEDIUM, AND HEAVY ARE JUST GOING TO —
ONE DOES 100, ONE DOES 200, AND ONE DOES 300, I THINK.
WELL, IT HAS BEEN A LITTLE WHILE SINCE I LOOKED
AT THE DATA TABLES, BUT THIS IS HOW YOU CONTROL
THE DAMAGE IT IS GOING TO BE APPLYING. BUT AGAIN,
IT’S NOT VERY COMPLICATED TO SET ALL THIS STUFF UP,
IF WHERE — I — I WILL CLOSE THIS,
COME DOWN TO THE COLLECTIONS, IT IS THESE TWO ASSETS
THAT I HAD TO MAKE THIS. SO THE OTHER THING I WANT
TO SHOW YOU IS A PICK UP. LET ME OPEN UP THE PICK UP
BLUEPRINT REALLY QUICK. SO THE PICK UP —
SO IN THE TUTORIAL, IT IS LITERALLY JUST ADD
A LITTLE PIECE OF HAM. I DID A LITTLE BIT
OF EXTRA WORK HERE, AND I DID A LITTLE BIT,
IT LOOKS COMPLICATED, BUT IT IS VERY SIMPLE. LET ME PULL THIS OUT
TO THE LEVEL AND PULL THIS OVER. SO WHAT I CAN DO,
I CAN COME DOWN HERE AND CHANGE
THE POTION TYPE TO MANA, AND THEN WHAT IT’LL DO
IS CHANGE IT TO THE LOLLY POP, AND IT WILL ALLOW IT
TO ROTATE — I CAN COME BACK HERE
AND CHANGE IT TO A HEALTH ASSET AND YOU CAN SEE
THAT IT CHANGES IT BACK. THE REAL BREAD
AND BUTTER OF THIS SCRIPT IS IN THE EVENT SCRIPT.
SO WHAT ARE WE DOING HERE? SO WE HAVE THIS COMPONENT
ON ACTOR, BEGIN OVERLAP, IT IS A SPHERE COLLISION. YOU CAN SEE THERE’S
A SPHERE COLLISION RIGHT HERE. AND WHAT I WANT TO DO IS
WHEN I COLLIDE WITH THAT, I WILL SET A SLOTTED ITEM.
AND WHAT DO I WANT TO SET? I WANT TO SET A POTION,
AND A POTION TYPE. I WANT TO SET THE HEALTH
POTION. I WANT TO UPDATE
THE ON SCREEN CONTROLS, THIS WILL REFLECT
THAT I PICKED UP THE POTION, THEN I ADDED
A QUICK DELAY RIGHT HERE BECAUSE I WAS HAVING
SOME ISSUES SOMETIMES WHERE IT WOULD ACTUALLY
NOT DESTROY THE STUFF — I’M SORRY, ADD THE STUFF
BEFORE IT DESTROYED EVERYTHING. SO THIS .02 SECOND DELAY,
JUST MAKE SURE THAT WHEN I KILL THE LIGHT
AND I DESTROY THE ACTOR, ALL THE OTHER STUFF
HAS BEEN DONE FIRST. THIS IS THE ONLY LOGIC
THAT YOU NEED FOR THIS TO WORK. AND SO IF I COME HERE,
AND GO AHEAD AND PLAY, THERE WE GO.
WHOOPS. AND I WALKED OVER, YOU CAN SEE
THAT I’VE GOT IT IN MY — WHAT DOES THAT BUTTON SAY,
I CAN’T READ IT. IT IS TOO TINY. YEAH, F11. AH! THE R KEY.
SO NOW I CAN DO MY POTION. I WILL ESCAPE BACK OUT, AND I CAN ADD MULTIPLES
OF THESE TO THE LEVEL, I WILL CHANGE THIS
TO A MANA ASSET, HIT ALT+P ON THE KEYBOARD,
F11 TO FULL-SIZE IT — I GRABBED THE HEALTH ONE,
AND THE MANA ONE: HIT R, GET THE MANA — HIT TAB, AND I COME OVER
TO THE HEALTH POTION, OH, I DON’T THINK
I HAVE ENOUGH MONEY. THERE WE GO. AND LET ME DO THIS
ONE MORE TIME, BECAUSE I THINK — THERE WE GO. IT DID IT NOW. BUT IT LOOKS LIKE IT MIGHT NOT
HAVE UPDATED, I WILL GO BACK
AND HAVE A LOOK AT THAT ONE. WE MADE QUITE A FEW UPDATES
TO THIS PROJECT SINCE IT RELEASED WITH 4.20 —
WAS IT 4.20? 4.21? —
I THINK IT WAS AROUND 4.20, WHICH BRINGS ME
TO ANOTHER POINT. NOW, YOU CAN USE THIS AS A BASIS
TO BUILD YOUR PROJECT OFF OF, BUT I WOULDN’T
RECOMMEND YOU DO THAT BECAUSE WE MAKE SOME MASSIVE, SWEEPING CHANGES TO THIS
EVERY SINGLE UPDATE, FOR THE UI EXAMPLE I SHOWED YOU
IN THE BEGINNING, I’M EXPANDING IT
AND CONTRACTING IT, WE COMPLETELY —
WELL, I SHOULDN’T SAY WE. PAULO COMPLETELY RE-WROTE
HOW THE UI FUNCTIONS AND, IN FACT, LET ME OPEN UP
THE BLUEPRINT AGAIN, THERE WERE OTHER CHANGES
THAT WERE MADE WHEN I HAD AN ENTIRELY
OTHER PIECE OF BLUEPRINT LOGIC THAT WAS OVER HERE
THAT MADE SURE THAT I UPDATED IT THE CORRECT
ITEM TYPE, THE CORRECT AMOUNT, BECAUSE IT WOULDN’T
DO IT AUTOMATICALLY, AND THERE WERE TWO NODES
WITH UPDATES THAT I CAN REMOVE THOSE OUT.>>AMANDA: OH, OKAY.>>SAM: SO IF YOU ARE USING
THIS TO BUILD A PROJECT FROM, I WOULD NEVER UPDATE IT —
>>AMANDA: HAHA.>>SAM: JUST TO DUMP OVER THE TOP
LIKE MOST PEOPLE DO WHEN THEY UPDATE, THEY GET
THE LATEST AND GREATEST, BECAUSE IT IS GOING TO BREAK
EVERYTHING IN YOUR PROJECT. YOU WILL HAVE
A VERY BROKEN PROJECT. WHAT YOU SHOULD BE DOING
IS USING THIS AS A LEARNING TOOL TO ADD NEW WEAPONS, POTIONS,
MAYBE ADD ENEMY TYPES, OR WHATEVER YOUR HEART DESIRES, FIGURE OUT HOW THE SYSTEMS
WORK WITH ONE ANOTHER, BECAUSE YOU HAVE AN EXAMPLE, A COMPLETE EXAMPLE
OF HOW THIS WORKS TOGETHER AND TAKE THIS KNOWLEDGE
AND APPLY IT TO THE PROJECT. PAULO, ANYTHING
YOU WOULD LIKE TO ADD.>>PAULO: YEAH, DEFINITELY AGREE
THAT YOU SHOULD TAKE A LOOK AT THE SYSTEMS WE BUILT
FOR THIS PROJECT, HOW WE USE THE ABILITY SYSTEM, HOW WE MADE INVENTORY SYSTEM
FOR THE CHARACTER, AND USE IT AS A REFERENCE. THAT IS 100 PERCENT AGREE
ON THAT. AND YOU CAN ACTUALLY
COPY THE CODE WE DID, YOU CAN COPY THE FUNCTIONALITY
OF EVERYTHING, BUT TRY TO INTEGRATE
THAT IN YOUR OWN PROJECT INSTEAD OF JUST TRYING TO SYNC
FOR EVERY VERSION THAT WE RELEASE
OF ACTION RPG, BECAUSE WE WILL DEFINITELY BE
BREAKING THINGS GOING AHEAD, SOME THINGS ARE
GOING TO BE CHANGED. THE IDEA FOR THIS PROJECT IS DEFINITELY THAT WE KEEP IT
AS AN EXAMPLE OF SOME OF THE BEST PRACTICE
WE WANT DEVELOPERS TO USE. SO IT WILL ALWAYS BE CHANGING, ACCORDING TO ENGINE CHANGES
IN DEVELOPMENT.>>SAM: OKAY. SO THE NEXT THING I WANT TO TALK
ABOUT IS, LET ME GO AHEAD
AND PLAY IT AGAIN REAL QUICK, AND WE WILL DO THE NIFTY
F11 TRICK. I WILL CHANGE THIS WEAPON
HERE REALLY QUICK, BECAUSE I WANT TO VANQUISH
MY ENEMY ENEMIES A LOT FASTER. OH, THE SCROLL WHEEL CHANGES
YOUR WEAPON NOW. WHEN I KILL THIS GUY, YOU CAN SEE THAT I ONLY
HAVE ONE SOUL, BUT LET’S SEE. NOW I HAVE TWO,
AND THEN I GOT ONE AGAIN. SO ORIGINALLY, YOU WERE
JUST AWARDED ONE SOUL AT A TIME. BUT THAT MADE PROGRESSING IN THE
GAME EXTRAORDINARILY PAINFUL, YOU WOULD HAVE TO PLAY MULTIPLE
TIMES OVER MULTIPLE SESSIONS JUST TO GET ENOUGH
TO BUY A BRAND-NEW WEAPON, UNLESS YOU DID A CHEAT AND GAVE
YOURSELF 100 SOULS AT A TIME. SO TO MAKE THINGS
MORE INTERESTING FOR PEOPLE AND TO SHOW HOW YOU
CAN MODIFY THE BASE LEVEL CLASS OF SOMETHING AND HAVE THE CHANGES
PROPAGATE UP TO OTHER INSTANCES
BASED OFF OF THIS, I ADDED THE FOLLOWING
LOGIC TO THIS ENEMY. SO YOU HAVE THE LOOT SPAWN AND BASICALLY THIS IS GOING
TO SPAWN THOSE ORBS, IT IS GOING TO SPAWN THE ORBS,
BUT WE WILL — THIS IS THE LOCATION,
THIS IS THE ORB, AND THEN WHAT WE DO HERE IS,
IN THE EVENT GRAPH, WHEN IT’S DESTROYED — SO WHEN THIS CHARACTER
HAS BEEN VANQUISHED, WE ARE BASICALLY
GOING TO SPAWN THE LOOT, BUT WE ARE GOING TO GIVE IT
A MIN AND A MAX VALUE. SO RIGHT NOW, THE MIN AND THE
MAX SETS ARE 1 AND 1. WE ARE USING A RANDOM
INTEGER IN RANGE. SO WE ARE BASICALLY SAYING,
I WANT YOU TO SPAWN A RANDOM AMOUNT OF SOULS
BETWEEN ONE AND ONE, FOR THE BASE LEVEL CLASS,
SO IT WILL SPAWN ONE. AS YOU PROGRESS, AND LET ME PULL
UP ANOTHER CHARACTER HERE — SO LET’S SEE, OOPS. THIS MOUSE IS SO SENSITIVE. LET’S SEE IF I CAN FIND — SO WE WILL DO
THE NPC LEVEL THREE. SO THIS GUY — AND NOW,
THERE IS NOTHING IN THE GRAPH, BUT YOU CAN SEE
I HAVE A SOUL MIN AND A SOUL MAX
BETWEEN 3-5. WHAT I HAVE DONE HERE IS AT
THE BP_ENEMYCHARACTER LEVEL, I HAVE ESTABLISHED I WANT
TO ACCESS SOUL MIN AND SOUL MAX, AND THEN I BASICALLY PROPAGATED
THE CHANGES UP THROUGH LEVEL ONE, LEVEL TWO, LEVEL THREE.
THIS WAY, I CAN GIVE — I DO BELIEVE LEVEL ONE HAS 1-3,
LEVEL TWO IS, LIKE, 4-6, AND THEN WHAT IS THIS ONE,
I CAN TELL YOU, 3-5. AND THE BIG SPIDER BOSS
GIVES YOU 10 SOULS. THIS IS HOW YOU WORK — YOU SHOULD BE WORKING
INSIDE OF YOUR BLUEPRINTS, OR YOUR C++ CODE
OR WHATEVER IT IS. YOU WANT TO ESTABLISH STUFF
INSIDE OF YOUR BASE CLASS, FOR A NUMBER OF REASONS. ONE, FOR EXAMPLE, THIS FUNCTION,
SPAWN LOOT, DID NOT EXIST BEFORE, THROUGH REFACTORING,
PAULO WAS LIKE, “HEY, YOU NEED TO PUT THIS —
YOU NEED TO TAKE THIS OUT AND PUT IT INTO ITS OWN FUNCTION
AND WE NEED TO CALL IT.” BECAUSE I BUILT IT
INTO THIS CLASS, ALL I HAD TO DO
WAS COME DOWN HERE, IMPLEMENT THIS, SPAWN THE AMOUNT
OF SOULS PER KILL, AND THE CHANGE PROPAGATED
TO ALL OF MY BLUEPRINTS. SINCE I SET THE SOUL MIN
AND SOUL MAX UP TO 3 AND 5, I DIDN’T HAVE TO OPEN EACH ONE
OF MY BLUEPRINTS TO DO THIS. IN A PROJECT THIS SIZE, THAT
IS 20 OR 30 MINUTES OF WORK. IN A PROJECT
THE SIZE OF FORTNITE, THAT’S A COUPLE DAYS OR A
COUPLE WEEKS’ WORTH OF WORK, DEPENDING ON HOW PREVALENT
THE CHANGES ARE.>>AMANDA: AND YOU MIGHT
MISS SOMETHING.>>SAM: OR YOU DO 1-3,
AND FORGET ABOUT 4, BECAUSE SOMEBODY CAME IN
AND ASKED YOU TO DO SOMETHING, YOU DID IT, AND YOU MOVED ON. SO ADDING STUFF
IN THE BASE LEVEL CLASS IS HOW YOU SHOULD BE SETTING UP
ALL OF YOUR BLUEPRINTS IF THEY ARE USED AS A BASE
TO BUILD SOMETHING ELSE. YOU DON’T HAVE TO DO THIS
WITH EVERY SINGLE BLUEPRINT, BUT THIS IS A GOOD EXAMPLE
OF WHAT YOU SHOULD BE DOING WHEN YOU HAVE SOME BASE
LEVEL FUNCTIONALITY THAT EVERYBODY CAN USE.>>AMANDA: UH-HUH.>>SAM: AND, OF COURSE,
YOU CAN GET WAY MORE COMPLEX WITH THIS, BUT
THIS IS A GOOD KIND OF — IF YOU WANT TO TAKE
YOUR BLUEPRINT SKILLS TO THE NEXT LEVEL,
YOU ARE NOT SURE WHERE TO GO, THIS IS A GOOD PROJECT
TO LOOK AT BECAUSE THERE’S TONS OF THINGS
LIKE THIS SCATTERED ALL OVER
THE BLUEPRINTS IN THIS PROJECT. PAULO, ANYTHING YOU WOULD LIKE
TO ADD ABOUT THIS?>>PAULO: YEAH, I —
I TOTALLY AGREE WITH THAT. BLUEPRINTS IS REALLY SOMETHING THAT WAS BUILT
FROM GROUND TO BE — TO HELP US ON SETTING THE DATA
ON OBJECTS IN THE GAME. SO IT IS REALLY —
IT IS NOT ONLY CONNECTING CODE, IT IS HEAVILY USED
FOR DATA STORAGE. YOU SHOULD MAKE GOOD USE
OF THAT, THIS KIND OF THING, IF YOU DO — IF YOU ARE SHOWING
THE INHERITANCE, IT IS REALLY USEFUL FOR
LARGER PROJECTS LIKE THAT.>>SAM: OKAY.
SO –>>PAULO: ONE SMALL
THING I WANTED TO ADD, ABOUT THE WEAPONS.
WE HAD TO DO A MINOR CHANGE ON THE ARCHITECTURE
FROM VERSION ONE. INITIALLY THE ABILITY SYSTEM
USED PLAYER LEVEL TO CHANGE THE WEAPON DAMAGES. ORIGINALLY, WE WERE
TRACKING THE PLAYER LEVEL. THERE WAS ACTUALLY A VARIABLE
OF PLAYER LEVEL IN THE CHARACTER BLUEPRINT.
WE DIDN’T USE THAT FOR ANYTHING, BECAUSE WE DON’T HAVE PLAYER
UPGRADES YET. THAT MAY BE SOMETHING
THAT MAY COME IN THE FUTURE, OR MAY BE SOMETHING YOU WANT
TO EXPERIMENT IN YOUR GAME, LIKE THE SYSTEM THAT UPGRADES
THE PLAYER LEVEL. BUT WE USE THAT VARIABLE TO CHANGE THE DAMAGE
OF THE WEAPONS, AND WE HAD TO MAKE
A SLIGHT CHANGE TO ALLOW WEAPONS TO HAVE
UPGRADES ON THIS VERSION. SO NOW WHEN YOU ATTACK AN ENEMY, THE WEAPON ITSELF HAS A LEVEL,
A VARIABLE, AND IT USES THAT LEVEL —
THAT WEAPON LEVEL VARIABLE TO PICK THE RIGHT AMOUNT
OF DAMAGE THAT IT IS GOING
TO INFLICT ON THE ENEMY. AND THAT ALSO MAKES IT
MUCH EASIER FOR YOU TO COME UP WITH NEW KINDS
OF WEAPONS AND NEW LEVELS. I THINK IN THE CURRENT TABLE,
IT GOES TO 10, WE USE 1-3, THAT IS NICE IF WE PLAY AROUND
WITH THIS SAMPLE PROJECT, LOOKING AT THAT.>>SAM: OKAY. SO THE ONE THING
THAT YOU MIGHT BE NOTICING THAT I DON’T ACTUALLY HAVE
ANY DOCUMENTATION ABOUT IS ADDING A NEW SKILL. AND THE REASON FOR THIS
IS BECAUSE ADDING A NEW SKILL, SO SKILLS ARE — LET ME — FOR THOSE OF YOU
THAT ARE NOT AWARE. AND WE WILL DO
OUR LITTLE F11 TRICK HERE, CALL IT THE VICTOR CHEAT.
IT IS DEFAULT. IF I HIT F HERE, YOU CAN SEE
THAT I DO A FIREBALL. SO THAT’S A SKILL,
THAT’S WHAT WE’RE TALKING ABOUT. IF I HIT TAB HERE,
GO OVER TO SKILLS, YOU HAVE A METEOR SHOWER —
F AGAIN, AND IT IS A CRAZY AOE ATTACK,
A LOT OF HEAVY DAMAGE, IT COSTS A LOT OF MANNA,
I KEEP DOING IT BECAUSE I KEEP HITTING
THE ATTACK BUTTON TO SHOW YOU. BUT THE REASON I DON’T HAVE
ANY DOCS ABOUT THIS, IT IS NOT JUST AS SIMPLE AS DUPLICATING
A CURRENTLY EXISTING ASSET, IT REQUIRES NEW ANIMATIONS, IT WILL REQUIRE A LITTLE BIT OF
THINKING ABOUT THE TYPE OF THING THAT I WANT TO DO, LIKE,
WE HAVE FIREBALLS AND AOES, WHAT IF I WANTED TO HAVE
A FIREBALL THAT SPAWNED AN AOE, OR I WANTED THE PLAYER
TO SHOOT A BOW AND ARROW, THERE’S A BUNCH OF DESIGN WORK
THAT NEEDS TO GO INTO THESE, WHICH THAT IS A LITTLE
SUBJECTIVE. THAT’S WHY WE DON’T HAVE
ANY DOCS ABOUT THIS. BECAUSE THERE IS A WHOLE BUNCH
OF OTHER DECISIONS THAT NEED TO GO IN, YOU CANNOT JUST ADD
A SKILL TO YOUR GAME, BECAUSE WHAT IT IF IT MAKES
THE GAME SUPER IMBALANCED, AND THAT IS SOMETHING
THAT WILL HAPPEN, RIGHT? IF I’M WILLY-NILLY ADDING A
SKILL TO THIS, ALL OF A SUDDEN, IF I HAVE A FIRE BALL THAT SPAWNS OTHER FIRE
BALLS DOING 500 DAMAGE, WHY AM I GOING TO PICK ANY OTHER
WEAPON IN THE GAME TO PLAY WITH, IF I AM USING A FINGER
OF GOD TYPE OF WEAPON? SO THAT’S NOT TO SAY THAT
YOU CAN’T ADD ADDITIONAL SKILLS AND MIX
AND MATCH THE CURRENT ANIMATIONS AND THINGS LIKE
THAT THAT WE HAVE WITH THE GAME TO ADD A NEW SKILL,
IT IS JUST — WE DIDN’T DOCUMENT IT BECAUSE,
ONE, WE DIDN’T HAVE TIME TO COME UP WITH A NEW SKILL
TO TEST TO MAKE SURE THAT IT IS NOT UNBALANCING
THE GAME AS IT CURRENTLY IS. BUT IF YOU DID WANT TO ADD ONE,
WE COME TO THE SKILLS, AND YOU CAN SEE —
OUR FIREBALL, THIS IS ONE OF THE THINGS
THAT I SHOULD POINT OUT, WE HAVE A BP ABILITY
PROJECTILE BASE. THIS IS SUPER IMPORTANT, SO THERE IS NO BLUEPRINT LOGIC
IN THIS, IT IS JUST OUR SPHERE CAPSULE, WE HAVE PROJECTILE MOVEMENT
ON HERE, THE ARROW COMPONENT, THE PARTICLE SYSTEM,
AND SOME AUDIO. IF WE COME UP HERE
AND WE OPEN UP THE METEOR, YEAH. SO THE METEOR SCALE,
WHICH IS THE ONE THAT DOES THE AOE,
THIS IS FROM GA SKILL BASE, SO IT IS BASED OFF
OF A DIFFERENT CLASS. IF I COME TO, LET ME SEE,
THERE IS — HMM. I THINK THIS SKILL? HOLD ON A SECOND. SO LET ME PULL OVER —
WHAT I’M LOOKING FOR IS BASICALLY ON THE FIREBALL,
THERE’S AN INPUT, AND I DON’T REMEMBER
WHICH FILE IT WAS ON. BASICALLY, WHEN YOU ARE
MAKING A PROJECTILE STYLE SKILL, YOU MAKE THE PROJECTILE
AND THIS IS SLOTTED INTO — I WILL GET TO THIS GUY.
I CAN’T SEE THE FIREBALL. I WILL SEE
IF I CAN FIND IT IN HERE. AND THAT IS NOT –>>PAULO: MAYBE THE ABILITY?
>>SAM: THE ABILITY?>>PAULO: THE FIREBALL ABILITY,
YEAH.>>SAM: OKAY. I FEEL SO OLD AND BLIND TRYING
TO LOOK AT ALL OF THIS STUFF.>>PAULO: IT IS GETTING
COMPLICATED WITH TIME.>>SAM: YEAH.>>PAULO: SO PLAYER –>>AMANDA: WELL, YOU ARE
STILL SEARCHING IN SKILLS, IS THAT WHERE YOU WANT TO BE?>>SAM: YES.
>>PAULO? IS IT SKILL FIREBALL?>>PAULO: SHOULD BE –>>SAM: YEAH, HERE WE GO.>>PAULO: GA,
PLAYER, SKILL FIREBALL.>>SAM: THE PROJECTILE CLASS.
SO BASICALLY, THIS HAS GA SPAWN PROJECTILE BASE,
WHICH IS THE BLUEPRINT, WHICH IS JUST SLIGHTLY DIFFERENT
THAN THE MELEE ONES, AND THE ONLY DIFFERENCE
BETWEEN THESE TWO IS YOU WILL SEE THIS PROJECTILE
CLASS INPUT RIGHT HERE. THE ONLY DIFFERENCE, EVERYTHING
ELSE IS SET UP EXACTLY THE SAME, BUT YOU NEED TO SLOT
THIS PROJECTILE BLUEPRINT INTO THIS LOCATION RIGHT HERE.>>PAULO: THE MAIN DIFFERENCE
BETWEEN ANIMATION AS A SKILL, AND THE FIREBALL IS,
AT THE END OF THE — NOT AT THE END, BUT AT
THE BEGINNING OF THE ANIMATION, THE ABILITY SPAWNS
A DEAD ACTOR. THAT IS SIMPLY THAT DIFFERENCE. INSTEAD OF WAITING
FOR ANY SORT OF ANIMATION EVENT, THE COLLISION CHANNELS WILL
TRIGGER AND AND THEY WILL APPLY DAMAGE. THAT ACTOR ITSELF
IS GOING TO APPLY DAMAGE TO AN ENEMY WHEN IT HITS —
WHEN IT HITS IT. SO IT IS A SLIGHT DIFFERENCE,
AND IT WORKS ABOUT THE SAME, BUT I MEAN — IT IS
DIFFERENT ANYWAY. YEP.>>SAM: IT IS DIFFERENT ENOUGH FOR US
TO CALL OUT BECAUSE THERE ARE GOING TO BE — THAT IS ONE THING
THAT I WANT TO TOUCH ON. I HAVE NOT TESTED ALL OF THESE
FEATURES THAT ARE IN HERE. SO SOME OF THIS STUFF
COULD WORK, SOME OF IT COULD NOT WORK, IF YOU DO FIND SOMETHING
THAT DOESN’T WORK, OR IS NOT WORKING THE WAY
YOU FEEL THAT IT SHOULD, PLEASE LET US KNOW AND WE CAN TAKE A LOOK AT IT
AND SEE — MAYBE IT IS NOT HOOKED UP,
THE CONTENT IS THERE, BUT THERE IS NOTHING HOOKED UP
IN THE BACK END IN THE C++, BECAUSE THIS IS NOT JUST — THE ABILITY SYSTEM HERE
IS VERY, VERY COMPLEX. AND WE’VE REALLY ONLY KIND OF
SCRATCHED THE VERY, VERY SURFACE OF HOW COMPLEX
YOU CAN GET THESE. I MEAN,
YOU CAN HAVE THIS ABILITY — YOU CAN HAVE THE PLAYER
FIREBALL SKILL DO SOMETHING LIKE
STACK POISON DAMAGE ON SOMEBODY. BASICALLY IF YOU ARE FAMILIAR
WITH ANY TYPE OF MMO THAT HAS COMPLEX SKILLS,
LIKE EVERQUEST, WOW, OR STAR WARS,
OR ANY MMO, PERIOD, THIS IS A VERY,
VERY SIMILAR SYSTEM TO THE TYPES OF SYSTEMS
THAT WOULD BE DEPLOYED IN THOSE STYLE OF GAMES,
BECAUSE A LOT OF THOSE PEOPLE THAT MADE THOSE STYLE OF
GAMES WORK HERE AT EPIC THAT’S WHAT PRODUCED
THE ABILITY SYSTEM. LET ME SEE,
WHAT ELSE DO WE HAVE HERE. THAT’S PRETTY MUCH
ALL THAT I HAVE. LET ME GO BACK OVER MY DOCS
REAL QUICK, MY NOTES HERE. YEAH, THAT’S A GOOD RUNDOWN OF
EVERYTHING GOING ON HERE. SO IF PAULO DOESN’T HAVE
ANYTHING ELSE TO ADD, WE WILL START OPENING IT UP
TO SOME QUESTIONS. WE HAVE QUITE A FEW — OKAY.
PAULO, DO YOU HAVE ANYTHING ELSE YOU WOULD LIKE TO ADD
BEFORE WE JUMP INTO QUESTIONS?>>PAULO: NOPE, I’M GOOD.
>>SAM: ALL RIGHT.>>VICTOR: HOW WOULD YOU MAKE
AN EQUIP ITEM, CHANGE, OR STATS, SUCH AS INCREASING ATTACK POWER?>>SAM: UH-HUH, OKAY. I DO BELIEVE — ISN’T THAT
UNDER THE WEAPON ABILITY, OR THE ABILITY LEVEL, PAULO?>>PAULO: YES, YOU COULD CHANGE
THE ABILITY LEVEL, SORRY — YOU CAN ACTUALLY CHANGE
THE CHARACTER LEVEL. AND THEN THE PLAYER,
THE CHARACTER ITSELF, WHEN IT INITIALIZES,
IT GOES AFTER THIS DATA TABLE AND APPLY — YOU ACTUALLY APPLY
A DEFAULT STATS EFFECT, AND THIS DEFAULT STATS EFFECT
GOES AFTER THIS DATA TABLE, THE DEFAULT MANA AND DEFAULT
HEALTH TO THE CHARACTER. TO ADD MORE DAMAGE TO MAKE
THE GAME MORE POWERFUL, YES, YOU WOULD NEED TO ADD SOME SORT
OF MULTIPLIER TO THE DAMAGE, FOR EVERY WEAPON, YOU NEED
TO HAVE SOME SORT OF MULTIPLIER. AND WHILE WE HAVE
ABILITY EQUIPPED, YOU BASICALLY HAVE TO GO TO THE
WEAPON AND SAY, “HEY, THIS — I HAVE VISIBILITY, SO YOU NEED
TO ADD THIS AMOUNT OF DAMAGE, BONUS DAMAGE,
ON YOUR NEXT ATTACK, BECAUSE I HAVE SUPER POWERS
NOW.” AND WE DON’T HAVE THAT
BY DEFAULT ON OUR SYSTEM, IT IS A LITTLE CONVOLUTED
TO ADD THIS SUPPORT, BUT THAT SHOULD BE DOABLE.
I WILL GO AFTER — ACTUALLY, LOOKING AT THE BLUEPRINTS
FOR MELEE ATTACKS, AS AN EXPERIMENT,
AND I WILL LOOK AT HOW WE APPLIED THE DAMAGE
OVER THERE AND HOW WE COLLECT AND GATHER THE ACTUAL DAMAGE
IN THE C++ CODE AND TRY TO HOOK
YOUR OWN VARIABLE FOR MAYBE BONUS DAMAGE,
OR SOMETHING LIKE THAT, AND THEN ACTIVATE
THE BONUS DAMAGE, DEPENDING ON THE STATUS — DEPENDING IF YOU HAVE
ANOTHER ABILITY OR NOT. THAT WOULD BE THE RIGHT WAY
OF DOING THAT.>>SAM: AND THEN THERE’S ALSO,
ON THE WEAPON ACTOR HERE, THERE’S THE ABILITY LEVEL. AND I DO BELIEVE
THE MORE YOU INCREASE THIS, THE MORE DAMAGE
YOU ARE SUPPOSED TO GIVE.>>PAULO: YES. I’M NOT SURE,
IF YOU CREATE THIS IN RUNTIME, IT WILL APPLY MORE DAMAGE.>>SAM: YEP, YOU READ MY
MIND. I’M NOT 100 PERCENT SURE
IF THIS WILL — IF YOU COULD OPEN THIS UP
AND GRAB THE ABILITY LEVEL FROM THE WEAPON_
AXE_2 – GENERIC, AND THEN INCREASE
THAT AT RUNTIME.>>PAULO: YEAH, IF
YOU DO THAT — SORRY.>>SAM: OR BASICALLY
RAMP IT UP FROM ONE TO FIVE AND THEN BACK DOWN TO ONE SOUNDS
LIKE IT COULD BE DOABLE, BUT I HAVE NEVER TRIED THAT.>>PAULO: YEAH, IT COULD BE
DOABLE, BUT I AM JUST NOT SURE IF THE SYSTEM IS HOOKED UP
TO UPDATE THAT LIVE. BUT IT WOULDN’T BE LIKE THAT
COMPLICATED TO GO THAT PATH. JUST MAKE AN UPDATE FOR EVERY
HIT YOU ARE TRYING TO MAKE, CHECK THE LEVEL OF THAT WEAPON,
IF IT IS HIGHER, YOU PICK THE RIGHT LEVEL
AND THE RIGHT DAMAGE, IT IS GOING TO APPLY, AND THEN YOU CHANGE
IT MAYBE ON A COOL DOWN, OR ANOTHER ITEM THAT IS EQUIPPED
TO THE CHARACTER.>>SAM: I HOPE THAT ANSWERS
THEIR QUESTION.>>VICTOR: SO
YOU NEED TO DO A LITTLE BIT MORE
WORK, ESSENTIALLY. THIS ONE IS KIND OF COOL, AND
SO I WAS WONDERING ABOUT, TOO. HOW DO YOU MAKE A GAMEPLAY ABILITY
THAT TAKES SPECIAL INPUT, SUCH AS THE FIRST BUTTON PRESS,
THROW A SET OF MINE, AND THE SECOND PRESS,
THAT DETONATES IT? THAT IS PROBABLY AN EVENT
DISPATCHER ON THE MINE ITSELF?>>SAM: YEAH. AND PAULO,
CORRECT ME IF I’M WRONG, WE WERE TALKING
ABOUT THIS BEFOREHAND, BECAUSE WE WANT TO ADD SOMETHING
WHERE, LIKE, THE METEOR SKILL RIGHT NOW
JUST DOES IT AROUND YOU LOCALLY, BUT IT WOULD BE COOL IF WE CAN
HAVE YOU MOVE THE MOUSE AROUND, OR YOUR FINGER AROUND, AND HAVE IT BE MORE
FOR CROWD CONTROL, SO I’M KILLING THESE ENEMIES
DOWN HERE WHILE I BATTLE
THESE ENEMIES OVER HERE.>>PAULO: YEP.
>>SAM: AND THE — BECAUSE IT COULD BE
AN ACTUAL BLUEPRINT YOU THROW OUT
INTO THE WORLD MAKES THINGS A LOT EASIER, BECAUSE YOU CAN ADD LOGIC
FOR THE INPUTS ON THAT. YOU CAN HAVE THAT MINE LISTENING
FOR RIGHT MOUSE BUTTON, OR DETONATION,
OR SOMETHING LIKE THAT. WHICH IS, SAY,
A LITTLE BIT EASIER THAN IF YOU HAD EVERYTHING
INCLUDED IN ONE ABILITY, YOU HAD THE ABILITY
AND THE SLOTTED STUFF IN, INSTEAD OF IT BEING MODULARIZED.
I FOUND THAT IN DOING THIS, THE MODULARIZATIONS —
THE PICK UPS, FOR EXAMPLE, THAT ISN’T SOMETHING
THAT WE HAD PLANNED, WE BUILT IT INTO BLUEPRINTS. BECAUSE THE SYSTEM IS MODULAR
AND YOU CAN ACCESS ALL OF THE NODES
YOU NEED INSIDE OF THE DAMAGE AND UPDATE THE INVENTORY
AND ALL OF THAT STUFF, IT IS A COUPLE OF DAYS
OF MESSING AROUND TO DO IT. PAULO, IS THERE ANYTHING
YOU WOULD LIKE TO ADD ON THAT?>>PAULO: I WOULD TAKE A
LOOK AT THE FIRE BALL ABILITY, BECAUSE IT ACTUALLY SPAWNS
ANOTHER ACTOR. IT IS A —
IT IS A LITTLE BIT DIFFERENT, BUT YOU CAN GO FROM THERE, IT SPAWNS ANOTHER ACTOR
THAT HAS A CONSTANT VELOCITY, BECAUSE IT WORKS
AS A PROJECTILE. BUT NOTHING REQUIRES THAT IT —
IT NEEDS TO HAVE MOVEMENT. IT CAN BE SOMETHING, LIKE,
YOU SPAWN OF THE LEVEL, AND IT JUST EXISTS THERE, AND ONCE ANOTHER ACTOR
COLLIDES WITH IT, COLLIDES WITH THE
COLLISION SPHERE, THEN YOU CAN APPLY
A DAMAGE EFFECT TO WHATEVER ACTOR
THAT COLLIDED TO. IT IS NOT THAT VERY DIFFERENT
FROM THE FIREBALL, BUT IT IS JUST NOT SOMETHING
THAT NEEDS TO HAVE A VELOCITY, IT IS GOING TO BE SOMETHING THAT
IS GOING TO BE AT THE LEVEL, WAITING FOR SOMEONE TO HIT IT,
BEFORE APPLYING THE DAMAGE. OF COURSE, YOU NEED TO MAKE
THE TARGETING SYSTEM, SO IF YOU WANT — IF YOU WANT,
LIKE SAM WAS EXPLAINING, IF YOU WANT TO ACTUALLY POSITION
THIS MINE KIND OF OBJECT, IN SPECIFIC PLACES ON THE LEVEL, YOU NEED TO COME UP
WITH YOUR OWN TARGETING SYSTEM. AND THAT NEEDS A LITTLE BIT
OF YOUR OWN CODE, BUT THAT IS TOTALLY DOABLE.>>SAM: I CAN SEE YOU DOING THE TARGETING SYSTEM
INSIDE OF BLUEPRINT. I DON’T THINK YOU NEED TO GO
OUTSIDE AND DO IT IN C++.>>PAULO: NO.>>SAM: YOU
NEED TO GET YOUR SCREEN COORDINATES
INTO WORLD SPACE. THAT’S THE MOST COMPLICATED PART
OF THAT SET-UP, GOING FROM THE 2D SCREEN
TO MY 3D WORLD.>>PAULO: UNREAL ENGINE HAS SOME NICE
FUNCTIONS FOR THAT KIND OF STUFF, STUFF THAT PRE-DATES
— THAT COMES FROM GEARS OF WAR,
THINGS LIKE — YOU TRY TO FIND OUT WHAT IS
GOING TO BE THE TRAJECTORY OF A GRENDADE THAT I’M THROWING,
ON UNREAL 4, YOU SHOULD HAVE SOME OF THAT, OR YOU CAN PICK UP
SOME OF YOUR OWN TARGETING SYSTEM FOR A GRENADE
OR MINE PLACEMENT.>>VICTOR:
THERE’S THE SUGGEST PROJECTILE VELOCITY FUNCTION.>>PAULO: YES, I USED THAT A
LOT. IMAGINE WHERE IT CAME FROM, IT CAME FROM QUITE
A FEW YEARS AGO, HAHA.>>VICTOR: YEAH, IT IS GREAT
FOR THINGS LIKE TELEPORT TRACE OR WHENEVER YOU NEED AN ARC. LET’S SEE HERE, THIS ONE —
OVER MY HEAD, BE WE WILL SEE IF YOU CAN ANSWER
IT. ATTRIBUTE CALCULATION FLAW, IT IS NOT CLEAR FROM SOURCE CODE
THE ORDER, CONDITIONS, AND PARAMETERS OF EVENTS
LIKE PRE-ATTRIBUTE CHANGE, PULLS GAMEPLAY EFFECT
EXECUTE, AND SO ON.>>SAM: THAT IS, UH,
THAT IS A BEN ZIEGLER QUESTION. I’M SORRY, I DON’T KNOW
THE ANSWER TO THAT ONE. WE CAN DEFINITELY CONTACT BEN
AND GET DIRECT ANSWER TO THAT. BUT THAT IS — I DID NOT DO
ANY OF THE C++ CODE. AND PAULO, DO YOU HAVE ANY IDEA?>>PAULO: UH, I HAVE SOME
IDEA ABOUT THE IMPORTANCE OF IT. I CAN UNDERSTAND WHAT
THE PERSON IS LOOKING AT. WE WOULD DEFINITELY NEED TO TALK
TO ONE OF OUR ENGINEERS, BECAUSE THEY UNDERSTAND
THE UNDERLYING CODE, TO GIVE US THAT ANSWER.>>VICTOR: YEAH, WE
WILL REACH OUT AFTERWARD AND POST IT ON THE FORUM
IN CASE WE GET AN ANSWER. SO THERE WAS ANOTHER QUESTION
THAT IS A LITTLE BIT GENERIC, BUT I THOUGHT WAS GOOD
TO MENTION, CAN WE USE THE ASSETS IN THIS EXAMPLE IN A
COMMERCIAL GAME? YES.>>SAM: YES, THIS IS MADE
OF INFINITY BLADE ASSETS, THE SOUL CAVE, THE INFINITY
BLADE CHARACTERS, THE WEAPONS, AND I HAVE GONE THROUGH EVERY
ASSET AND PAINSTAKINGLY MADE SURE WE HAD THE RIGHTS
TO NOT ONLY PUT THIS OUT, BUT THE RIGHTS
TO REDISTRIBUTE IT, BECAUSE WHEN YOU REDISTRIBUTE IT
FOR DOWNLOAD, THIS IS A — THIS IS A VERY — BECAUSE WE REDISTRIBUTE STUFF,
THAT NULLS A LOT OF LICENSES. A LOT OF THEM SAY, “HEY,
YOU CAN USE THIS FOR FREE IN THE BINARY COMMERCIAL PROJECT
THAT YOU SELL.” WE DO NOT SELL BINARIES,
WE SELL — WE DON’T SELL
ANY OF OUR LEARNING STUFF. WHAT WE DO IS WE GIVE YOU STUFF
THAT YOU CAN THEN USE, THAT COUNTS
AS REDISTRIBUTING IT, AND A LOT OF FREE LICENSES
STRICTLY FORBID THAT. ALL OF THE CONTENT
IN THIS PROJECT CAN 100 PERCENT BE USED IN ANY OTHER PROJECT,
OR IF YOU REALLY WANTED TO, YOU COULD MAKE THIS
A LITTLE BIT DIFFERENT AND ACTUALLY PUT THIS UP
ON GOOGLE PLAY. THAT’S NOT TO SAY THAT THEIR ARE
AUTOMATIC STUFF THAT WILL TAKE IT DOWN
FOR YOU, I HAD THAT HAPPEN WHEN I HOSTED
THIS THE WRONG WAY, I PUT IT INTO A DIFFERENT
ACCOUNT AND THEY SAID, “OH, YOU ARE TRYING TO
TAKE EPIC GAME’S ACCOUNT.” NO, I DIDN’T DO THAT,
IT WAS A MISTAKE, I WAS ON THE WRONG ACCOUNT AND
POSTED IT TO THE WRONG THING. BUT I HAVE SEEN SOME PEOPLE, ONE OTHER VERSION
OF THIS GAME RELEASED, AND I CAN’T REMEMBER,
THE NAME WAS REALLY CRAZY. IT WAS THE EXACT SAME VERSION
OF THE GAME, SOMEBODY RELEASED IT
TO THE STORE, WHICH YOU ARE MORE
THAN WELCOME TO DO, BUT IT IS FREE FOR YOU TO USE
HOWEVER YOU USE IN THE PROJECT.>>VICTOR: AND THE SAME GOES
FOR EVERYTHING IN THE LEARN TAB.>>SAM: YES, EVERYTHING
IN THE LEARN TAB.>>AMANDA: ANY PLANS TO MAKE
THE GAMEPLAY SYSTEM TO BE BLUEPRINT SET-UP,
OR WILL IT ALWAYS REQUIRE A C++?>>SAM: YES, IT IS ALWAYS
GOING TO REQUIRE C++. THE REASON IS BECAUSE THERE WERE
SOME VERY COMPLEX DAMAGE CALCULATIONS THAT TAKE PLACE
BEHIND THE SCENES, THIS IS ANOTHER GREAT THING
THIS PROJECT IS GREAT FOR, IF YOU EVER WONDER ABOUT
BLUEPRINT AND C++ PARITY, OR YOU DON’T UNDERSTAND
WHAT THAT MEANS, BASICALLY WHAT THAT MEANS,
ALL OF THE COMPLEX STUFF, THE DAMAGE CALCULATIONS, THE HANDLING THE INVENTORY
AND THE UI, ALL OF THE STUFF THAT REQUIRES
SOME HEAVY LIFTING IN C++, IS ALL DONE IN C++. THEN WHAT BEN DID FOR US IS
HE EXPOSED CERTAIN THINGS LIKE, LET ME GO AHEAD
AND OPEN UP — PICK UP, BECAUSE THAT HAS
SOME STUFF IN IT, I THINK THIS RIGHT HERE, YEA,
SET SLOTTED ITEM. I WILL NOT DOUBLE CLICK ON IT
AND MAKE RPG — MAKE RPG ITEM SLOT, THESE TWO NODES,
IF I DOUBLE CLICK ON THEM, THEY OPEN UP THE SOURCE CODE
INSIDE OF THE C++. INSTEAD OF HAVING EVERYTHING
HARD CODED, YOU HAVE A MAP, A POTION,
A PRIMARY ASSET, A SKILL, A TOKEN, OR A WEAPON.
I, AS ONE OF THE DESIGNERS, OR PAULO,
AS ONE OF THE DESIGNERS, CAN USE NODES TO BUILD THINGS
THAT WERE NOT DESIGNED AT ALL. LIKE THIS PICK UP IS NOT
SOMETHING THAT WE DESIGNED, I JUST WAS LIKE, “I WONDER
IF I CAN MAKE A PICK UP” BECAUSE I HAVE THE ABILITY
TO SET THE SLOTTED ITEM AND UPDATE THE ICON. SO I WONDER IF I CAN DO THIS? IT TOOK ME A DAY
TO GET EVERYTHING WORKING, THE HARD PART WAS GETTING THE
STUPID THE ICON TO CHANGE, I COULD NOT GET IT DONE
FOR THE LONGEST TIME. IT WORKED, THOUGH, AND I WAS SURPRISED HOW FAST
I WAS ABLE TO GET IT TO WORK, BECAUSE ALL OF THIS STUFF
HAS BEEN EXPOSED. IT ALLOWED ME TO DO STUFF
AND EXPERIMENT IN WAYS I WOULD NOT BE ABLE TO DO. PAULO, DO YOU HAVE ANYTHING
TO ADD TO THAT AS WELL?>>PAULO: A
GREAT EXAMPLE OF THAT, IF YOU LOOK
AT THE ABILITIES, LET’S SAY THAT A MELEE BASED
ABILITY THAT WE USE FOR THE SWORDS
AND THE AXES AND ANYTHING. YOU SEE THAT WE HAVE A C++,
AND THAT WILL BE A NODE, A BLUEPRINT NODE,
THAT WAS EXPOSED TO C++, THAT IS CALLED PLAY MONTAGE
AND WAIT FOR EVENT. THIS IS SOMETHING
THAT WAS ACTUALLY CUSTOM BUILT BY BEN ZEIGLER,
THE PROGRAMMER — THE C++ PROGRAMMER
IN THIS PROJECT. BECAUSE THE ORIGINAL DESIGN
FOR THAT WAS THAT WE USED — WELL, A SKILL, OR SOME SORT
OF ATTACK IS LITERALLY A MONTAGE AND, AT A CERTAIN POINT
IN THE ANIMATION, HAVE IT DO A THING
AND RUN THIS BLUEPRINT CODE. WHAT BEN DID FOR US,
HE IMPORTED THAT, AND HE MOVED THAT INTO C++ CODE AND, USUALLY PEOPLE THINK
THAT WE MOVE STUFF, WE MOVE LOGIC TO C++ TO CODE,
BECAUSE OF PERFORMANCE ISSUES, BUT THIS IS ACTUALLY A VERY
GOOD CASE FOR DEBUGGING AND FOR PROJECT MANAGEMENT
REASONS, IT MAKES A LOT OF SENSE TO MOVE SOME OF THE LOGIC
TO CODE, TO C++. SO IT MAKES IT EASIER
FOR PROGRAMMERS TO MAINTAIN AND DEBUG
IN THE LONG-RUN. ANOTHER GREAT EXAMPLE OF THAT
IS THE INVENTORY SYSTEM. I DESIGNED THE INVENTORY SYSTEM
ENTIRELY USING BLUEPRINTS, SO THIS INVENTORY SYSTEM
THAT WE HAVE IN THE GAME NOW, I DESIGNED IT,
IT WAS 100 PERCENT BLUEPRINT. BUT BEN MADE THE DECISION,
AND I AGREE, THAT YEAH, WE SHOULD
DEFINITELY MOVE THIS TO C++ BECAUSE THIS IS THE EXACT KIND
OF THING THAT A PROGRAMMER — WILL WANT TO MOVE TO C++, BECAUSE IT IS A LITTLE BIT
MORE MANAGEABLE WHEN YOU ARE — FOR A PROJECT
THE SIZE OF ACTION RPG, THAT IS 100 PERCENT OKAY
TO GET THAT AS A BLUEPRINT. AS YOU MOVE INTO THE TERRITORY
OF MORE COMPLEX PROBLEMS, WHEN WE ARE TALKING ABOUT GAMES,
LIKE WHAT WE DO, LIKE FORTNITE AND PARAGON, IT MAKES IT EASIER IN THE LONG
RUN AS THE PROJECT GROWS TO HAVE THIS SORT OF KEY
FUNCTIONALITY IN CODE IN C++, BECAUSE IT MAKES IT EASIER TO MAINTAIN AND DEVELOP
IN THE LONG TERM.>>SAM: SO ONE THING I WANT
TO ADD TO THAT, IF WE KICK IT OVER TO THE SCREEN
REAL QUICK, THIS — SO I WILL ZOOM IN A LITTLE HERE. BUT BASICALLY,
SO THIS IS THE SWORD — AND I ONLY AM SHOWING YOU
ONE COMBO RIGHT HERE. BUT ALL OF THESE
LITTLE SECTIONS IN HERE, THIS IS HOW
WE ARE TRIGGERING THINGS. YOU CAN SEE THIS WEAPON ATTACK, THIS
IS GOING TO BE DOING THE DAMAGE. AND ONE OF THESE STOPS US,
ONE OF THESE MAKES US IMMUNE, THIS WILL BLOCK
ANY INCOMING ITEM.>>PAULO: WEAPON ATTACK IS
THE ONE THAT ACTUALLY DOES — IT RUNS THE ATTACK CODE.>>SAM: YEAH, THIS
ONE — SO THIS RUNS IT. AND YOU COME IN HERE AND YOU ADD
A NOTIFY, YOU CAN SEE THAT — OR I CAN ADD A STATE NOTIFY. AND THE STATE NOTIFY —
THE STATES ARE DOING THE TRAILS, WHEN HE GOES INTO SLOW MOTION,
WHEN HE IS DOING A KICK, WE CALL THE SLOW MOTION
NOTIFIER RIGHT HERE. AND, BY COMBINING
ALL OF THESE THINGS TOGETHER, AND AGAIN, THIS IS WHY
I DIDN’T SET UP A DOCUMENT ABOUT DEVELOPING A NEW SKILL,
BECAUSE THERE IS — THERE IS SO MUCH COMPLEXITY
TO WHAT WE CURRENTLY HAVE THAT ADDING A NEW ONE,
IT IS JUST — THERE’S — THERE ARE TOO MANY VARIABLES,
TOO MANY KNOBS, YOU ARE GOING TO HAVE
TO FILL IN AND TURN. AND ALSO, WE DIDN’T KNOW
EXACTLY WHAT OTHER SKILLS THAT WE WANTED TO ADD
TO THIS PARTICULAR PROJECT. WE DIDN’T KNOW IF, YOU KNOW,
IF WE WANTED TO ADD, YOU KNOW, A BOW AND ARROW,
OR SOMETHING LIKE THAT. BUT, WITH THAT SAID, IT IS EASY
FOR YOU TO COME IN HERE AND SAY YOU REALLY LIKE THIS — BUT YOU DON’T WANT THE TRAILS;
IF I CAN FIND THEM. I SAY THIS NOW,
BECAUSE I FOUND THESE EARLIER, BUT NOW I DON’T REMEMBER
WHERE THEY ARE. YOU CAN ACTUALLY JUST DISABLE
THEM FROM HERE, AND I THINK — OH, HERE THEY ARE.
YEAH, THERE’S ONE, AND SO — OH. THERE’S THE SHIELD
I MENTIONED — THIS WILL INVOKE A SHIELD
ON THE PLAYER SO THEY ARE NOT DAMAGED
BY THEIR OWN ATTACK, OR SOMETHING LIKE THAT. AND LET’S SEE, WHAT ELSE. THAT IS PRETTY MUCH IT. IF I WANTED
TO GET RID OF THE TRAILS, I WOULD DELETE THIS
NOTIFY HERE. I DON’T WANT TO DO THAT BECAUSE
I’M NOT SURE IF I DELETE THAT, IF IT WILL CRASH OR NOT.
BECAUSE IT IS STILL PLAYING.>>[ LAUGHTER ].>>SAM: I DON’T WANT TO
OPEN EVERYTHING BACK UP AGAIN. BUT, YEAH, THIS — THIS LOOKS SUPER COMPLICATED,
AND I CAN GO TO ANOTHER — BUT THIS IS THE BREAD AND BUTTER
OF ALL OF THE ABILITIES, EVERYTHING THAT HAS —
AS WE MENTIONED BEFORE, EVERYTHING WAS BUILT
BEFORE USING THE MONTAGE, THIS IS HOW
IT IS SET UP AND DONE. THE DAMAGE CODE RUNS, IT IS WHERE WE MAKE SURE
THE PLAYER CANNOT BE DAMAGED, IT HAS A SHIELD, AND IT IS
ALSO STANDARD ANIMATION NOTIFY. IT IS NOT SOMETHING
THAT IS NEW, OR UNIQUE, THIS IS JUST HOW YOU USE
THE ANIM NOTIFY SYSTEM WITHIN THE ANIMATION MONTAGES. SO YOU WILL FIND IT USED
IN A LOT OF VIDEO GAMES. A LOT OF PEOPLE USE THE NOTIFY
TO DO FOOT STEPS, SOUNDS, OR PROTOCOLS THAT COME UP
FOR DUST PARTICLES OR SOMETHING, THOSE ARE THE COMMON USES FOR
THIS, BUT IT DOESN’T MEAN YOU HAVE
TO USE IT SPECIFICALLY FOR THAT.>>PAULO: YEAH, THAT WAS —
SORRY. THAT WAS WHAT
I WAS GOING TO SAY. THAT’S WHY SOME OF THIS
STUFF IS IN C++, IT IS CUSTOMIZED
TO THE USES THAT WE DID FOR THE PROJECT. I’M NOT SAYING YOU HAVE TO USE
THE MONTAGES FOR THE GAME, OR THE ABILITY SYSTEM,
IN ACTION RPG, WE HAD TO USE BOTH AND THAT’S WHY
OUR IMPLEMENTATION IS SO CUSTOM, AND BECAUSE GAMES ARE VERY, VERY
DIFFERENT FROM EACH OTHER, THAT IS PROBABLY WHY —
WE’RE NOT SURE YET. MAYBE — THAT IS SOMETHING
THAT MAY CHANGE IN THE FUTURE, THAT IS PROBABLY
ONE OF THE REASONS WHY THE ABILITY SYSTEM
THAT IS SO COMPLEX, IS GOING TO BE KEPT FOR A
WHILE, UNDER C++ CONTROL. I BELIEVE THOSE ARE
ONE OF THE REASONS FOR THAT.>>AMANDA: JUST COMMENTING —
LOOPING BACK AROUND. THE DOCS ACTUALLY DO
A PRETTY GOOD JOB OF EXPLAINING THE C++ VERSION.>>SAM: YES, LET ME PULL THIS
BACK OVER HERE –>>AMANDA: — OF
USAGE IN THE SYSTEM.>>SAM: WE HAVE THE BUILDING C++ —
THIS IS GOING TO BREAK DOWN BASICALLY
WHAT THE CODE OVERVIEW IS. IT GOES OVER ALL
OF THE HEADER FILES, WHICH YOU CAN FIND
IN EACH OF THE H FILES, IT TALKS ABOUT OUR INVENTORY
AND ASSET MANAGEMENT. WE GET A DESCRIPTION
OF WHAT WEAPONS, SKILLS, POTIONS, AND TOKENS ARE. AND THIS IS TEXT OVERLOAD,
WHAT AM I GOING TO DO, AND THIS DOCUMENT
AND THIS DOCUMENT AND THIS DOCUMENT ARE ALL AIMED
AT C++ PROGRAMMERS. SO IF YOU ARE AN ARTIST,
OR A DESIGNER, BY ALL MEANS, HAVE A LOOK AT THIS. DON’T FEEL BAD
IF IT JUST GOES OVER YOUR HEAD. THERE IS NOT A LOT IN HERE THAT YOU REALLY NEED
TO BE CONCERNED WITH. WE DO HAVE A BREAKDOWN BASICALLY
OF EVERYTHING THAT WE KIND OF EXPLAINED TODAY
— IS DOCUMENTED IN THESE. SO ATTRIBUTES AND EFFECTS,
MELEE ABILITIES, SKILL ABILITIES,
AND EXECUTING ABILITIES. EACH ONE OF THESE DOCUMENTS
IS GOING TO BREAK DOWN, AT A VERY HIGH AND LOW LEVEL,
EXACTLY WHAT THIS PART DOES AND THESE WERE ACTUALLY WRITTEN
BY BEN ZEIGLER HIMSELF, WHO WROTE THE SYSTEM,
I DID THE COPY, MADE SURE IT DOESN’T SAY
ANYTHING TOO CRAZY, OR DID NOT TRANSLATE WELL
INTO OTHER LANGUAGES. BUT THIS IS EXACTLY
WHAT HE SAID ABOUT THE SYSTEM. IF YOU WANT MORE
IN-DEPTH INFORMATION THAN WE ARE PROVIDING TODAY, THESE ARE THE DOCS
YOU WANT TO LOOK AT.>>VICTOR: YOU DID MENTION
EARLIER, IN TALKING LAST WEEK, THERE WAS AN UPDATE COMING
TO THE DOCUMENTATION AS WELL.>>SAM: YES, THOSE ARE
THESE GUIDES RIGHT HERE, WE DIDN’T HAVE THEM
BEFORE T THEY ARE BRAND NEW. SO ADDING A RANDOM SOUL, A NEW PICK UP
AND ADDING A NEW POTION. THESE ARE NEW DOCS,
I WROTE THEM A MONTH AGO AROUND CHRISTMAS TIME AND
JUST GOT THEM INTO THE CMS. I WANTED DOCS FOR
ARTISTS AND DESIGNERS, WHILE YOU CAN GET A LOT OF
INFORMATION FROM THE DOCS ABOVE, IF YOU DIDN’T HAVE
ANY BLUEPRINT KNOWLEDGE OR C++ KNOWLEDGE
OR LIMITED BLUEPRINT KNOWLEDGE, YOU WOULDN’T REALLY GET OUT
OF THEM WHAT YOU NEEDED TO GET. SO I WANTED TO GIVE PEOPLE
THAT DON’T COME FROM A CODING BACKGROUND, LIKE MYSELF,
SOMETHING THAT THEY COULD, YOU KNOW, START SMALL
AND KIND OF WORK UP TO. YOU KNOW, IF I WAS DOING THIS
AND LOOKING TO START, YOU KNOW, SOMETHING BRAND NEW,
I WOULD DO — AGAIN, I WOULD DO
THE POTION DOCUMENT FIRST, FOLLOWED BY THE WEAPON DOCUMENT,
AND THEN ADDING A RANDOM SOUL, AND THIS ACTUALLY HAS LESS STEPS
THAN THIS, ADDING A PICK UP. ADDING A PICK UP IS A LITTLE
MORE COMPLICATED. THIS ONE AND ADDING A WEAPON, THAT IS ACTUALLY
ONE OF MY FAVORITE ONES BECAUSE WHAT THIS WILL
ALLOW YOU TO DO, SAY YOU CREATE A WEAPON IN MAYA,
EXPORT IT AS A SKELETAL MESH, SLOT IT IN THERE,
AND YOU HAVE A WEAPON. IT IS THAT QUICK TO GET IT
IN YOUR PLAYER’S HANDS AND SEE IT USED. THESE DOCUMENTS ARE AIMED FOR
A QUICK PATH TO SUCCESS. IT SHOULD TAKE YOU 30
TO 40 MINUTES TO GO THROUGH IT AND GET IT WORKING. AND ONE OTHER THING
I WANT TO POINT OUT, ALL OF THESE DOCUMENTS, AND YOU SEE EVERYTHING
EXISTS INSIDE OF THE GAME, IF YOU ARE FOLLOWING ALONG
WITH THESE, YOU ARE GOING TO WANT TO MODIFY
THE NAME A LITTLE BIT TO ENSURE IT IS DIFFERENT THAT
WHAT EXISTS IN THERE OR YOU ARE GOING TO GET
A NAMING CONFLICT. I DID IT SO YOU HAVE
THE FINAL RESULT, IT SUCKS WHEN YOU ARE
BUILDING SOMETHING, YOU ARE FOLLOWING A TUTORIAL AND YOU DON’T NECESSARILY
UNDERSTAND EVERYTHING AND YOU HAVE NOTHING TO LOOK AT,
WHERE DID I GO WRONG, WHAT DID I FORGET IN MY VERSION, VERSUS
WHAT THEY HAD. SO I WANTED TO GIVE EVERYBODY
A VERSION OF THIS THAT WAS COMPLETELY DONE SO YOU HAVE SOMETHING
TO LOOK AT TO KIND OF, YOU KNOW, GIVE A LITTLE BIT OF GUIDANCE
IN CASE YOU ARE WONDERING WHERE YOU WENT WRONG
OR SOMETHING LIKE THAT.>>VICTOR: WHEN WILL
THEY SEE THE UPDATED PROJECT?>>SAM: THIS WILL GO OUT
IN 4.22. SO I WILL UPDATE IT
ON ALL OF THE STORES, I WILL PUSH THAT OUT SOMETIME
HOPEFULLY BEFORE GDC, YEAH. RELEASED —
>>PAULO YES.>>SAM: YEAH, YEAH. THIS ALREADY GOT PUSHED UP
TO THE RELEASE BRANCH, IT IS IN THERE ALREADY WITH EVERYTHING
THAT YOU SEE HERE TODAY, AND EVERYTHING THAT IS HERE IS
IN THE 4.22 RELEASE BRANCH, I SYNCED IT, CHECKED IT OUT.
YOU WILL SEE IT IN THE NEXT UPDATE
UNLESS SOMETHING HAPPENS.>>VICTOR: THAT’S GREAT. IN TERMS OF TRACKING
VERSION CHANGES, EACH TIME EPIC UPDATES
THE ACTION RPG SAMPLE, IS THERE A VERSION NUMBER
IN THE PROJECT FOR SOMEBODY WHO MIGHT HAVE
SEVERAL COPIES OF IT?>>PAULO: THAT’S A GOOD
QUESTION.>>SAM: YOU CAN HOVER OVER
HERE ON THE TOP
OF ANY UNREAL EDITOR PROJECT AND YOU WILL SEE
WHAT VERSION YOU ARE, YOU WILL SEE IF THIS IS UE4
DEV DOCUMENTATION, AND IT WAS BUILT ON JANUARY 24,
WITH VERSION 4.22.0, I’M NOT SURE WHAT THE REST
OF THE NUMBERS MEAN. I HAD A SCALE
THAT I PULLED IT FROM.>>PAULO: I THINK THEY ARE
ASKING ABOUT THE PROJECT ITSELF,
VERSION NUMBERS, SO THEY PROBABLY
HAVE AN EASIER — THEY MAKE IT EASIER
WHEN THEY WANT TO — YOU KNOW, EVEN THOUGH
WE RECOMMENDED THAT YOU DON’T DO THIS,
PEOPLE STILL WANT TO DO THIS. THEY STILL WANT TO, LIKE,
UPDATE THEIR OWN PROJECTS BY SYNCING BACK THEIR STUFF
FROM ACTION RPG. I’M NOT SURE WE SUPPORT THAT.>>SAM: YOU’RE — YOU WILL
HAVE A BAD TIME.>>PAULO: YES.>>SAM: WE DIDN’T BUILD THE GAME
WITH THAT IN MIND BECAUSE, SO THE OTHER THING, THIS IS
BUILT LIKE AN ACTUAL GAME. IT CAME FROM A PROTOTYPE
THAT SOMEBODY MADE THAT WE TOOK, BECAUSE IT WAS BUILT
IN BLUEPRINT ORIGINALLY. WE TOOK A PROJECT,
A PROTOTYPE PROJECT, WE REMOVED THE EXPENSIVE
CALCULATIONS FROM BLUEPRINT, PUT THEM INTO C++
AND WE ARE ITERATING ON THIS AS YOU WOULD WITH
A REAL PROJECT. THIS IS AS CLOSE AS YOU
ARE GOING TO GET INTO SOMEBODY’S DEVELOPMENT
AT A PROFESSIONAL STUDIO — OTHER THAN WORKING
AT A PROFESSIONAL STUDIO ON A VIDEO GAME.
IT MAY BE A SMALL PROJECT, BUT THIS IS TOTALLY SOMETHING
THAT A TWO-MAN TEAM CAN MAKE. ONE OF THE CORE TENEMENTS
OF DEVELOPMENT, WHEN YOU ARE IN PRODUCTION,
YOU DO NOT UPDATE YOUR CODE BASE UNLESS YOU NEED
SOMETHING THAT, MEANS SOMETHING
THAT YOUR GAME CAN’T SHIP. SAY THERE’S AN UPDATE
TO ANDROID OR IOS, THAT YOU HAVE TO
TAKE THIS UPDATE OR YOU CANNOT PACKAGE THE GAME
FOR THE STORE, THAT’S THE ONLY TIME YOU TAKE
ANOTHER VERSION OF THE ENGINE, AND EVEN THEN, YOU ONLY TAKE
A SPECIFIC CHANGE LIST OR MULTIPLE CHANGE LISTS TO GIVE
THAT SPECIFIC FUNCTIONALITY. I HAVE NEVER WORKED
IN A STUDIO EVER THAT MADE IT HALFWAY
THROUGH PRODUCTION AND SAID, YOU KNOW WHAT, WE WILL
TAKE THE LATEST AND GREATEST BECAUSE WE HAVE
SOME TIME TO KILL AND WE WANT
SOME BUGS TO SQUASH.>>PAULO: SOME STUDIOS DO
THAT. THEY USUALLY —
>>SAM: YES.>>PAULO: THEY USUALLY
NEVER SHIP A GAME. BUT ANYWAY, WHAT I WOULD SAY
IN REGARD TO VERSIONS, WE COULD TELL THAT YOU CAN
TIE ACTION RPG VERSIONS TO ENGINE VERSION. WE HAVE BEEN TRYING
TO RELEASE UPDATES FOR EVERY MAJOR VERSION
OF THE ENGINE. SO ACTION RPG
WAS RELEASED ON 4.20. I THINK WE SKIPPED 4.21.>>SAM: WE MADE SOME
UPDATES TO IT, BUT NOT A LOT. WITH MAINTENANCE STUFF
AND A LITTLE BIT OF REFACTORING, BUT THERE WERE NOT
MASSIVE CHANGES TO IT. 4.22, THOUGH.>>PAULO: YEAH, 4.22,
IT IS A DIFFERENT STORY, WITH A BUNCH OF CHANGES TO IT. SO, YES, I WOULD TIE IT
TO EVERY MAJOR ENGINE RELEASE, IF YOU WANT TO SAY
THAT ACTION RPG 4.20, ACTION RPG 4.21,
ACTION RPG 4.22… JUST REINFORCING
WHAT SAM WAS SAYING, THERE IS ONE THING YOU
FIND OUT WITH GAME DEVELOPMENT IS WE HAVE BEEN TRYING
TO BUILD ACTION RPG AND THE WAY THAT IS THE
MOST PROFESSIONAL POSSIBLE, OR THE CLOSEST TO WHAT WOULD BE BEST PRACTICES IN
GAME DEVELOPMENT. THE THING IS,
WHEN YOU TRY TO MAKE A GAME THAT IS NOT ONLY GOING TO BE
A SAMPLE PROJECT, OR AN EXAMPLE, YOU ARE
TRYING TO SHIP SOMETHING. SOMETIMES YOU HAVE TO —
YOU HAVE TO ALLOW SOME — SOME THINGS THAT ARE NOT
NECESSARILY BEST PRACTICE, BUT ARE THERE TO MAKE THE GAME
— SO THE GAME
IS ACTUALLY SHIPPABLE, SO WE CAN GO TO THE STORE,
SO WE CAN FIX A BUG, AND USUALLY — IT IS NOT GOING
TO BE LIKE THE MOST — THE BEST WAY TO FIX SOMETHING,
BUT IT IS THE WAY THAT WE FOUND AT THAT MOMENT
WE HAD TO USE IT, BECAUSE WE DIDN’T HAVE TIME. AND THESE ARE THE TARGETS, AND THESE ARE THE KIND OF THINGS
THAT WE WANT TO CHANGE WITH ACTION RPG,
THAT KIND OF STUFF. IT IS NOT NECESSARILY
BEST PRACTICE, BUT IT IS THERE
JUST BECAUSE WE CAN SHIP IT. THIS IS — THIS IS THE EXACT
KIND OF STUFF THAT WE CHANGE OVER TIME,
TO MAKE THE PROJECT, ALL OF IT SHOWING
THE BEST PRACTICE FOR SOMETHING. AND THOSE ARE THE POINTS WHERE IF YOU TRY TO SYNC
AN OLDER VERSION OF ACTION RPG TO A NEWER VERSION,
IT IS THE — IT IS THE EXACT POINTS THAT YOU
MAY FACE BUGS AND ISSUES THAT YOU HAVE TO FIX YOURSELF.>>SAM: WELL, ONE OF THE ONES
THAT WE FOUND, AND I NEVER TESTED THIS,
BUT YOU COULDN’T — IF YOU DIDN’T HAVE A WEAPON
IN THE FIRST SLOT IN YOUR INVENTORY, AND YOU HAD ONE IN THE SECOND
AND THE THIRD ONE, YOU WEREN’T ABLE TO SELECT
THE WEAPON IN THE FIRST SLOT, BECAUSE THERE WAS A MISMATCH AND
THE ARRAY, THERE WAS A MAP — AND SO BASICALLY THE INVENTORY
WAS LOOKING FOR SLOT TWO, BUT IT COULD ONLY SEE SLOTS
THREE THROUGH FIVE, AND THERE WAS NO SLOT TWO,
IT DIDN’T EXIST. SO WE HAD TO PUT IN A HACK
TO RE-MAP THE INVENTORY SO THAT IT GOT THE RIGHT NUMBER
IN THE ARRAY TO GET IT OUT FOR 4.21. AND THEN WE ACTUALLY REDESIGNED
HOW THAT SYSTEM WORKED, ONCE WE REALIZED
WE HAD A BUG THERE. SO THIS IS EXACTLY
WHAT PAULO WAS SAYING, WE MADE THIS IN THE BEST WAY
THAT WE CAN, BUT SOMEBODY ALWAYS DOES SOMETHING
SOMETHING WE NEVER THINK OF, WE HAVE A BUG
THAT WE NEED TO FIX BECAUSE THIS THING HAPPENED, AND NOW WE HAVE TO SCRAMBLE
TO FIX IT. AND THESE ARE —
THESE ARE JUST — THIS IS HOW GAME DEVELOPMENT IS.>>VICTOR: YEP.>>SAM: THIS IS HOW IT
GOES.>>PAULO: AND
JUST BEFORE I MOVE ON, I THINK THAT YOU ARE GOING
TO HAVE A HARD TIME IF YOU TRY TO SYNC FROM
A NEWER VERSION OF ACTION RPG. WHEN IT COMES UP,
WHEN 4.22 COMES UP — WE CHANGED THE WAY THAT WE DO
THE ON-SCREEN CONTROLS, THE ON-SCREEN PART OF THE GAME,
WE CHANGED ALMOST EVERYTHING. TO ADD SUPPORT FOR THE INTERFACE
THAT SAM SHOWED YOU, YOU HAVE TO DO A LOT OF STUFF,
YOU HAVE A HARD TIME IF YOU WANT TO
SYNC 4.22 TO 4.21. SO A HEADS-UP NOTE
FOR THE ONES THAT ARE — IF YOU WANT TO TRY THIS.>>SAM: YOU ARE GOING
TO HAVE A BAD TIME.>>VICTOR: WOULD
IT BE BETTER TO HAVE INDIVIDUAL
WEAPON-BASED CLASS, RANGE, MELEE, ETC., OR A SINGLE-BASED CLASS
THAT ALL WEAPONS PULL FROM?>>SAM: SO… THAT’S MORE OF A
PHILOSOPHICAL QUESTION — THAN YOU SHOULD DO IT
THIS WAY OR THE OTHER. THERE ISN’T A — WHICH EVER WAY
YOU PICK OUT OF THAT ONE ISN’T GOING TO AFFECT
PERFORMANCE OR SOMETHING, IT IS GOING TO AFFECT THE
ABILITY TO UPDATE YOUR PROJECT. I WOULD HAVE ONE
WEAPON-BASED CLASS, THAT MEANS I ONLY HAVE
TO FIX A BUG IN ONE LOCATION AND IT PROPAGATES UP
TO EVERYTHING. IF I HAVE A CLASS FOR MELEE, RANGE AND SPECIAL
WEAPONS, THOSE ARE THREE BASE CLASSES I HAVE TO MAKE SURE
THAT BUGS ARE FIXED IN AND THREE BASE CLASSES
I HAVE TO TEST FOR. SO I PREFER TO JUST
HAVE ONE BASE CLASS. BUT IT IS NOT TO SAY THAT
YOU COULDN’T DO IT THAT WAY. BUT THAT IS MORE
OF A PHILOSOPHICAL KIND OF PROCESS QUESTION THAN A,
WHAT’S THE WORD I’M LOOKING FOR, A REQUIREMENT OF DEVELOPMENT
FOR THIS PROJECT.>>PAULO: MORE IMPORTANTLY
IS YOU TRY TO PLAN AHEAD, TRY TO WRITE DOWN SOME NOTES
OF WHAT KIND OF FEATURES YOUR GAME WILL HAVE,
AND THEN PICK THE RIGHT FACTOR, DEPENDING ON YOUR PLANS
FOR THE GAME, FOR THE FUTURE.>>VICTOR: IS IT
VIABLE TO USE GAMEPLAY EVENT OBJECTS FOR
DAMAGE EXECUTIONS RATHER THAN USING
A DUMMY ATTRIBUTE?>>SAM: THAT I HAVE NO
IDEA. I DID NOT WORK ON
ANY OF THE ATTRIBUTES. PAULO, DO YOU HAPPEN TO KNOW
THE ANSWER TO THIS QUESTION?>>PAULO: GAMEPLAY —
SORRY?>>VICTOR: IS IT VIABLE
TO USE GAMEPLAY EVENT OBJECTS FOR DAMAGE EXECUTIONS RATHER THAN USING
A DUMMY ATTRIBUTE, AND THERE’S A LITTLE NOTE, GIVEN THEIR MAGNITUDE FIELD
AND ABILITY TO ATTACH SECONDARY OBJECTS
FOR INFORMATION?>>PAULO: WOAH, I’M NOT
100 PERCENT SURE.>>VICTOR: WE CAN GET BACK
TO IT.>>PAULO: YES, BUT I THINK IT
IS. AN ABILITY — FOR ONE TO EXECUTE
AN ABILITY AND, BY THAT, I MEAN FOR AN ACTOR
TO EXECUTE AN ABILITY, YOU BASICALLY JUST NEED TO HAVE
AN ABILITY SYSTEM COMPONENT, AND IT SHOULD BE ABLE TO
EXECUTE — TRY EXECUTING, THAT SHOULD BE THE RIGHT
WORDING, A SPECIFIC ABILITY AND IT IS
THE DATA ABILITY COMPONENT. IT IS NOT VERY DIFFERENT
FROM THAT. IT SHOULD BE, BUT I’M NOT SURE.>>VICTOR: LET’S SEE,
HOW MUCH TIME HAVE WE GOT — A LITTLE BIT OF TIME
FOR A FEW MORE?>>AMANDA: CAN
YOU HAVE THE ASSETS INTERACT WITH THE
NIAGARA MODULE?>>SAM: PROBABLY,
I HAVEN’T TESTED NIAGARA FOR THIS
PROJECT AT ALL.>>AMANDA: UH-HUH.>>SAM: I AM NOT SURE THAT NIAGARA IN ITS
CURRENT STATE WORKS, IT MIGHT WORK ON MOBILE, BUT I DON’T KNOW IF IT HAS BEEN
BATTLE TESTED OR NOT. SINCE THIS IS
A MOBILE-CENTRIC GAME, WE DID NOT DO ANYTHING
WITH NIAGARA. HOWEVER,
SINCE GOING FROM NIAGARA — ERR, FROM CASCADE TO NIAGARA
IS A BIG THING, ONCE IT IS A BIT MORE MATURE, I WILL DO A GUIDE THAT SHOWS
THE EFFECTS IN THIS GAME AND PORT FROM FROM CASCADE
TO NIAGARA, SO YOU CAN SEE
HOW I WENT FROM ONE TO ANOTHER AND GIVE YOU EXAMPLES AS WELL. THAT WILL COME WHEN NIAGARA
IS MORE FEATURE COMPLETE AND READY FOR MOBILE DEVICES,
I NEED GPU PARTICLES TO WORK AND A LOT OF THINGS
IN THE PLANS TO BE WORKING, BUT NOT QUITE THERE YET. I WILL DEFINITELY
BE TAKING CARE OF THAT.>>AMANDA: PERFECT.>>PAULO: OR BASICALLY,
WHEN IT IS DONE.>>AMANDA: YEAH, HAHA.
>>[ LAUGHTER ].>>VICTOR: IT WILL BE. UM, IS THE VERSION
OF GAMEPLAYABILITY SYSTEM SIMILAR TO THE ONE
USED IN FORTNITE?>>PAULO: THAT’S A GOOD
QUESTION.>>SAM: IT IS A HARD QUESTION
TO ANSWER, BECAUSE ONE, I DON’T KNOW ENOUGH
ABOUT FORTNITE’S ABILITY SYSTEM. I HAVE BEEN TOLD BY LOTS OF PEOPLE IN THE
GAMEPLAY FRAMEWORK, WHAT WE DID IN ACTION RPG
IS BASED OFF OF THE SAME CODE. WHILE IT IS NOT A ONE
TO ONE MATCH, IT IS IN A SIMILAR BALLPARK
TO HOW IT IS ARCHITECTED. I WOULD SAY THAT ARCHITECTURE
IS THE SAME, BUT THE EXECUTION
IS CUSTOM TO US. IF YOU WANTED TO KNOW MORE ABOUT
THE GAMEPLAY ABILITY SYSTEM, AND HOW IT IS BUILT, AND HOW IT IS ARCHITECTURED
TO INCLUDE EVERYTHING, HAVING A LOOK AT THAT WILL
GIVE YOU A GOOD IDEA OF THAT. BUT THERE IS PROBABLY
A LOT OF CUSTOM CODE THAT WAS IN FORTNITE OR PARAGON
THAT WE DON’T HAVE. BEFORE WHEN
I WAS TALKING ABOUT, THERE’S A LOT OF STUFF IN THERE
THAT IS EITHER NOT HOOKED UP BECAUSE WE NEVER TESTED IT,
SO WE DON’T KNOW, OR IT IS HOOKED UP, AND WE
JUST DIDN’T NEED TO USE IT. AND IT IS —
IT IS QUITE EXTENSIVE. IT IS A VERY,
VERY EXTENSIVE SYSTEM. THIS ISN’T A, LIKE, JUST SOMETHING
THAT SOMEBODY THREW TOGETHER. THERE WAS A LOT OF THOUGHT,
TIME, AND A LOT OF TALENTED ENGINEERS
HERE AT EPIC, WHO WORKED AT STUDIOS LIKE
BIOWARE, I FORGOT THE NAME OF THE STUDIO
THAT MADE EVER QUEST. BUT BIOWARE, ONE OF OUR GAMEPLAY
PROGRAMMERS CAME FROM THERE, AND HE BUILT SYSTEMS
LIKE THIS THERE. THIS IS VERY SIMILAR
TO ANY TYPE OF SYSTEM YOU WOULD SEE USED
ON A MAJOR AAA TITLE ENGINE.>>PAULO: IT IS AN
ENGINE WITHIN AN ENGINE.>>[ LAUGHTER ].>>PAULO: AN ENGINE TO DO SORT OF RPG
KIND OF GAMES THAT NEED REALLY
COMPLEX INTERACTIONS, WHERE YOU NEED TO CHECK,
“I HAVE AN ABILITY AND I NEED TO APPLY THIS ABILITY
TO ANOTHER PLAYER, WHAT ARE THE ABILITIES
THAT THIS PLAYER HAS, DOES IT HAVE AN ABILITY
WITH A CERTAIN COOLDOWN, SO LET’S SAY,
YOU CAN LITERALLY — I DON’T WANT TO NAME NAMES, BUT IT IS SOMETIMES A CALLED
AN MMO ENGINE, AND EVEN THOUGH WITHOUT
ALL THE RELIANT ASPECTS OF IT, IT IS MADE FOR THESE
KIND OF COMPLEX GAMES WHERE YOU NEED THIS
COMPLEX INTERACTION THAT YOU SEE FROM AN RPG.
IT IS A VERY POWERFUL SYSTEM, AND IF YOU —
IF YOU ARE GOING THAT — IF YOU ARE GOING TO MAKE
THAT KIND OF GAME.>>VICTOR: EACH
PROJECT IS ITS OWN. AND LIKE PAULO
MENTIONED EARLIER, SOMETIMES THIS IS THE DECISION
THAT YOU HAVE TO MAKE, EVEN THOUGH YOU HAVE
A NICE FRAMEWORK TO BUILD UPON.>>SAM: UH-HUH.>>VICTOR: I THINK THAT’S ALL
THE QUESTIONS THAT WE GOT YOU GUYS CAN ANSWER?>>AMANDA: WE WILL
WRAP IT UP FOR THIS WEEK. I FEEL LIKE THERE’S LOADS
OF INFORMATION, SO THANK YOU FOR JOINING
IN THIS WEEK, AND THANK YOU
FOR CALLING IN, PAULO.>>PAULO: THANK YOU.>>AMANDA: HE IS GOING FOR
DISTANCE, HAHA. A CHAMPION. SO THIS IS ALL INCREDIBLY
VALUABLE STUFF AND THERE’S A LOT
OF QUESTIONS AROUND IT, AND EVEN MORE THAT
WE DIDN’T GET TO. SO WE CAN ALWAYS —
IF SOME OF THESE ARE VALUABLE AND IF YOU FEEL LIKE YOU
CAN ANSWER SOME OF THESE, MAYBE WE CAN PULL THEM TOGETHER.>>SAM: YEAH,
WE LETS PULL THEM TOGETHER AND SEE WHAT
WE CAN ANSWER, BECAUSE SOME OF THESE QUESTIONS,
AS THEY PROGRESS, THEY MIGHT NOT MATTER ANYMORE BECAUSE WE WENT AWAY FROM WHAT
THIS QUESTION IS TARGETING AT. BECAUSE WE ARE TRYING TO UPDATE
THIS WITH JUST ANYTHING AND EVERYTHING DEVELOPERS
COME AND ASK QUESTIONS ABOUT, WE ARE TRYING TO PUT THIS
INTO THIS PROJECT, SO YOU HAVE SOME DOCS, BUT YOU ALSO
HAVE A HANDS-ON EXAMPLE.>>AMANDA: YEAH, WE WILL
TRY TO TOSS THOSE OVER TO YOU, AND FOLLOW UP ON THE FORUM
THREADS SO IT IS SOMETHING THAT YOU CAN COME BACK
AND REFERENCE AND CHAT ABOUT. REAL QUICK, WE ALWAYS —
I TOSSED THE SURVEY LINK IN CHAT, SO IT IF YOU HAVE FEEDBACK
FOR US, WHETHER IT IS, YOU KNOW, LETTING US KNOW HOW WE HAVE
BEEN DOING IN THE STREAM, TOPICS FOR THE FUTURE,
COMMENTS OR SUGGESTIONS YOU HAVE REGARDING UE
IN GENERAL, PLEASE FILL IT OUT,
IT IS REALLY HELPFUL. WE PICK FROM — IF YOU OPT IN
TO GIVE US YOUR EMAIL ADDRESS, WE WILL PURELY USE IT
FOR THE SAKE OF RAFFLING AWAY A SINGLE T-SHIRT FROM THAT LIST. IF THAT IS SOMETHING YOU ARE
INTERESTED IN RECEIVING OR HAVING A CHANCE TO,
LET US KNOW. AS ALWAYS, CHECK FOR LOCAL UE4
MEETUP GROUPS IN YOUR AREA, MEETUP.COM/PRO/UNREALENGINE, YOU WILL FIND A LOT OF RAD FOLKS
DOING COOL STUFF IN YOUR AREA. WE HAD FOLKS PARTICIPATE
IN GLOBAL GAME JAM THIS WEEKEND, IT IS A GREAT WAY TO FIND PEOPLE
TO HELP ANSWER YOUR QUESTIONS, OR YOU CAN START YOUR OWN
IF THERE ISN’T ONE NEAR YOU . WANT TALK ABOUT SPOTLIGHTS A
LITTLE BIT, WHERE TO FIND THEM?>>VICTOR: YEAH,
PLEASE GO TO THE FORUMS, THE RELEASE CHANNEL IS A WORK
IN PROGRESS, THAT’S THE MAIN PLACE
THAT WE GO TO LOOK AT. YOU CAN ALSO LINK TO YOUR
ART STATION, OR ON DISCORD. IT IS HARD TO FILTER IN THERE,
SOMETIMES THERE’S A LOT. THE FORUMS IS THE BEST SPOT. PLEASE PROVIDE US
WITH HIGH-QUALITY SCREENSHOTS, THAT IS BEST WAY TO SHOW
YOUR PROJECT IN ALL ITS GLORY.>>AMANDA: AND IF
YOU ARE WATCHING THE 5-MINUTE COUNT DOWN, THAT
IS A PROJECT CALLED BOXY. IF YOU TAKE 30 MINUTES
OF YOUR DEVELOPMENT AND SQUASH IT DOWN
INTO A 5 MINUTE INTRO, THEN EMAIL THAT TO US
AT [email protected] , SHOOT US YOUR LOGO, STUDIO AND
GAME NAME, AND WE WILL PUT IT AS PART OF THE COUNT
DOWN BEFORE THE STREAMS. IT IS COOL TO SEE THE –>>SAM: I WAS IMPRESSED
BY THE LAST ONE.>>AMANDA: YEAH, EVERYONE IS
JUST STARING AT IT.>>SAM: IT IS AN AWKWARD
SILENCE, BUT IT IS NOT, WE ARE ALL STARING
AT THE MONITOR DOWN HERE.>>AMANDA: IT IS PRETTY
WONDERFUL. YEAH, BE SURE TO FOLLOW US
ON SOCIAL MEDIA, WHETHER IT IS TWITTER, FACEBOOK,
ON TWITCH OBVIOUSLY EVERY WEEK. WE WILL SEE YOU NEXT WEEK, THANK YOU BOTH AGAIN
VERY MUCH FOR JOINING US.>>SAM: NOT A PROBLEM,
ALWAYS ENJOY BEING ON THE STREAM.>>AMANDA: SEE YOU
NEXT TIME. TAKE CARE!

21 Replies to “Action RPG: Gameplay Abilities System | Inside Unreal”

  1. What you show is not suitable for the shooter mechanics of the game, if I want the character to basically shoot and shoot depending on where the barrel of the machine, then it is impossible to do this, the fireball or cartridge always flies only forward, I can not tie the shot to the cell in the dice or just put the arrow component directly in the blueprint

  2. You mention the Asset Manager a couple times, it would be great if you made a stream showing how to use it.

    To be more specific I'd like to see how would you make a game detect new levels and characters when put in a folder dedicated for extra content.

  3. Should do a live stream on flex. A lot of people have problems with it (myself included)

    For example, if I make flex mesh body parts to attach to a vehicle the body parts lag behind the root parent

  4. Great vid. I've been trying to learn the ins and outs of this system. It's so versatile. Please do an official multiplayer Gameplay Abilities stream with c++! It's really difficult to find anything that gives some info on how to properly set up a production environment. Like: coding best practices for GA, how to build things to make it easier for cross-discipline collaboration, and little tips and tricks that only you at Epic would know. Fortnite seems to be an amazing project to break down in terms of fast iteration, efficient design for easier cross-platform development, netcode optimisation, asset pipeline structure, and so on. It would be amazing to get a little glimpse into how to properly produce a large-scale project.

  5. Any examples of a prerequisite system like minimum stat scores or abilities requiring other characteristics like DND? And how to manage those relations sanely if you have a lot of them?

  6. who's remember when Unreal was a great saga of video games and not only a graphic engine and when epic games do a true great games ?

  7. Well Gameplay Abilities System must have plugin. BUT it is so little documentation about that…
    and now live stream… huge time waste…
    So i dislike this method to get information… not system.. just to watch in hope to see something ???

Leave a Reply

Your email address will not be published. Required fields are marked *