19,721
edits
Paradox-01 (talk | contribs) m (link back to my wishlist, note the do some recycling work later) |
m (changes for page preview's sake: first section can simply be the lede; moved subpage list below lede) |
||
| (21 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
'''UnrealOni''' does not only stand for the used engine but is also a pun for not being an actual game, '''it's a ''test'''''. | |||
It aims to explore the Unreal engine and answer the longstanding question whether Oni can be recreated. | |||
Since the Unreal Engine can be fully modified by C++ the question is rather '''how much of Oni can be replicated by Blueprint scripting''' and '''what parts need real programming'''. | |||
Learned knowledge will be documented in hope for being useful one day for a ''real'' project. | |||
<!--Test data should be compatible with most up to date, stable Unreal engine version. | |||
--> | |||
A blueprint project can be extended later [https://www.youtube.com/watch?v=u1JCV3HNVwM&list=PLSlkDq2rO1t6FCotFtvQEyURMThnQYKQD by C++].<!-- https://wiki.unrealengine.com/How_to_Convert_a_BP/Content_Project_to_a_C%2B%2B_Project_in_8_Steps total conversion to C++ --> For learning purposes blueprints are used. | |||
It is clear that the combat system will be the most difficult to recreate. The project might focus on easier parts first. | |||
More information can be found [Restless_Souls/Wishlist|HERE]], I plan to move or recycle some sections from there. --[[User:Paradox-01|paradox-01]] ([[User talk:Paradox-01|talk]]) 18:48, 16 March 2018 (CET) | This bottom-up approach will possibly make learning the engine and its possibilities somewhat easier. No need to kill the fun and jump to tasks out of reach. | ||
:''Subpages: [[/ALS|ALS]], [[/Documentation|Documentation]], [[/Tutorials|Tutorials]], [[/Unreal Object Classes|Unreal Object Classes]], [[/Visual scripting|Visual scripting]]'' | |||
==Contributions== | |||
If you are also interested in Unreal you will be able to fork this project from Git, make changes and create a pull request. | |||
: Todo: Give Barnacle his own space? His files/project changes seem to lack general compatibility with vanilla installations of UE4. | |||
For the improbable case that this test gets big, actual contributors could be added later avoiding the forking workflow. | |||
==Tools setup== | |||
* Create a Github account | |||
* Install Visual Studio with Git, C++ for games, and Unreal Engine Installer selected (see "individual components" if necessary) | |||
: However, Git and Unreal Installer can also be installed separately from the internet. | |||
* Install Git LFS | |||
* Run Git Bash/CMD and enter <code>git lfs install</code> | |||
: Since files larger than 100 MB are rejected '''Large File Storage''' is needed to store those files on a separate server. It is meant to keep the actual Git repo small. (Separates code from big binary content.) | |||
: A git repos shouldn't get bigger than 1 GB. | |||
: https://www.youtube.com/watch?v=Hv_v3tPuNj4 | |||
* Git is a command line tool. For those who like GUIs install the Git Desktop as well. | |||
* Setup Git Desktop with your Git account data. | |||
==Original project setup (reminder)== | |||
* Start Unreal Laucher | |||
* From the library choose newest installed engine | |||
* Unreal Project Browser > New Project > Third Person (With Starter Content) | |||
: Set root folder | |||
: Set name (actually also a folder, it's the repository) | |||
* In opened Unreal Editor, hit Source Control at the top controls. | |||
: Select Git as Provider. Git path should be found automatically as well as the root of repo, user name, and email, '''activate Git LFS'''. | |||
: Initialize project with Git | |||
: Accept Settings | |||
* Manually adding extension for Git LFS | |||
: Open Git bash | |||
: cd /[DriveLetter]/.../[repoName]/ | |||
: git lfs track "*.[fileExtention]" | |||
: .gitattributes file will now include that extension | |||
* Github Desktop | |||
: File > Add existing repository | |||
==Tools and project setup for contributors== | |||
* Have a Github account | |||
* Install Git, Git LFS and Github Desktop | |||
* Open '''Github Desktop''' | |||
: File > Clone Repository > URL | |||
: After download confirm LFS | |||
:: the current project file is to be opened with '''UnrealEngine 4.22''': | |||
:: '''with Barnacle's changes:''' | |||
::: https://github.com/Paradox-01/UnrealOni | |||
:: '''Original:''' | |||
::: change branch to OriginalParadox (local files will be changed) | |||
===Branch "OriginalParadox"=== | |||
This is basically a blank project with: | |||
* an UE4 pre-loading splash screen (a "title bar" ?) | |||
* a Bink video test (unofficial AE video) | |||
* OniGameInstance with logic for ai2_chump and dev console [Alt]+[#] | |||
* Xenotron font | |||
* Oni mouse cursor | |||
* data table for Xenotron font styles and glow tex (test images for IPge) | |||
You might have seen screenshots of this project suggesting other content. This was simply the latest test with different content. | |||
==Documentation== | |||
[[Oni2:UnrealOni/Documentation]] | |||
<!-- | |||
More information can be found [[Restless_Souls/Wishlist|HERE]], I plan to move or recycle some sections from there. --[[User:Paradox-01|paradox-01]] ([[User talk:Paradox-01|talk]]) 18:48, 16 March 2018 (CET) | |||
==Content and features - overview== | ==Content and features - overview== | ||
Examples we are working on... | Examples we are working on... | ||
[Note from Iritscen: I have put a '-' between the "[["s below in order to "break" those links, as they are confusing my script which validates section links. If you uncomment all this material in the future, simply remove the '-'s.] | |||
* [[#3RAP|3RAP]] | * [-[#3RAP|3RAP]] | ||
** weapon particle | ** weapon particle | ||
* [[#AI|AI]] | * [-[#AI|AI]] | ||
** Behavior system (combined logic) | ** Behavior system (combined logic) | ||
** Hearing system | ** Hearing system | ||
** Visual system | ** Visual system | ||
* [[#AKEV|AKEV]] - Static level geometry | * [-[#AKEV|AKEV]] - Static level geometry | ||
* [[#Controls|Controls]] | * [-[#Controls|Controls]] | ||
* [[#IPge|IPge]] - Item Pages | * [-[#IPge|IPge]] - Item Pages | ||
* [[#M3GM|M3GM]] - Static objects | * [-[#M3GM|M3GM]] - Static objects | ||
* [[#ONCC|ONCC]] - Oni Character Classes | * [-[#ONCC|ONCC]] - Oni Character Classes | ||
* [[#ONLD|ONLD]] - Oni Game Level Descriptors | * [-[#ONLD|ONLD]] - Oni Game Level Descriptors | ||
* [[#OPge|OPge]] - Objective Pages | * [-[#OPge|OPge]] - Objective Pages | ||
* [[#ONWC|ONWC]] - Oni Weapon Class | * [-[#ONWC|ONWC]] - Oni Weapon Class | ||
* [[#PWRU|PWRU]] - Powerups | * [-[#PWRU|PWRU]] - Powerups | ||
* [[#SNDD|SNDD]] - Sounds | * [-[#SNDD|SNDD]] - Sounds | ||
* [[#TRAC|TRAC]] - Animation Collection | * [-[#TRAC|TRAC]] - Animation Collection | ||
* [[#TRAM|TRAM]] - Animations | * [-[#TRAM|TRAM]] - Animations | ||
* [[#TXMB|TXMB]] - Splash screens (Intro, OutroWin, OutroLose) | * [-[#TXMB|TXMB]] - Splash screens (Intro, OutroWin, OutroLose) | ||
* [[#TXMP|TXMP]] - Textures | * [-[#TXMP|TXMP]] - Textures | ||
* [[#UI|UI]] - Health bar, main menu, pause menu, dev features (show AI health and team) | * [-[#UI|UI]] - Health bar, main menu, pause menu, dev features (show AI health and team) | ||
* [[#WPge|WPge]] - Weapon Pages | * [-[#WPge|WPge]] - Weapon Pages | ||
==Content and features - details== | ==Content and features - details== | ||
| Line 81: | Line 153: | ||
* Makes references to character components | * Makes references to character components | ||
* Loads character-specific values for properties (health, team, etc.) | * Loads character-specific values for properties (health, team, etc.) | ||
** [[XML:ONCC|ONCC]] + [[XML:BINA/OBJC/CHAR|CHAR]] | |||
* Processes received damage | * Processes received damage | ||
| Line 125: | Line 198: | ||
===WPge=== | ===WPge=== | ||
==Links to valuable learning resources== | ==Links to valuable learning resources== | ||
| Line 133: | Line 205: | ||
''' [[Oni2:UnrealOni/Visual_scripting|Visual scripting]]''' | ''' [[Oni2:UnrealOni/Visual_scripting|Visual scripting]]''' | ||
* nodes overview with helpful explanations | * nodes overview with helpful explanations | ||
''' [[Oni2:UnrealOni/ALS|Advanced Locomotion System]]''' | |||
* notes about importing new characters | |||
'''[[Oni2:UnrealOni/Tutorials|Tutorials]]''' | '''[[Oni2:UnrealOni/Tutorials|Tutorials]]''' | ||
* [[Talk:Blender|character import]] | * [[Talk:Blender|character import]] | ||
--> | |||
[[Category:Fan-made games]] | |||