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)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Scope==
'''UnrealOni''' does not only stand for the used engine but is also a pun for not being an actual game, '''it's a ''test'''''.
'''UnrealOni''' does not only stand for the used engine but is also a pun for not being an actual game, '''it's a ''test'''''.


Line 6: Line 5:
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'''.
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 learned knowledge in hope it might become useful one day for a ''real'' project.
Learned knowledge will be documented in hope for being useful one day for a ''real'' project.


Test data will be uploaded and linked to. While that data is created, we will try to port it to the always most up to date, stable Unreal engine version.
<!--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.


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 we start with blueprints.
It is clear that the combat system will be the most difficult to recreate. The project might focus on easier parts first.
 
It is clear that the combat system will be the most difficult to recreate. However, we are not in a hurry to achieve just that. Instead we will focus is on the 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.
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==
==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.
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 can be added later avoiding the forking workflow.
For the improbable case that this test gets big, actual contributors could be added later avoiding the forking workflow.
 


==Tools setup==
==Tools setup==
Line 29: Line 29:
* Install Git LFS
* Install Git LFS
* Run Git Bash/CMD and enter <code>git lfs install</code>
* Run Git Bash/CMD and enter <code>git lfs install</code>
: Since files larger than 100 MB are rejected we need the Large File Storage to store those files on a separate server. It is meant to keep the actual Git repo small.
: 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.
: A git repos shouldn't get bigger than 1 GB.
: https://www.youtube.com/watch?v=Hv_v3tPuNj4
: https://www.youtube.com/watch?v=Hv_v3tPuNj4
Line 35: Line 35:
* Setup Git Desktop with your Git account data.
* Setup Git Desktop with your Git account data.


 
==Original project setup (reminder)==
 
==Project setup==
* Start Unreal Laucher
* Start Unreal Laucher
* From the library choose newest installed engine
* From the library choose newest installed engine
Line 63: Line 61:
* Have a Github account
* Have a Github account
* Install Git, Git LFS and Github Desktop
* Install Git, Git LFS and Github Desktop
* Open Github Desktop
* Open '''Github Desktop'''
: File > Clone Repository > URL
: File > Clone Repository > URL
: https://github.com/Paradox-01/UnrealOni.git
: After download confirm LFS
: Right 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==
==Documentation==
[[Oni2:UnrealOni/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 190: Line 198:


===WPge===
===WPge===


==Links to valuable learning resources==
==Links to valuable learning resources==
Line 206: Line 213:
-->
-->


[[Category:Oni 2]]
[[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