SlideShare a Scribd company logo
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 1
By Matumit Sombunjaroen V1.0 2017/12/21
Historica Fantasia Dev Blog
Chapter10:
Level Design Prototype
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 2
Level Design
Introduction
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 3
Tools Used
ProCore Bundle include various tools
that could speed up Level Design
ProBuilder Advance for Geometry
ProGroups for quick Grouping
QuickDecals for Decorative Works
QuickEdit for Editing Meshes in Editor
QuickBrush to populate Prefabs
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 4
Tools Used
Archimatix is used mainly for Artificial Objects.
World Creator to create Terrain
//Buy it from the Asset store if you only need Unity Version.
//They won’t refund the standalone version
Unity Terrain has some serious issues with Shaders,
Complete Terrain Shader should solve these issues.
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 5
Design Revision
Multiple Areas
Each Average Area is at least 80m in width or length
Max 30Degree for Traversable Slope
10m Height Cut per Major Elevation
Has Destructible Obstacles
Walls need to be at least 5m wide to prevent Overshoot
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 6
Objectives
Terrain Geometry Prototyping
Multiple Area Placement Procedure
Objects Placement Procedure
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 7
Terrain
Geometry
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 8
Overall Map
After going through much consideration,
It is more convenient to build a Large Terrain,
Then form Areas around it
Use Terrain Former by adding its to Terrain
Because Terrain cannot have Negative Height Value,
We are using 0 for Sea or River Bed
And 10 for Ground Floor
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 9
Open Field
Use Set Height of 10 to bring everything to Ground Level
Open Field must be surround
by other features that mark its boundary
This is to prevent Units reaching the Edge
and feel weird when finding Empty Ground
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 10
High Ground
Max Slope got changed to 45,
Because it’s just easier to design
The Maximum Height for Ground is 30 (20 above Ground)
Slopes need to have clear Cliff Cut
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 11
Internal Area
Caves or other Major Interior
Will be surround by the wall that reach the top ground,
Or at least placing a Collider to block visibility from outside
Entry Points will be
either Small Openings or Warp points
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 12
Terrain Geometry
Take-2
World Creator
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 13
Initialize Setup
Call World Creator Window Editor
and press New to create new Terrain
Set overall Sizes accordingly
Height should be 40 by maximum
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 14
Blockout Height
Paint Area Mask for Ground Floor,
Add Flatten Terrain Filter
Use Flatten Anchor to push it to appropriate Height
Block out 4 Major Elevation Height
00 – Flatten Anchor 0
10 – Flatten Anchor 0.25
20 – Flatten Anchor 0.5
30 – Flatten Anchor 0.75
30
20
10
30
00
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 15
Refine other parts
Paint Area Mask for Mountain and Erosion Filters
Mountain should be use to carve out inaccessible Areas
Adjust accordingly.
Use Path to smooth out Roads to Accessible Areas
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 16
Terrain Texture
Put Ground Base Texture at the Bottom,
Then add Cliff Texture,
with minimum Terrain Slope adjusted to override the Slope.
Use Cavity to add Depth & Highlight
Use Terrain Height to add Height Gradient
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 17
Customized Shader Forge Shader
Unity Shader use Splatter map
to blend 4 textures together
Name Texture Slots, Control, Splat0, …. Splat3
And the appropriate Textures
will be referenced automatically.
Add shading passes accordingly
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 18
Settings PlaceHolder
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 19
Settings PlaceHolder
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 20
Objects
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 21
Procore QuickBrush
QuickBrush will be activated as long as the Window is up
Drag Prefab to paint
Ctrl+ Left Click
to place object
Settings can be save and reuse
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 22
Objects to be replace with Houdini later
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 23
Plan – Movement Tutorial Stage
1. Pickup Warp Item
And use it to warp to nearest Base
(Item usage Mechanic)
(Warp to Base Mechanic)
2. Rendezvous with PathFinder
(Form Squad at Base Mechanic)
(PathFinder increase Movement Range)
0. Impassable Blockade
3. Activate TraWell
(Near Water Warp Locations)
(TraWell Mechanic)
4. Thrown Boulder destroy Bridge
(Siege Weaponry Mechanic)
(Building Destruction Mechanic)
5. Activate Magical Bridge
(Gimmick Activation Mechanic)
6. Defeat BOSS!!!
(Stage Clear Mechanic)
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 24
Archimatix Features to note
Programmable Handle
Han_x
Save and Reuse
Modular Variations from a Single Asset
Placeholder Assets are used for now
In Final Production =>
Create Complete Buildings
by adjusting Handle only
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 25
Base (Place holding Asset)
Village, Town, Hospital, Castle, etc
Bases represent Key strategic points that each side must take over.
Each Base will provide different Units to recruit.
Each Base must have an adjacent Key Building,
Units will come out of the Building once recruited.
If the Key Building is destroyed, Unit cannot be recruit.
Raise & Lower appropriate Faction Color Flag when conquered.
Base Area will have different sizes.
To claim -> Have at least an Ally Unit && No Enemy Unit in the Area
Building production should be automated by
Adjusting Archimatix Volumetric size handle.
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 26
TraWell (Place holding Asset)
TraWell
Should be place directly
above a body of Water.
Platform
should be place underneath
<= Work on this later
Add some kind of FX
To increase visibility later
Customized Archimatix Handles
Radius, Thickness, Height, Water Level
Can be change on the fly
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 27
TraWell Platform (Place holding Asset)
Archimatix Shape Control can be created manually
Syntax Ref:
http://www.archimatix.com/manual/archimatix-turtle-script-api
Create Several Shapes &
Boolean Merge to get a final Result
Since they won’t be use in actual Gameplay,
&& they will be Stamped in the end,
It is OK to make complex stuffs.
TraWell can be activated
when the Squad is standing on a central Area
We should make something visual to represent this
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 28
TraWell Take2
Create 2 poles and sparkling effects
to link 2 TraWells together
Warp Area
Once the Squad is placed on top,
Squads can warp to linked TraWell
Via Action Command
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 29
Bridge
A Bridge is made up of 3 Parts
2 Ends & 1 Middle
For the Prototype,
We will only hide it
The Middle part can be destroyed
with Siege Attacks
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 30
Magical Bridge
Magical Bridge can be activate
when a Unit is standing on a Platform
We are using a straight Bridge for now
The Final Product should be a Curve Bridge
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 31
Stair Slopes
Final Slope shall be made with Houdini
The Slope should be around
30degree from ground
And must not be greater than 45degree
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 32
Buildings & Trees & Obstacles
Final version shall be made with Houdini
Fences, Walls, etc,
They will block line of Sight,
Block Path,
And can be destroy with Siege Attack
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 33
Bushes
Final version shall be made with Houdini
A group of Bush is roughly 2m high
And will hide Units when they are inside
They can be burn, and will spread fire to
surrounding area after a turn
Once completely burned,
They will disappear
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 34
1st Draft
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 35
Path-finding
Take2
A* Path Finding Project
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 36
Issues
Unfortunately, APEX Path has this really big issues with cliffs.
After working around for sometime, I couldn’t fix it.
As such, we decided to drop it for alternative solution.
Because Formation is no longer an issue,
We chose to go with A*Path Finding Project Pro
By Aron Granberg
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 37
How to Setup
Add Astar Path component, and add a new Graph
I chose Recast Graph for this
Snap bounds to Scene will automatically set this up to cover the stage
In Layer Mask, Make sure that objects are in appropriate Layers
And Set those Layers to true
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 38
Result
WALLAH!
It even automatically do Multiple Floors!!!
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 39
Setup Notes
Because Objects such as Buildings, trees, etc
Are destructible
They must be excluded from scan,
Otherwise, the mesh underneath them
will not be generated
Add NavMeshCut to obstacles instead
They will update during Runtime
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 40
Dynamic Obstacle - Navmesh Cutting
Add only one Tile Handler Helper
Add Navmesh Cut to an Object
Set the data accordingly
This will cut a hole inside a graph
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 41
Dynamic Path - Bridges
Add only one Recast Tile Update Handler
This will coordinate the Updates from various Objects
Add Graph Update Scene to a dynamic path Object
Set Modify Walkability
and call Apply() from another Script
**NOTE**
THIS CANNOT BE USE TO GENERATE NEW GRAPH
ONLY EDITING EXISTING ONE
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 42
Dynamic Path - Navmesh Cutting
Add NavmeshCut to Mid Bridges instead.
Rect Size => (1,1,1)
Height => Set to cover entire Object
Use Rotation and Scale => True
Cuts Added Geom => False
Enable/Disable Components to De/activate path
In final ver, replace disable mesh with Mesh animation
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 43
Set Tag – Flaming Area
In A* Setting, create Fire Area Tag
In Unit’s Seeker, set Tag Penalty for the Area
Value difference of around 10000 is good
Add the Followings
GraphUpdateScene
<= Set Modify Tag
NavMeshCut
<= Set to isDual
Collider
<= Must be a bit smaller than NavMeshCut
Tag will be modified when GraphUpdateScene is Apply()
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 44
Warp Portals
Add Link2 to a Transform,
Then add another Transform to End
<= Turn off Component to deactivate Link
**Link1 will not update in Realtime**
Link the 2 TraWells
**Immediate Jump will not be made**
This has to be done in movement control
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 45
Warp Distance Calculation
AstarPath.active.GetNearest(pos);
Will return Node info of that position
Portals are created as PointNode
Check to see if the wayPoint is a PointNode
pathInterpolator.remainingDistance
Included Portal`s vertical distance as well
Calculate distances between Portals,
To get actual distance
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 46
Setup Unit
Seeker is the main
PathFinding Component
Add a Custom Component
To control Unit
Funnel Modifier
Will smooth out curves
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 47
Programming
Use Seeker.StartPath() to generate Path
use OnPathComplete callback
To get the path once it’s got generated
Vector3 arrays of each waypoints’ Positions
Are stored in path.vectorPath
Use it to program Movement
Set PathInterpolator in OnPathComplete
It contains several Data, such as remaining Distance
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 48
Result
In Area with Multiple Floors,
The Seeker will target the nearest floor
from referenced Point
Recast Graph treated
the center of each grid as the waypoint
Funnel Modifier will fix this out
Smooth Modifier can be added on top
to provided smoother curve
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 49
RVO Local Avoidance
Add One RVONavMesh & RVOSimulator
These two will do managements of RVO Agents
Use RVOController.SetTarget();
& RVOController.CalculateMovementData();
To obtain desirable Movement Delta
**The Controller does not move the Unit,
A Separate Control code is needed**
Add RVO Controller to Units
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 50
Basic Movement Control
Rotate Unit toward moving direction
Add CharacterController to Unit
Apply Gravity to Movement Delta
Use CharacterController.Move()
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 51
Fixing Movement Stutter
Each time the Unit did a Repath
It will stutter for a frame
To Fix this issue,
Calculating Delta is separated from Movement
The Unit will continue moving
In the same direction,
While new Delta is being calculated
Waypoint 0 == Unit’s original position
Movement Vector of zero caused the stutter.
@OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 52
Next Slide,
Squad Formation

More Related Content

What's hot

Historica Fantasia, Development Blog 04, Narrative Contents
Historica Fantasia, Development Blog 04, Narrative ContentsHistorica Fantasia, Development Blog 04, Narrative Contents
Historica Fantasia, Development Blog 04, Narrative Contents
Matumit Sombunjaroen
 
James Pierro Pitch
James Pierro PitchJames Pierro Pitch
James Pierro Pitch
James Pierro
 
2dworkflow complete
2dworkflow complete2dworkflow complete
2dworkflow complete
Collegeemailbrandon
 
Turn based tactical design fundamentals and a handful of tips - takeaway version
Turn based tactical design fundamentals and a handful of tips - takeaway versionTurn based tactical design fundamentals and a handful of tips - takeaway version
Turn based tactical design fundamentals and a handful of tips - takeaway version
Kacper Szymczak
 
Designing balance (takeaway version)
Designing balance (takeaway version)Designing balance (takeaway version)
Designing balance (takeaway version)
Kacper Szymczak
 
Joel antony beck portfolio
Joel antony beck   portfolioJoel antony beck   portfolio
Joel antony beck portfolio
forehoof
 

What's hot (6)

Historica Fantasia, Development Blog 04, Narrative Contents
Historica Fantasia, Development Blog 04, Narrative ContentsHistorica Fantasia, Development Blog 04, Narrative Contents
Historica Fantasia, Development Blog 04, Narrative Contents
 
James Pierro Pitch
James Pierro PitchJames Pierro Pitch
James Pierro Pitch
 
2dworkflow complete
2dworkflow complete2dworkflow complete
2dworkflow complete
 
Turn based tactical design fundamentals and a handful of tips - takeaway version
Turn based tactical design fundamentals and a handful of tips - takeaway versionTurn based tactical design fundamentals and a handful of tips - takeaway version
Turn based tactical design fundamentals and a handful of tips - takeaway version
 
Designing balance (takeaway version)
Designing balance (takeaway version)Designing balance (takeaway version)
Designing balance (takeaway version)
 
Joel antony beck portfolio
Joel antony beck   portfolioJoel antony beck   portfolio
Joel antony beck portfolio
 

More from Matumit Sombunjaroen

「ティルズ・オブ・アライズ」のスキットは スキットの劣化である
「ティルズ・オブ・アライズ」のスキットは スキットの劣化である「ティルズ・オブ・アライズ」のスキットは スキットの劣化である
「ティルズ・オブ・アライズ」のスキットは スキットの劣化である
Matumit Sombunjaroen
 
ヒストリカ・ファンタジア 日本語版ゲーム制作 20210319
ヒストリカ・ファンタジア 日本語版ゲーム制作 20210319ヒストリカ・ファンタジア 日本語版ゲーム制作 20210319
ヒストリカ・ファンタジア 日本語版ゲーム制作 20210319
Matumit Sombunjaroen
 
Historica fantasia 企画書
Historica fantasia 企画書Historica fantasia 企画書
Historica fantasia 企画書
Matumit Sombunjaroen
 
タイ人オタクが艦これ聖地山を巡った話 第3話1章 和歌山 新宮市 熊野川
タイ人オタクが艦これ聖地山を巡った話 第3話1章 和歌山 新宮市 熊野川タイ人オタクが艦これ聖地山を巡った話 第3話1章 和歌山 新宮市 熊野川
タイ人オタクが艦これ聖地山を巡った話 第3話1章 和歌山 新宮市 熊野川
Matumit Sombunjaroen
 
タイ人オタクが艦これ聖地山を巡った話 第2話 神戸 摩耶
タイ人オタクが艦これ聖地山を巡った話 第2話 神戸 摩耶タイ人オタクが艦これ聖地山を巡った話 第2話 神戸 摩耶
タイ人オタクが艦これ聖地山を巡った話 第2話 神戸 摩耶
Matumit Sombunjaroen
 
タイ人オタクが艦これ聖地山を巡った話 第1話 京都 高雄~愛宕山
タイ人オタクが艦これ聖地山を巡った話 第1話 京都 高雄~愛宕山タイ人オタクが艦これ聖地山を巡った話 第1話 京都 高雄~愛宕山
タイ人オタクが艦これ聖地山を巡った話 第1話 京都 高雄~愛宕山
Matumit Sombunjaroen
 
สาเหตุที่ไม่ควรเอา JLPT N1...N2.... มาเป็นจุดเป้าหมายในการเรียนภาษาญี่ปุ่น
สาเหตุที่ไม่ควรเอา JLPT N1...N2.... มาเป็นจุดเป้าหมายในการเรียนภาษาญี่ปุ่นสาเหตุที่ไม่ควรเอา JLPT N1...N2.... มาเป็นจุดเป้าหมายในการเรียนภาษาญี่ปุ่น
สาเหตุที่ไม่ควรเอา JLPT N1...N2.... มาเป็นจุดเป้าหมายในการเรียนภาษาญี่ปุ่น
Matumit Sombunjaroen
 
タイ人オタクが日本でモバイルゲーム制作を諦めた経緯の話
タイ人オタクが日本でモバイルゲーム制作を諦めた経緯の話タイ人オタクが日本でモバイルゲーム制作を諦めた経緯の話
タイ人オタクが日本でモバイルゲーム制作を諦めた経緯の話
Matumit Sombunjaroen
 
เรื่องเกี่ยวกับ โรงเรียนวิชาชีพ ในญี่ปุ่น
เรื่องเกี่ยวกับ โรงเรียนวิชาชีพ ในญี่ปุ่นเรื่องเกี่ยวกับ โรงเรียนวิชาชีพ ในญี่ปุ่น
เรื่องเกี่ยวกับ โรงเรียนวิชาชีพ ในญี่ปุ่น
Matumit Sombunjaroen
 
Idol Master Platinum Stars アイマス プラチナスターズ Game Review
Idol Master Platinum Stars アイマス プラチナスターズ Game ReviewIdol Master Platinum Stars アイマス プラチナスターズ Game Review
Idol Master Platinum Stars アイマス プラチナスターズ Game Review
Matumit Sombunjaroen
 
Ram is not RAM
Ram is not RAMRam is not RAM
Ram is not RAM
Matumit Sombunjaroen
 
Game development process 1 GDD
Game development process 1 GDDGame development process 1 GDD
Game development process 1 GDD
Matumit Sombunjaroen
 
กระบวนการผลิตงานศิลปะ
กระบวนการผลิตงานศิลปะกระบวนการผลิตงานศิลปะ
กระบวนการผลิตงานศิลปะ
Matumit Sombunjaroen
 
Games workshop
Games workshopGames workshop
Games workshop
Matumit Sombunjaroen
 
あるタイ人オタクが数々の日本のオンラインゲームを辞めた経緯の話
あるタイ人オタクが数々の日本のオンラインゲームを辞めた経緯の話あるタイ人オタクが数々の日本のオンラインゲームを辞めた経緯の話
あるタイ人オタクが数々の日本のオンラインゲームを辞めた経緯の話
Matumit Sombunjaroen
 
What is Generalization
What is GeneralizationWhat is Generalization
What is Generalization
Matumit Sombunjaroen
 
What is Otaku
What is OtakuWhat is Otaku
What is Otaku
Matumit Sombunjaroen
 
Reasons Thailand Education Suck like Hell
Reasons Thailand Education Suck like HellReasons Thailand Education Suck like Hell
Reasons Thailand Education Suck like Hell
Matumit Sombunjaroen
 
Reason to go or not to go to university
Reason to go or not to go to universityReason to go or not to go to university
Reason to go or not to go to university
Matumit Sombunjaroen
 
The Reasons why people who said [Video Games are bad] are either ignorance or...
The Reasons why people who said[Video Games are bad]are either ignorance or...The Reasons why people who said[Video Games are bad]are either ignorance or...
The Reasons why people who said [Video Games are bad] are either ignorance or...Matumit Sombunjaroen
 

More from Matumit Sombunjaroen (20)

「ティルズ・オブ・アライズ」のスキットは スキットの劣化である
「ティルズ・オブ・アライズ」のスキットは スキットの劣化である「ティルズ・オブ・アライズ」のスキットは スキットの劣化である
「ティルズ・オブ・アライズ」のスキットは スキットの劣化である
 
ヒストリカ・ファンタジア 日本語版ゲーム制作 20210319
ヒストリカ・ファンタジア 日本語版ゲーム制作 20210319ヒストリカ・ファンタジア 日本語版ゲーム制作 20210319
ヒストリカ・ファンタジア 日本語版ゲーム制作 20210319
 
Historica fantasia 企画書
Historica fantasia 企画書Historica fantasia 企画書
Historica fantasia 企画書
 
タイ人オタクが艦これ聖地山を巡った話 第3話1章 和歌山 新宮市 熊野川
タイ人オタクが艦これ聖地山を巡った話 第3話1章 和歌山 新宮市 熊野川タイ人オタクが艦これ聖地山を巡った話 第3話1章 和歌山 新宮市 熊野川
タイ人オタクが艦これ聖地山を巡った話 第3話1章 和歌山 新宮市 熊野川
 
タイ人オタクが艦これ聖地山を巡った話 第2話 神戸 摩耶
タイ人オタクが艦これ聖地山を巡った話 第2話 神戸 摩耶タイ人オタクが艦これ聖地山を巡った話 第2話 神戸 摩耶
タイ人オタクが艦これ聖地山を巡った話 第2話 神戸 摩耶
 
タイ人オタクが艦これ聖地山を巡った話 第1話 京都 高雄~愛宕山
タイ人オタクが艦これ聖地山を巡った話 第1話 京都 高雄~愛宕山タイ人オタクが艦これ聖地山を巡った話 第1話 京都 高雄~愛宕山
タイ人オタクが艦これ聖地山を巡った話 第1話 京都 高雄~愛宕山
 
สาเหตุที่ไม่ควรเอา JLPT N1...N2.... มาเป็นจุดเป้าหมายในการเรียนภาษาญี่ปุ่น
สาเหตุที่ไม่ควรเอา JLPT N1...N2.... มาเป็นจุดเป้าหมายในการเรียนภาษาญี่ปุ่นสาเหตุที่ไม่ควรเอา JLPT N1...N2.... มาเป็นจุดเป้าหมายในการเรียนภาษาญี่ปุ่น
สาเหตุที่ไม่ควรเอา JLPT N1...N2.... มาเป็นจุดเป้าหมายในการเรียนภาษาญี่ปุ่น
 
タイ人オタクが日本でモバイルゲーム制作を諦めた経緯の話
タイ人オタクが日本でモバイルゲーム制作を諦めた経緯の話タイ人オタクが日本でモバイルゲーム制作を諦めた経緯の話
タイ人オタクが日本でモバイルゲーム制作を諦めた経緯の話
 
เรื่องเกี่ยวกับ โรงเรียนวิชาชีพ ในญี่ปุ่น
เรื่องเกี่ยวกับ โรงเรียนวิชาชีพ ในญี่ปุ่นเรื่องเกี่ยวกับ โรงเรียนวิชาชีพ ในญี่ปุ่น
เรื่องเกี่ยวกับ โรงเรียนวิชาชีพ ในญี่ปุ่น
 
Idol Master Platinum Stars アイマス プラチナスターズ Game Review
Idol Master Platinum Stars アイマス プラチナスターズ Game ReviewIdol Master Platinum Stars アイマス プラチナスターズ Game Review
Idol Master Platinum Stars アイマス プラチナスターズ Game Review
 
Ram is not RAM
Ram is not RAMRam is not RAM
Ram is not RAM
 
Game development process 1 GDD
Game development process 1 GDDGame development process 1 GDD
Game development process 1 GDD
 
กระบวนการผลิตงานศิลปะ
กระบวนการผลิตงานศิลปะกระบวนการผลิตงานศิลปะ
กระบวนการผลิตงานศิลปะ
 
Games workshop
Games workshopGames workshop
Games workshop
 
あるタイ人オタクが数々の日本のオンラインゲームを辞めた経緯の話
あるタイ人オタクが数々の日本のオンラインゲームを辞めた経緯の話あるタイ人オタクが数々の日本のオンラインゲームを辞めた経緯の話
あるタイ人オタクが数々の日本のオンラインゲームを辞めた経緯の話
 
What is Generalization
What is GeneralizationWhat is Generalization
What is Generalization
 
What is Otaku
What is OtakuWhat is Otaku
What is Otaku
 
Reasons Thailand Education Suck like Hell
Reasons Thailand Education Suck like HellReasons Thailand Education Suck like Hell
Reasons Thailand Education Suck like Hell
 
Reason to go or not to go to university
Reason to go or not to go to universityReason to go or not to go to university
Reason to go or not to go to university
 
The Reasons why people who said [Video Games are bad] are either ignorance or...
The Reasons why people who said[Video Games are bad]are either ignorance or...The Reasons why people who said[Video Games are bad]are either ignorance or...
The Reasons why people who said [Video Games are bad] are either ignorance or...
 

Recently uploaded

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 

Recently uploaded (20)

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 

Historica Fantasia devblog10 Level Design Prototype

  • 1. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 1 By Matumit Sombunjaroen V1.0 2017/12/21 Historica Fantasia Dev Blog Chapter10: Level Design Prototype
  • 2. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 2 Level Design Introduction
  • 3. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 3 Tools Used ProCore Bundle include various tools that could speed up Level Design ProBuilder Advance for Geometry ProGroups for quick Grouping QuickDecals for Decorative Works QuickEdit for Editing Meshes in Editor QuickBrush to populate Prefabs
  • 4. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 4 Tools Used Archimatix is used mainly for Artificial Objects. World Creator to create Terrain //Buy it from the Asset store if you only need Unity Version. //They won’t refund the standalone version Unity Terrain has some serious issues with Shaders, Complete Terrain Shader should solve these issues.
  • 5. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 5 Design Revision Multiple Areas Each Average Area is at least 80m in width or length Max 30Degree for Traversable Slope 10m Height Cut per Major Elevation Has Destructible Obstacles Walls need to be at least 5m wide to prevent Overshoot
  • 6. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 6 Objectives Terrain Geometry Prototyping Multiple Area Placement Procedure Objects Placement Procedure
  • 7. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 7 Terrain Geometry
  • 8. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 8 Overall Map After going through much consideration, It is more convenient to build a Large Terrain, Then form Areas around it Use Terrain Former by adding its to Terrain Because Terrain cannot have Negative Height Value, We are using 0 for Sea or River Bed And 10 for Ground Floor
  • 9. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 9 Open Field Use Set Height of 10 to bring everything to Ground Level Open Field must be surround by other features that mark its boundary This is to prevent Units reaching the Edge and feel weird when finding Empty Ground
  • 10. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 10 High Ground Max Slope got changed to 45, Because it’s just easier to design The Maximum Height for Ground is 30 (20 above Ground) Slopes need to have clear Cliff Cut
  • 11. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 11 Internal Area Caves or other Major Interior Will be surround by the wall that reach the top ground, Or at least placing a Collider to block visibility from outside Entry Points will be either Small Openings or Warp points
  • 12. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 12 Terrain Geometry Take-2 World Creator
  • 13. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 13 Initialize Setup Call World Creator Window Editor and press New to create new Terrain Set overall Sizes accordingly Height should be 40 by maximum
  • 14. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 14 Blockout Height Paint Area Mask for Ground Floor, Add Flatten Terrain Filter Use Flatten Anchor to push it to appropriate Height Block out 4 Major Elevation Height 00 – Flatten Anchor 0 10 – Flatten Anchor 0.25 20 – Flatten Anchor 0.5 30 – Flatten Anchor 0.75 30 20 10 30 00
  • 15. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 15 Refine other parts Paint Area Mask for Mountain and Erosion Filters Mountain should be use to carve out inaccessible Areas Adjust accordingly. Use Path to smooth out Roads to Accessible Areas
  • 16. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 16 Terrain Texture Put Ground Base Texture at the Bottom, Then add Cliff Texture, with minimum Terrain Slope adjusted to override the Slope. Use Cavity to add Depth & Highlight Use Terrain Height to add Height Gradient
  • 17. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 17 Customized Shader Forge Shader Unity Shader use Splatter map to blend 4 textures together Name Texture Slots, Control, Splat0, …. Splat3 And the appropriate Textures will be referenced automatically. Add shading passes accordingly
  • 18. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 18 Settings PlaceHolder
  • 19. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 19 Settings PlaceHolder
  • 20. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 20 Objects
  • 21. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 21 Procore QuickBrush QuickBrush will be activated as long as the Window is up Drag Prefab to paint Ctrl+ Left Click to place object Settings can be save and reuse
  • 22. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 22 Objects to be replace with Houdini later
  • 23. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 23 Plan – Movement Tutorial Stage 1. Pickup Warp Item And use it to warp to nearest Base (Item usage Mechanic) (Warp to Base Mechanic) 2. Rendezvous with PathFinder (Form Squad at Base Mechanic) (PathFinder increase Movement Range) 0. Impassable Blockade 3. Activate TraWell (Near Water Warp Locations) (TraWell Mechanic) 4. Thrown Boulder destroy Bridge (Siege Weaponry Mechanic) (Building Destruction Mechanic) 5. Activate Magical Bridge (Gimmick Activation Mechanic) 6. Defeat BOSS!!! (Stage Clear Mechanic)
  • 24. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 24 Archimatix Features to note Programmable Handle Han_x Save and Reuse Modular Variations from a Single Asset Placeholder Assets are used for now In Final Production => Create Complete Buildings by adjusting Handle only
  • 25. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 25 Base (Place holding Asset) Village, Town, Hospital, Castle, etc Bases represent Key strategic points that each side must take over. Each Base will provide different Units to recruit. Each Base must have an adjacent Key Building, Units will come out of the Building once recruited. If the Key Building is destroyed, Unit cannot be recruit. Raise & Lower appropriate Faction Color Flag when conquered. Base Area will have different sizes. To claim -> Have at least an Ally Unit && No Enemy Unit in the Area Building production should be automated by Adjusting Archimatix Volumetric size handle.
  • 26. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 26 TraWell (Place holding Asset) TraWell Should be place directly above a body of Water. Platform should be place underneath <= Work on this later Add some kind of FX To increase visibility later Customized Archimatix Handles Radius, Thickness, Height, Water Level Can be change on the fly
  • 27. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 27 TraWell Platform (Place holding Asset) Archimatix Shape Control can be created manually Syntax Ref: http://www.archimatix.com/manual/archimatix-turtle-script-api Create Several Shapes & Boolean Merge to get a final Result Since they won’t be use in actual Gameplay, && they will be Stamped in the end, It is OK to make complex stuffs. TraWell can be activated when the Squad is standing on a central Area We should make something visual to represent this
  • 28. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 28 TraWell Take2 Create 2 poles and sparkling effects to link 2 TraWells together Warp Area Once the Squad is placed on top, Squads can warp to linked TraWell Via Action Command
  • 29. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 29 Bridge A Bridge is made up of 3 Parts 2 Ends & 1 Middle For the Prototype, We will only hide it The Middle part can be destroyed with Siege Attacks
  • 30. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 30 Magical Bridge Magical Bridge can be activate when a Unit is standing on a Platform We are using a straight Bridge for now The Final Product should be a Curve Bridge
  • 31. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 31 Stair Slopes Final Slope shall be made with Houdini The Slope should be around 30degree from ground And must not be greater than 45degree
  • 32. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 32 Buildings & Trees & Obstacles Final version shall be made with Houdini Fences, Walls, etc, They will block line of Sight, Block Path, And can be destroy with Siege Attack
  • 33. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 33 Bushes Final version shall be made with Houdini A group of Bush is roughly 2m high And will hide Units when they are inside They can be burn, and will spread fire to surrounding area after a turn Once completely burned, They will disappear
  • 34. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 34 1st Draft
  • 35. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 35 Path-finding Take2 A* Path Finding Project
  • 36. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 36 Issues Unfortunately, APEX Path has this really big issues with cliffs. After working around for sometime, I couldn’t fix it. As such, we decided to drop it for alternative solution. Because Formation is no longer an issue, We chose to go with A*Path Finding Project Pro By Aron Granberg
  • 37. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 37 How to Setup Add Astar Path component, and add a new Graph I chose Recast Graph for this Snap bounds to Scene will automatically set this up to cover the stage In Layer Mask, Make sure that objects are in appropriate Layers And Set those Layers to true
  • 38. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 38 Result WALLAH! It even automatically do Multiple Floors!!!
  • 39. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 39 Setup Notes Because Objects such as Buildings, trees, etc Are destructible They must be excluded from scan, Otherwise, the mesh underneath them will not be generated Add NavMeshCut to obstacles instead They will update during Runtime
  • 40. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 40 Dynamic Obstacle - Navmesh Cutting Add only one Tile Handler Helper Add Navmesh Cut to an Object Set the data accordingly This will cut a hole inside a graph
  • 41. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 41 Dynamic Path - Bridges Add only one Recast Tile Update Handler This will coordinate the Updates from various Objects Add Graph Update Scene to a dynamic path Object Set Modify Walkability and call Apply() from another Script **NOTE** THIS CANNOT BE USE TO GENERATE NEW GRAPH ONLY EDITING EXISTING ONE
  • 42. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 42 Dynamic Path - Navmesh Cutting Add NavmeshCut to Mid Bridges instead. Rect Size => (1,1,1) Height => Set to cover entire Object Use Rotation and Scale => True Cuts Added Geom => False Enable/Disable Components to De/activate path In final ver, replace disable mesh with Mesh animation
  • 43. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 43 Set Tag – Flaming Area In A* Setting, create Fire Area Tag In Unit’s Seeker, set Tag Penalty for the Area Value difference of around 10000 is good Add the Followings GraphUpdateScene <= Set Modify Tag NavMeshCut <= Set to isDual Collider <= Must be a bit smaller than NavMeshCut Tag will be modified when GraphUpdateScene is Apply()
  • 44. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 44 Warp Portals Add Link2 to a Transform, Then add another Transform to End <= Turn off Component to deactivate Link **Link1 will not update in Realtime** Link the 2 TraWells **Immediate Jump will not be made** This has to be done in movement control
  • 45. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 45 Warp Distance Calculation AstarPath.active.GetNearest(pos); Will return Node info of that position Portals are created as PointNode Check to see if the wayPoint is a PointNode pathInterpolator.remainingDistance Included Portal`s vertical distance as well Calculate distances between Portals, To get actual distance
  • 46. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 46 Setup Unit Seeker is the main PathFinding Component Add a Custom Component To control Unit Funnel Modifier Will smooth out curves
  • 47. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 47 Programming Use Seeker.StartPath() to generate Path use OnPathComplete callback To get the path once it’s got generated Vector3 arrays of each waypoints’ Positions Are stored in path.vectorPath Use it to program Movement Set PathInterpolator in OnPathComplete It contains several Data, such as remaining Distance
  • 48. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 48 Result In Area with Multiple Floors, The Seeker will target the nearest floor from referenced Point Recast Graph treated the center of each grid as the waypoint Funnel Modifier will fix this out Smooth Modifier can be added on top to provided smoother curve
  • 49. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 49 RVO Local Avoidance Add One RVONavMesh & RVOSimulator These two will do managements of RVO Agents Use RVOController.SetTarget(); & RVOController.CalculateMovementData(); To obtain desirable Movement Delta **The Controller does not move the Unit, A Separate Control code is needed** Add RVO Controller to Units
  • 50. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 50 Basic Movement Control Rotate Unit toward moving direction Add CharacterController to Unit Apply Gravity to Movement Delta Use CharacterController.Move()
  • 51. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 51 Fixing Movement Stutter Each time the Unit did a Repath It will stutter for a frame To Fix this issue, Calculating Delta is separated from Movement The Unit will continue moving In the same direction, While new Delta is being calculated Waypoint 0 == Unit’s original position Movement Vector of zero caused the stutter.
  • 52. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 52 Next Slide, Squad Formation