UnrealOni: Difference between revisions

From OniGalore
Jump to navigation Jump to search
mNo edit summary
m (changes for page preview's sake: first section can simply be the lede; moved subpage list below lede)
 
(20 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Oni 2]]
'''UnrealOni''' does not only stand for the used engine but is also a pun for not being an actual game, '''it's a ''test'''''.


This is not a game, it is a technical demo at best.
It aims to explore the Unreal engine and answer the longstanding question whether Oni can be recreated.


It aims to end the longstanding discussion whether Oni can be recreated within another engine.
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'''.


We will document the progress and learned knowledge in hope that it will be useful one day for another project.
Learned knowledge will be documented in hope for being useful one day for a ''real'' project.


Upgrading the project to a newer engine version is theoretically always possible but downgrades are not.
<!--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.


So for now we work with '''version 4.17'''
It is clear that the combat system will be the most difficult to recreate. The project might focus on easier parts first.


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)
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]]

Latest revision as of 19:23, 2 July 2022

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.

A blueprint project can be extended later by 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.

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, Documentation, Tutorials, Unreal Object Classes, 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 git lfs install
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