19,588
edits
Paradox-01 (talk | contribs) m (General notes on using blueprints) |
m (/cat) |
||
(19 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
==Assets== | ==Assets== | ||
===Import=== | ===Import=== | ||
====Images==== | |||
Unprocessed files like PNG can be imported by drag and drop in the Content Browser. | Unprocessed files like PNG can be imported by drag and drop in the Content Browser. | ||
They will be saved as .uasset in the folder you dropped the original file. | They will be saved as .uasset in the folder you dropped the original file. | ||
====Video==== | |||
;Intro video | |||
;Ingame videos | |||
====Sound==== | |||
====Data tables==== | |||
====Meshes==== | |||
====Levels==== | |||
====Characters==== | |||
====Animations==== | |||
====Logic==== | |||
* Blueprints ? | |||
* C++ ? | |||
===Data migration=== | |||
===Updating content=== | |||
===Export=== | |||
==Startup visuals== | |||
'''Splash screen''' | |||
It's not a level splash screen. It's shown when the game starts. In 600 x 200 pixel. | |||
Settings > Project Settings > Platforms > Windows > Splash | |||
:Editor Splash, Game Splash | |||
Watch out for ''dead space'' at the left bottom area as it gets occupied at runtime by text displaying the engine version, the game's name, copyright, and loading progress. | |||
<gallery> | |||
Image:UE4_ProjectSettings_SplashScreen.png|right|thumb|Spash screens and game icon | |||
Image:UnrealOni_ProjectSettings_SplashScreen_at_runtime.png|right|thumb|Editor spash screen at runtime | |||
</gallery> | |||
'''Game icon''' | |||
Beneath the Splash, the Game Icon can be set. In 256 x 256 pixel. | |||
: For Photoshop there is a free plugin available for making *.ico files. | |||
'''Videos''' | |||
;Show Intro video | |||
:Settings > Project Settings > (Project section) Movies | |||
:Wait for Movies to Complete [x] (prevent bug from closing video automatically right after start) | |||
:Movies Are Skippable [x] | |||
:Add element to array, insert an MP4 video | |||
:Some older engine versions require the MP4 to have 25 fps. | |||
:Bug: On Windows the mouse cursor will be shown during video playback. | |||
An animated intro would be nice but that's unfeasible for us. Instead ingame cutscenes could be used. | |||
;Display other videos in fullscreen, e.g. for Outro | |||
:https://www.youtube.com/watch?v=W_nSACYTIvY | |||
==General notes on using blueprints== | ==General notes on using blueprints== | ||
[[Image:UnrealOni_working_with_blueprints_1_expose_options_from_reference.png|right|thumb|Exposing object-specific nodes by pulling a pin out of a reference]] | [[Image:UnrealOni_working_with_blueprints_1_expose_options_from_reference.png|right|thumb|Exposing object-specific nodes by pulling a pin out of a reference]] | ||
When right-clicking on | When right-clicking on an empty BP grid then by default you will see pre-selected categories and nodes. | ||
In rare cases you have to disable the Context Sensitive option to get all possible nodes. | In rare cases you have to disable the Context Sensitive option to get all possible nodes. | ||
To get Variables and functions from specific | To get Variables and functions from a specific object you need a reference of that object first. | ||
Connections can be double-clicked to get a Detour node. When you hover a Detour node with a little offset you will notice a changed mouse cursor, indicating that the node can be moved. | Connections can be double-clicked to get a Detour node. When you hover a Detour node with a little offset you will notice a changed mouse cursor, indicating that the node can be moved. | ||
Line 124: | Line 202: | ||
The second parameter for the cheat name is purely decorative, it is only for the status message. | The second parameter for the cheat name is purely decorative, it is only for the status message. | ||
====Munitionfrenzy==== | |||
[[Image:UnrealOni_cheatcodes_munitionfrenzy.png|right|thumb|Weapon cheat "munitionfrenzy"]] | |||
[[Image:UnrealOni_variable_of_type_object_class.png|right|thumb|Setting a variable to type object '''class''']] | |||
Creating an array of weapon classes requires to go into the side menu of the variable where you can chose between instances, classes, and soft references. | |||
:For RealOni we should better have the means to fill that array automatically. | |||
The nodes for all the locations and rotations are meant to spawn the weapons in a circle whereby the player stands in the center. | |||
====Kangaroo==== | ====Kangaroo==== | ||
[[Image:UnrealOni_cheat_codes_kangaroo.png|right|thumb|Jump cheat " | [[Image:UnrealOni_cheat_codes_kangaroo.png|right|thumb|Jump cheat "kangaroo"]] | ||
For higher jumps we need bigger values for the "Jump ZVelozity" node. | For higher jumps we need bigger values for the "Jump ZVelozity" node. | ||
Line 141: | Line 230: | ||
==Debugging== | ==Debugging== | ||
===Live scripting=== | ===Live scripting=== | ||
In Oni you can do some scripting with the developer console. | In Oni you can do some scripting with the developer console. | ||
Line 161: | Line 249: | ||
Todo: Use = sign and spaces as separator and a select node to handle the different variables and functions. | Todo: Use = sign and spaces as separator and a select node to handle the different variables and functions. | ||
<gallery> | |||
Image:UnrealOni_dev_console.png|right|thumb|Dev console (construction) | |||
</gallery> | |||
===Sample functions and variables=== | ===Sample functions and variables=== | ||
;ai2_chump | ;ai2_chump | ||
ai2_chump spawns a character, always face-to-face and 100 units away. | ai2_chump spawns a character, always face-to-face and 100 units away. | ||
A better "chump" character is meant to implemented later, matching player's team id. | A better "chump" character is meant to implemented later, matching player's team id when [[XML:ONCC|ONCC]] component is done. | ||
Also, the attached ai2_followme is not implemented yet. | Also, the attached ai2_followme is not implemented yet. | ||
<gallery> | |||
Image:UnrealOni_console_func_ai2_chump.png|right|thumb|Function ai2_chump | |||
Image:UnrealOni_console_func_ai2_chump_result.png|right|thumb|ai2_chump called from a custom dev console | |||
</gallery> | |||
==Ingame menus== | |||
===Text pages=== | |||
'''Styles''' | |||
Requirements for text pages with multiple styles: | |||
* User widget (blueprint) | |||
* Rich text block | |||
* Data table (blueprint) with row structure "Rich Text Style Row" | |||
* A new font file (if necessary) | |||
Procedure: | |||
* Add some default text to the rich text block | |||
* Add a default row to the data table named "Default" and set the other defaults including the font | |||
* Move and save rich text block in order to see changes | |||
* Add more rows to the data table, those are the style | |||
** Row name equals tag name which can be used in the rich text block | |||
** Tags are to be used like HTML. <code>This is a text in default style and <nowiki><xeno30>this is a text in a style I named xeno30.</xeno30></nowiki></code> | |||
[YT tutorial https://www.youtube.com/watch?v=msy7bRDpKF4] | |||
<gallery> | |||
Image:UnrealOni_rich_text_block_for_multiple_styles_user_widget.png|right|thumb|User widget with rich text block | |||
Image:UnrealOni_rich_text_block_for_multiple_styles_data_table.png|right|thumb|Data table for rich text block styles | |||
</gallery> | |||
'''Images in rich text block''' | |||
These images can serve as inline images, being only as big as the default text. | |||
Requirements: | |||
* RichTextBlockImageDecorator (blueprint) | |||
* Data table (blueprint) with row structure "Rich Image Row" | |||
Procedure: | |||
* Add images to that new data table | |||
* Use image tags in rich text block as following: <code><nowiki><img id="tagName"></></nowiki></code> | |||
===Diary=== | |||
===Main menu=== | |||
Line 188: | Line 324: | ||
: If you disable '''''Can Characters Step Up On''''' via a Set node the object is still '''kickable'''. | : If you disable '''''Can Characters Step Up On''''' via a Set node the object is still '''kickable'''. | ||
: These settings are interesting for pickup items such as '''powerups''' and '''weapons'''. | : These settings are interesting for pickup items such as '''powerups''' and '''weapons'''. | ||
==Table of content== | |||
We could make many tables but let's keep that number low. They will serve as milestones. | |||
So if these are done we can say: "Yep, it's all possible." Cheats deal with levels, characters, AI, weapons, inventory, animations and particle. So it's a good overview. | |||
===Cheats=== | |||
{| class="wikitable" width="100%" | |||
|- | |||
!width="100"|Cheat | |||
!width="50"|Status | |||
!Notes | |||
|- | |||
|shapeshifter | |||
| | |||
|needs data collection means | |||
|- | |||
|liveforever | |||
| | |||
|needs health system | |||
|- | |||
|touchofdeath | |||
| | |||
|needs health system | |||
|- | |||
|canttouchthis | |||
| | |||
|needs anim/throw system | |||
|- | |||
|fatloot | |||
| | |||
|needs inventory | |||
|- | |||
|glassworld | |||
| | |||
|needs material system | |||
|- | |||
|winlevel | |||
| | |||
|needs level management | |||
|- | |||
|loselevel | |||
| | |||
|needs level management | |||
|- | |||
|bighead | |||
| | |||
|needs character/anim system | |||
|- | |||
|minime | |||
|ok | |||
|RealOni imp.: adjust animation speeds based on char scale | |||
|- | |||
|superammo | |||
| | |||
|needs weapon system | |||
|- | |||
|thedayismine | |||
| | |||
|needs implementation of more debug features and char/weap cycling | |||
|- | |||
|reservoirdogs | |||
| | |||
|needs AI system | |||
|- | |||
|roughjustice | |||
| | |||
|needs weapon system | |||
|- | |||
|behemoth | |||
|ok | |||
|''RealOni'' imp.: adjust animation speeds based on char scale | |||
|- | |||
|chenille | |||
| | |||
|needs health, particle and daodan system | |||
|- | |||
|elderrune | |||
| | |||
|needs health system | |||
|- | |||
|moonshadow | |||
| | |||
|needs material management | |||
|- | |||
|munitionfrenzy | |||
|ok | |||
| | |||
|- | |||
|fistsoflegend | |||
| | |||
|needs anim system | |||
|- | |||
|killmequick | |||
| | |||
|needs AI system | |||
|- | |||
|carousel | |||
|ok | |||
| | |||
|- | |||
|bigbadboss | |||
| | |||
|needs health and weapon system | |||
|- | |||
|buddha | |||
| | |||
|needs health system | |||
|- | |||
|bulletproof | |||
| | |||
|needs health and weapon system | |||
|- | |||
|kangaroo | |||
|ok | |||
| | |||
|- | |||
|marypoppins | |||
| | |||
|needs jetpack mechanics | |||
|- | |||
|shinobi | |||
| | |||
|needs health, weapon, sound and AI system | |||
|- | |||
|godzilla | |||
|ok | |||
|''RealOni'' imp.: adjust animation speeds based on char scale and could be extended to test destroyable furniture and buildings | |||
|- | |||
|test | |||
| | |||
|reserved for current testing | |||
|} | |||
===Systems=== | |||
{| class="wikitable" width="100%" | |||
|- | |||
!width="100"|Cheats | |||
!width="50"|Status | |||
!Notes | |||
|- | |||
|Dev mode | |||
| | |||
| | |||
|- | |||
|Main Menu | |||
| | |||
| | |||
|- | |||
|Pause/help menu, diary and text pages | |||
| | |||
| | |||
|- | |||
|CJBO | |||
| | |||
| | |||
{| class="wikitable" width="100%" | |||
|- | |||
|width="50"|CHAR | |||
|width="50"| | |||
| | |||
|- | |||
|CMBT | |||
| | |||
| | |||
|- | |||
|CONS | |||
| | |||
| | |||
|- | |||
|DOOR | |||
| | |||
| | |||
|- | |||
|FLAG | |||
| | |||
| | |||
|- | |||
|FURN | |||
| | |||
| | |||
|- | |||
|MELE | |||
| | |||
| | |||
|- | |||
|NEUT | |||
| | |||
| | |||
|- | |||
|PART | |||
| | |||
| | |||
|- | |||
|PATR | |||
| | |||
| | |||
|- | |||
|PWRU | |||
| | |||
| | |||
|- | |||
|TRGV | |||
| | |||
| | |||
|- | |||
|TRIG | |||
| | |||
| | |||
|- | |||
|TURR | |||
| | |||
| | |||
|- | |||
|WEAP | |||
| | |||
| | |||
|} | |||
|- | |||
|Level objects and materials | |||
| | |||
| | |||
|- | |||
|Levels | |||
| | |||
| | |||
* Demo content | |||
* Documentation | |||
** Collisions | |||
** Modular construction | |||
** Level streaming? | |||
|- | |||
|Level management | |||
| | |||
| | |||
* Splashscreen handling | |||
* Level load routine | |||
* Savegames | |||
|- | |||
|Characters | |||
| | |||
| | |||
* ONCC component | |||
* ''Difficulty upgrade'' (ONCV) | |||
* Documentation | |||
** Import | |||
** Adjustments | |||
|- | |||
| AI | |||
| | |||
| | |||
* Perception | |||
* Behaviour | |||
|- | |||
|Animations and H2H combat | |||
| | |||
| | |||
* Standing and special idle | |||
* Running and evasion | |||
* Jumping | |||
* Crouching and sneaking | |||
* Prone mode | |||
* H2H collisions | |||
** Blocks | |||
** Standard attacks | |||
** Mechanics for the 7 damage factor types | |||
** Throws | |||
** Variants | |||
* Overlay anims | |||
** Aiming | |||
|- | |||
|Particles | |||
| | |||
| | |||
* FX | |||
* Behaviour (movements, attractors, physics) | |||
* Damage | |||
* Healing | |||
* Function calling | |||
|- | |||
|Sounds | |||
| | |||
| | |||
|- | |||
|Impacts | |||
| | |||
|Can and should this be centralized? (ONIE) | |||
|- | |||
|Cameras | |||
| | |||
| | |||
* 3rd person view | |||
* Free camera | |||
|- | |||
|Cinematics | |||
| | |||
| | |||
* BP logic | |||
* FILM equivalent | |||
* letterbox | |||
* subtitles | |||
|} | |||
==Things that possibly need C++== | |||
* Permutation of soundtrack parts | |||
* Fine-tuned jetpack mechanics | |||
[[Category:Fan-made games]] |