Unity3D Fontainbleau Build Released

The Unity Technologies Team created the Fontainebleau demo to illustrate the photogrammetry workflow and the use of the LayeredLit shader.

This technical demo is authored with game development condition in mind: it’s a representative game level and targets the base PlayStation 4 at 1080p @ 30fps.
Build available on Windows 11 64bit : https://geffrotin.com/yann/games/unity3dfontainebleauwin64/

(source code available on github: https://github.com/Unity-Technologies/FontainebleauDemo)

Spaceship Demo is a AAA Playable First person demo

Spaceship Demo is a AAA Playable First person demo showcasing effects made with Visual Effect Graph and rendered with High Definition Render Pipeline. Available now on Windows 64: https://www.geffrotin.com/yann/games/unity3dspaceshipwindows64/ (and the source code is on github : https://github.com/Unity-Technologies/SpaceshipDemo)

Unity Action-RPG Starter Kit Released

The release of my Unity Action-RPG Starter Kit (1st version) is now complete and downloadable on windows.

url https://www.geffrotin.com/yann/games/unity3dactionrpgstarterkitwindows

Tutorial CRYENGINE – How to extract files from unencrypted PAK files | Getting Started

I cover the basics of a pak file and how to extract the contents and place them in the game folder directory.

CRYENGINE – One of the most powerful game development platform is now available to everyone. Full engine source code.  Join us over at http://www.cryengine.com

My version of the transcript

Pak file can be extracted, basically zip files, it’s optimized.

-How to open it up ? What to do after ?

I can use 7-Zip (www.7zip.org) in 32-bit or 64-bit architecture. I can open with right click with 7-Zip (open archive)

It can be extracted. And the content can be read.

Tutorial Unity3D Third-person shooter (TPS) with Emerald AI 3.0 Melee AI Game Design Document (GDD) Compliance with 2022.3.5f1

Updating manually from the deprecated version generate errors (that I want to avoid).

Solution : beginning from nothing but the GDD.

import

  • Import ai (Emerald ai 3)
  • Import model (woman 01 with helmet – anaconda)
  • Import camera and controler (invector)

Configuration

  • Import project settings

Creation :

  • Folder “my project” on root
  • My melee combat (copy past from emerald ai)

Deletion

  • Main camera (Fly) (Position -3, 4, -20)

Creation again :

  • Invector > shooter > create shooter controller (select anaconda)

Configuration again :

  • Position (-3, 4, -20)

Insert :

  • Weapon from (not from prefab) : Hive > Shooter_Hive > ShooterFeatures > Inventory_Collectables (vCollectibleAssaultRifle with position z=-18)

The following : https://github.com/Black-Horizon-Studios/Emerald-AI/wiki/Invector-Integration-Tutorial

Configure : Tag and layer

  • In Inspector : tag “grenadier” must be defined as “enemy”
  • The hero: he should be a “Player” layer and a tag “player”. (vShooterController_Woman_01_With_Helmet_04)
  • In “detection and tags” > in tag faction options > in tag options > emerald unity tag: “Enemy” and “detection layers” select “player” and “enemy”. -> Now the grenadier can detect and try to attack the player.

Now the grenadier must be aggressive toward the player.

Setting up the player ‘s Shooter Manager

In “damage layers” > “damage layer” > select enemy

How to configure the name of grenadier ?

In ui setting , display ai name choose “yes”.

In ai setting stats : ai name: “Grenadier”.

Adding Player’s Bullet Collision Detection :

  • Script in asset/ invector 3D / shooter / prefab / weapon / bullet / vDefaultBullet prefab.
  • Go to Vprojectilecontrol
  • Go to Damage Options
  • Set damage value to any Number(like 10) (Previously it was 0).

How to configure vMeleeManager Code Snippet ?

In Assets/Invector-3rdPersonController/Melee Combat/script/melee weapon/vMeleeManager.cs.

Add script

Source : https://github.com/Black-Horizon-Studios/Emerald-AI/wiki/Invector-Integration-Tutorial

How to configure vProjectileControl Code Snippet ?

In asset > invector > script > weapon > vProjectileControl.cs

Add script

How to configure vExplosive Code Snippet ?

In vExplosive script , after colliders[i].gameObject.ApplyDamage(_damage, null);

Add script

How to configure EmeraldAIPlayerDamage Code Snippet ?

Add script

Tutorial Unity3D Third-person shooter (TPS) with Emerald AI 3.0 Game Design Document (GDD)

Create a new 3D project in Unity3D (not HDRP because it’s not supported by Emerald AI 3).

How to have Assets :

  1. To have Assets : https://assetstore.unity.com/
  2. Where is the « package manager » in unity ?
  3. Unity’s main menu and go to Window > Package Manager.

How to Import:

Warning: you must choose to use Emerald AI 3 to create a AI for this tutorial (it doesn’t work for another). Whereas, you are free to choose the player you wish and the TPS you want.

I have purchased Emerald AI 3.0, the female soldier 01 anaconda, and Invector Third Person Controller (TPS) – Shooter Template.

Next step is to buy AI and do the integration :

https://assetstore.unity.com/packages/tools/ai/emerald-ai-3-0-203904 (contain environment also)

  • You need also a player.

https://assetstore.unity.com/packages/3d/characters/humanoids/sci-fi/female-soldier-01-anaconda-248569

  • And a Third Person Shooter (a camera, a weapon(s) and ammos):

https://assetstore.unity.com/packages/tools/game-toolkits/invector-third-person-controller-shooter-template-84583

How to Create your project:

In Project > Assets >Emerald AI > Demo > Demo Scenes > Melee Combat Example

To copy-paste inside “my project” and renamed “my Melee Combat Example”. (dissociated from other assets folders to prevent an update to erase your files)

Since you copy-paste it, you don’t need to create an AI. It’s already done.

(How to Create an AI through the Setup Manager (Emerald AI wiki): https://github.com/Black-Horizon-Studios/Emerald-AI/wiki/Creating-an-AI-through-the-Setup-Manager )

Delete camera already existing because, you will create a new one by using Invector.

How to Configure (Player + Camera):

  • Invector (menu) > Import project settings
  • Invector > Shooter > Create Shooter Controller
  • Character creation window > fbx model > select
  • Choose the prefab/ asset (woman_01_with_helmet) with helmet
  • Inside vshooterController_woman_01_with_helmet , move 3D model where you want and copy paste the coordinate inside vshooterController_woman_01_with_helmet (Position: X = 0.9 ; Y = 3.5 ; Z = 0.6) (Rotation Y = 180) from closed space to open space.
  • After reset position 3D model
  • play
  • You don’t need the old camera(“Main Camera (Fly) ») , you can remove it. If error, you have a backup inside the (Emerald AI > Demo > Demo Scenes > Melee Combat Example)

Optional: ( How to Create a Companion AI with the Emerald AI Setup Manager)

  1. go to Window > Emerald AI > Setup Manager within Unity.
  2. In setup settings  > AI object : Woman_01_Without_Helmet_01 (Emerald Companion)
  3. And click the “save “ button at the end.
Companion ExampleAn example of a Companion AI that follows the player around. It will attack any opposing AI that tries to attack the player.

Tutorial How to perform Invector integration: https://github.com/Black-Horizon-Studios/Emerald-AI/wiki/Invector-Integration-Tutorial

How to Set up the AI Layer and Tags :

  • For the enemy: In inspector, the tag must be “enemy” and layer “enemy”.
  • The hero: he should be a “Player” layer and a tag “player”. (vShooterController_Woman_01_With_Helmet_04)
  • In “detection and tags” > in tag faction options > in tag options > emerald unity tag: “Enemy” and “detection layers” select “player” and “enemy”. -> Now the grenadier can detect and try to attack the player.

How to do add weapons and Ammo?

In Invector > Shooter > DemoScene

In hierarchy:    Hive > Shooter_Hive > ShooterFeatures > Inventory_Collectables

                                                – Ammo > vAmmoAssaultRifle_Inventory

– Weapons > vCollectibleAssaultRifle

Copy-paste on your project and change Transform to fit around your main player . (-1,0,0) and (0,0,-1)

The weapon should be a layer: “Triggers”.

How to activate the collision detection ?

I follow the source Tutorial : https://github.com/Black-Horizon-Studios/Emerald-AI/wiki/Invector-Integration-Tutorial

How to Set up the Shooter Manager (Important)

In Invector player (vShooterController_Woman_01_With_Helmet_01)  “Shooter manager” panel > in damage layers > select enemy.

How to configure vMeleeManager Code Snippet ?

In Assets/Invector-3rdPersonController/Melee Combat/script/melee weapon/vMeleeManager.cs.

Find the vMeleeManager script within your projects and open it. This code should be added right below the line onDamageHit.Invoke(hitInfo);

//Emerald AI Damageif (hitInfo.targetCollider.gameObject.GetComponent<EmeraldAI.EmeraldAISystem>()){                    hitInfo.targetCollider.gameObject.GetComponent<EmeraldAI.EmeraldAISystem>().Damage((int)hitInfo.attackObject.damage.damageValue, EmeraldAI.EmeraldAISystem.TargetType.Player, transform, 400);}

How to configure vProjectileControl Code Snippet ?

In asset > invector > script > weapon > vProjectileControl.cs

Find the vProjectileControl script within your projects and open it. This code should be added right below the first instance of onCastCollider.Invoke(hitInfo); and damage.damageValue = maxDamage;

//Emerald AI Damageif (hitInfo.collider.gameObject.GetComponent<EmeraldAI.EmeraldAISystem>() != null){                          hitInfo.collider.gameObject.GetComponent<EmeraldAI.EmeraldAISystem>().Damage((int)damage.damageValue, EmeraldAI.EmeraldAISystem.TargetType.Player);}

How to configure vExplosive Code Snippet ?

In vExplosive script , after colliders[i].gameObject.ApplyDamage(_damage, null); //Emerald AI Damageif (colliders[i].gameObject.GetComponent<EmeraldAI.EmeraldAISystem>() != null){                         colliders[i].gameObject.GetComponent<EmeraldAI.EmeraldAISystem>().Damage((int)damage.damageValue, EmeraldAI.EmeraldAISystem.TargetType.Player);}

How to configure EmeraldAIPlayerDamage Code Snippet ?

  1. in EmeraldAIPlayerDamage script, import script replacement DamageInvectorPlayer
  2. uncomment function DamageInvectorPlayer(int DamageAmount, Transform Target) ;

void DamageInvectorPlayer (int DamageAmount, Transform Target)        {            if (GetComponent<Invector.vCharacterController.vCharacter>())            {                //Applies damage to Invector and allows its melee weapons to block incoming Emerald AI damage.                if (GetComponent<Invector.vCharacterController.vMeleeCombatInput>().meleeManager != null)                {                    var PlayerInput = GetComponent<Invector.vCharacterController.vMeleeCombatInput>();                    var MeleeManager = GetComponent<Invector.vCharacterController.vMeleeCombatInput>().meleeManager;                     if (PlayerInput.isBlocking)                    {                        var _Damage = new Invector.vDamage(DamageAmount);                        var DamageReduction = MeleeManager != null ? MeleeManager.GetDefenseRate() : 0;                        if (DamageReduction > 0)                            _Damage.ReduceDamage(DamageReduction);                        MeleeManager.OnDefense();                        _Damage.reaction_id = MeleeManager.GetDefenseRecoilID();                        _Damage.sender = Target;                        _Damage.hitPosition = Target.position;                        GetComponent<Invector.vCharacterController.vCharacter>().TakeDamage(_Damage);                    }                    else                    {                        var _Damage = new Invector.vDamage(DamageAmount);                        _Damage.sender = Target;                        _Damage.hitPosition = Target.position;                        GetComponent<Invector.vCharacterController.vCharacter>().TakeDamage(_Damage);                    }                }                //If no Melee Manager is found, cause unreduced damage.                else                {                    var _Damage = new Invector.vDamage(DamageAmount);                    _Damage.sender = Target;                    _Damage.hitPosition = Target.position;                    GetComponent<Invector.vCharacterController.vCharacter>().TakeDamage(_Damage);                }             }        }

How to display name and Ennemy Health status bar ?

In AI Settings > Stat AI Name : AI Grenadier

In UI settings > UI Layer : Player

In UI settings > display name

In UI settings > enable health bar

How to add Bullet Collision Detection?

How to Damage on enemy (Grenadier):

Search for vDefaultBullet prefab

Go to Vprojectilecontrol

Go to Damage Options

Set damage value to any Number(like 10) (Previously it was 0).

Tutorial Game Design Unity3d 2020.3.25f1

== Create new scene ==

            Kit tools > create new scene (appear in Assets)

            To move in 3DGameKItLite > Scenes folder

== Add enemies ==

            Drag and drop (from Assets > 3DGamekitLite > Prefabs > Characters > Enemies > Chomper.)

            AI : in planes > (on the right side) Add component > navmesh surface

                        Agentype : chomper

                        Include layer : “nothing” and after “environment”

                        Select bake

If you add more Chompers or other enemies in the Scene, they use the same NavMesh Surface; you don’t need to repeat this for new enemy additions.

When you add or move GameObjects in your Scene, you need to rebake the NavMesh Surface.

== Create a teleportation portal to another map ==

            Create a new scene2 (destination)

            Add a door in scene 1

Assets > 3DGamekitLite > Prefabs > SceneControl.

Drag and drop TransitionStart near the door in scene 1

Transition game object: Ellen

Transition type: different zone

New scene name scene2

Transition destination (“A”)

                        Transition when ontriggerEnter

Add transition destination to scene 2 (“A”) link

            Transition game object: Ellen

Finally, make sure your destination Scene is in your Editor’s Build Settings. To do this, go to File > Build Settings and select Add Open Scenes.

Getting Started with the Windows Vulkan SDK

vulkan lunarg cube.png

0. read https://vulkan-tutorial.com/Development_environment#page_Windows

1. download and install the Community Visual Studio 2017 or 2019 (https://visualstudio.microsoft.com/)

2. download and install vulcan sdk https://vulkan.lunarg.com/sdk/home#windows

2.1 download docs : https://vulkan.lunarg.com/doc/download/VulkanSDK-Windows-Docs-1.2.154.1.zip

3. read the guide https://vulkan.lunarg.com/doc/sdk/1.2.154.1/windows/getting_started.html

4. test sdk installation with cmd :


4.0 C:\> vkvia

4.1 C:\> vulkaninfoSDK

4.2 C:\> vkcube

5. about the Vulkan Framework : https://github.com/KhronosGroup/Vulkan-Guide


6. samples available : https://github.com/khronosGroup/Vulkan-samples

Cafu Engine – Open Source Real-Time 3D Game and Graphics Engine

Documentation : https://docs.cafu.de/

== Cafu User Manual  ==

=== play on windows 10===

dive in > files

download the demos > download win 32

start the demos (exe)

news game

choose map

Go

If compatibility issues, exit and try again.

F1 inside console

== Developer Manual ==

https://docs.cafu.de/general:manifest

=== editor ===

– map edior (CaWE) : https://docs.cafu.de/#the_map_editor

– gui editor : https://docs.cafu.de/#the_gui_editor

– model editor : https://docs.cafu.de/#the_model_editor

=== source code ===

https://docs.cafu.de/cppdev:gettingstarted

Cd..

Dir

Install python 2.7 (tested) https://www.python.org

Check python is installed : Command line (cmd) : python -V 

(“big” V)

SCons is written in Python

Install Scons 2.3 (tested) https://www.scons.org/

https://sourceforge.net/projects/scons/files/scons/2.3.0/

== How to create a video game ? == 

https://docs.cafu.de/cppdev:startnewgame

Basically, copy-paste and change existing “DeathMatch” directory and code.

https://docs.cafu.de/cppdev:gamecodeoverview

== links ==

https://docs.cafu.de/general:developer_faq#where_can_i_learn_more_about_3d_programming_or_game_engines

Tutorial GameGuru v2019: How to improve the Artificial Intelligence of an NPC

install GameGuru

open Gameguru

Open a new project

Import an entity

add new entity

drag and drop on terrain
left click on properties

on the left pane, under AI system
ai_soldier.lua

you can browse and select another one
apply change
test game


watch also :
https://steamcommunity.com/sharedfiles/filedetails/?id=398177770

https://www.lua.org/