Wiki Code Tutorials

[FONT=Comic Sans MS]Featured Tutorial

File Management, Create Folders, Delete Files, and More!

https://wiki.unrealengine./File_Management,_Create_Folders,_Delete_Files,_and_More

[FONT=Comic Sans MS] AI Blows Stuff Up

https://youtube./watch?v=gjCDA_FiVxk

Everything you see in the video is completely dynamically calculated by me in the C++!

Nothing is pre-scripted!

I do not even tell the AI units what to target when they are spawned!

Everything you see is my own AI system at work

  1. all the pathing is my own pathing system, from scratch

  2. I set up an Alignment system so the AI units know who is friendly and which structures to attack

  3. The AI is told by me to spread out, and keep track of which structures other friendly units are attacking.

maximizes their usefulness to each other, as they cover maximum building surface area!

Meaning, if a new AI unit is trying to pick a target, my AI will try to pick a target that no other friendly in the area is attacking yet.

  1. Each AI unit is keeping track of all nearby friendly units during runtime, dynamically updating its personal list of friendlies every few moments.

means each AI unit is aware of all friendlies at all times, as well as all nearby structures

  1. When a structure is destroyed, each AI unit tries to find a new target

  2. Apex destructibles block the AI pathing, so they try to get around using my dynamic physics pathing system.

  3. Each AI unit is consciously deciding how far to position itself away from the target building for ideal melee range.

  4. Each AI unit is deciding when it is close enough to the surface area of its target structure and then stops moving and begins attacking.

  5. As I said, nothing is pre-arranged, as you saw I ran multiple tests! The AI is spreading and and performing to all my specifications listed above!

  6. Yay! Victory!!!

:slight_smile:

PS: the sparks are created at the precise point in the animation sequence that I specify, using an anim notify.

anim notify then calls my C++ AI function for doing damage.

So the visual appearance of doing damage is indeed triggering my C++ AI system !

The visual appearance and the C++ are linked together completely!

[=;116795]
[FONT=Comic Sans MS] AI Blows Stuff Up

[/]

That is amazing. Any thoughts on posting some code snippets? If not, curious what you’ve put together for your custom pathing. Vector grids, some A* flavor, or just some forward looking system? Curious to hear how it might handle changes in elevation or dead ends.

[=;118274]
That is amazing. Any thoughts on posting some code snippets? If not, curious what you’ve put together for your custom pathing. Vector grids, some A* flavor, or just some forward looking system? Curious to hear how it might handle changes in elevation or dead ends.
[/]

Haha someone else asked that!

I write all my algorithms myself without any references, ever :slight_smile:

I always create purely from my own logic and imagination, and so everything you see me do is my own original work.

Sooo, my system does not have any algorithm names that I can reference to you, its all my own Code :slight_smile:

The same is true of my code on my wiki tutorials, except where I specifically reference other people!

See my Code in action in video!

https://youtube./watch?v=gjCDA_FiVxk

PS: I am still deep in development so I dont want to share any code yet because it is subject to change right now, but the only interface I have with UE4 character movement is right here:


CharacterMovement->Velocity += Mycode Takes Over Here

All the rest of my code base is my own calculations for when and what kind of velocities to apply to the character movement component :slight_smile:

Fortunately, thanks to Epic, just by doing my AI system way, my AI system is already replicated perfectly , since UE4 replicates CharacterMovement so well!

Well, in that case, I’ll just call that nav system “impressive.” Well done. Your code comment actually lead me to your tutorial on custom character movement component on the wiki. Something that I might give a try, thank you for putting that together!

[=;120626]
Well, in that case, I’ll just call that nav system “impressive.” Well done.
[/]

Hee hee thanks!

Hello.
Is your C++ based GUI/HUD system (as shown in your tutorials) platform independent?
I.e. will they work the same on PC, XBox, PS4, etc?

I need an in-game list/combo box and, like you, may have to implement it myself. I’m currently looking through Slate/Widget resources to see if they can do what I need without having to start from scratch.

Hey Ash22!

Could you not create/is there not already a Combo box widget in Epic’s new UMG?
I thought they had most of the basics covered xD
(Don’t me on , can’t actually remember)

But it’s worth looking into if you haven’t already!

Edit: Just had a look, it appears it does use it! :smiley:

UMG.png&stc=1

I have it highlighting in the above image (Second down from “Misc”)

Hope helps!

-

Hee hee! Thanks for answer Loken!

Nice to hear from you Ash22!

PS: to answer your question yes, my solution is platform independent as it is entirely in UE4 code, which is designed to be platform agnostic.

**New Wiki

Add Handcrafted Custom Math Curves From UE4 Editor to C++**

Here’s a tutorial on how to construct perfect hand crafted curves in the Editor and then bring them into C++!

You can thus create spring curves, dampen curves, bounce curves, any kind of curves you want, and then use them to drive your C++ code!

https://wiki.unrealengine./Curves,_Create_Custom_Cubic_Curves_In_Editor_For_Use_In_Code

**New Wiki

Create Custom Console Commands in C++ to be implemented in Blueprints!**

Empower your whole team to make their own console commands in Blueprints!

https://wiki.unrealengine./Solus_C%2B%2B_Tutorials#How_to_Make_Custom_BP-Defined_Console_Commands

[=;139401]
**New Wiki

Create Custom Console Commands in C++ to be implemented in Blueprints!**

Empower your whole team to make their own console commands in Blueprints!

https://wiki.unrealengine./Solus_C%2B%2B_Tutorials#How_to_Make_Custom_BP-Defined_Console_Commands
[/]

Hey

I was just researching about . I didn’t know how to do but maybe I can figure it out now. is great!

Isaac

[=;139401]
**New Wiki

Create Custom Console Commands in C++ to be implemented in Blueprints!**

Empower your whole team to make their own console commands in Blueprints!

https://wiki.unrealengine./Solus_C%2B%2B_Tutorials#How_to_Make_Custom_BP-Defined_Console_Commands
[/]

Shouldn’t we at least have empty implementations in C++ as a fallback?

Other than that, that’s dead simple, thanks for the guide!

[=Isaac Nichols;139409]
Hey

I was just researching about . I didn’t know how to do but maybe I can figure it out now. is great!

Isaac
[/]

Hee hee! Let me know how it goes Isaac!

[=;139423]
Shouldn’t we at least have empty implementations in C++ as a fallback?
[/]

Sure! if you want to!

In that case have a UPROPERTY(exec) c++ function that then calls the BP Implementable function!

More info on BP Implementable functions:

https://wiki.unrealengine./Blueprints,_Empower_Your_Entire_Team_With_BlueprintImplementableEvent

Forward Declaration Tutorial Updated

I updated tutorial to 4.4, now that DependsOn no longer exists :slight_smile:

Added some additional info about #include in .CPP files!

https://wiki.unrealengine./Forward_Declarations#CPP_Files

**New Wiki

Integrating PhysX Code into Your Project!**

https://wiki.unrealengine./PhysX,_Integrating_PhysX_Code_into_Your_Project

[FONT=Comic Sans MS]Featured Tutorial

Mesh Collision, Obtain Closest Point on Mesh Surface to Other Point!

https://wiki.unrealengine./Mesh_Collision,_Obtain_Closest_Point_on_Mesh_Surface_To_Other_Point

**New Wiki

Game Instance

Inter-Level Persistent Data Storage**

Dear Community,

I have just published new tutorial on how to use the new Engine called the Game Instance class!

is only in the engine as of 4.4, but it is very powerful!

You can use the Game Instance class to store data between level transitions!

So where previously you might have had to save stuff out to config file or use a save object, or write out to binary file, now you can carry data from one level to another using the Game Instance class!

In the example code on the wiki I show you how to count the total number of ticks that have elapsed since your game application window first opens and the first level is loaded!

You can now store any data you want between levels!

https://wiki.unrealengine./Game_Instance,_Custom_Game_Instance_For_Inter-Level_Persistent_Data_Storage

New Wiki, Network Replication

I’ve just posted a tutorial using code from my own code base showing how I do Network Replication for actions that have to be performed locally by each client as well as the server (listen server).

https://wiki.unrealengine./Network_Replication,Using_ReplicatedUsing/_RepNotify_vars

New Plugin For Community!

I’ve posted a plugin template that you should find quite easy to adapt to your needs!

It is a fully functional plugin sample, containing some nodes that I found useful for doing AI coding in Blueprints.

But the purpose is to give you a plugin template to use however you like!

Enjoy!

's AI Plugin Template
https://wiki.unrealengine./Plugin,_Functional_Code_Template_For_You