Turn based tactical design fundamentals and a handful of tips - takeaway versionKacper Szymczak
As I work on my 3rd Turn-Based Tactical game, I'm sharing my insights into how fundamental design choices affect the gameplay, and sprinkle it with a couple of specific hints how to solve some of the more common design problems.
Balancing is a problem seemingly no one exactly knows how to tackle. Should you calculate it all? Should you tinker with values until you're satisfied with every detail? Should you turn to focus tests? I aim to propose a different approach and treat balance as something inherently systemic. I'm going to talk about structuring systems and content around a balanced framework. I will elaborate on my experience with such an approach in Phantom Doctrine, focusing on solutions we utilized and effective techniques required to master the balancing of a lengthy campaign in a complex game.
Our Spring Tax Update will be taking place across the region between the 8th and 10th March 2017.
The update will include the following:
•An update on the latest HMRC consultations
•Analysis of the tax announcements in the 2017 Budget
•A review of the current property tax environment
•The latest on Making Tax Digital and interaction with cloud accounting
Turn based tactical design fundamentals and a handful of tips - takeaway versionKacper Szymczak
As I work on my 3rd Turn-Based Tactical game, I'm sharing my insights into how fundamental design choices affect the gameplay, and sprinkle it with a couple of specific hints how to solve some of the more common design problems.
Balancing is a problem seemingly no one exactly knows how to tackle. Should you calculate it all? Should you tinker with values until you're satisfied with every detail? Should you turn to focus tests? I aim to propose a different approach and treat balance as something inherently systemic. I'm going to talk about structuring systems and content around a balanced framework. I will elaborate on my experience with such an approach in Phantom Doctrine, focusing on solutions we utilized and effective techniques required to master the balancing of a lengthy campaign in a complex game.
Our Spring Tax Update will be taking place across the region between the 8th and 10th March 2017.
The update will include the following:
•An update on the latest HMRC consultations
•Analysis of the tax announcements in the 2017 Budget
•A review of the current property tax environment
•The latest on Making Tax Digital and interaction with cloud accounting
Umbra Ignite 2015: Alex Evans – Learning from failure – prototypes, R&D, iter...Umbra Software
Slides are from Siggraph 2015 – the talk Alex had at Umbra Ignite was basically a shorter version of this.
Alex has made LittleBigPlanet, Tearaway and is now working on a new PlayStation 4 game. He’s from the demoscene, and he has attended many Assembly events as a teen, so he is intricately familiar with Finland’s democoding prowess. Alex has lots of friends in Finland and he is an extremely well known name in the programming scene.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
UiPath Test Automation using UiPath Test Suite series, part 3
Historica Fantasia, Development Blog 06, ShaderForge Character Shader
1. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 1
By Matumit Sombunjaroen V1.1 2017/04/17
Historica Fantasia Dev Blog
Chapter6:
Character Shader Hypothesis
2. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 2
The Reason this is done before Programming
Historica Fantasia will field
Up to a Maximum of 100-200 individual Characters at once.
Most Models will be duplicate.
But Processing test is still needed to see the Limits.
Depending on the result of this Experiment,
Certain Battle Presentations cannot be Use
Best Case Scenario: Full3D
Just put everyone on the field like in TotalWars
Worst Case Scenario: Cut-in Battle
Only do full render on Units that are taking part in a Battle
3. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 3
Rendering Objective
Flesh
Cloth02
Leather01
Metal
Faction
Color
Leather02
Every Characters will all share the Same Materials.
This is done by allocating UV to a color slot in the texture.
Pros:
Minimal Resources Needed for Rendering
Can field vast amount of Characters with Shared Materials
Cons:
Cannot use Normal or Occlusion Map
Need High PolyCount to obtain Hi-Quality Visual
Because there will be no close-up shots of the Characters,
The Cons should not be much of an issue.
4. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 4
Toon Ramp Shading
Flesh
Cloth02
Leather01
Faction
Color
Leather02
Non Metallic parts will use Toon Ramp Shader
With Maximum of 3 Ramps for
Shadow => Base => Highlight
The Shader will also receive Lighting from Environment.
5. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 5
Toon Metallic Shading
Gloss
Highlight
Fresnel Light
(Not sure if it’s
the correct term)
Rim Light
On top of Toon Ramp Shading,
Add Gloss Fresnel and Rim Lights.
Variations for various Metals
8. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 8
Issues
Player and Enemy will have Different Color Clothing.
But increasing Materials or SubMesh will increase SetPass.
The Problem is, Adjusting a Material will make a Global Effect
As such, the same Material cannot be use for both Faction
Primary Solutions:
Using Script to relocate Cloth’s UV to another Color’s coordinate.
Secondary Solutions:
Add another Material per Faction.
Add SubMesh to Model.
9. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 9
Experiment – Relocating UV
This Script successfully allocate the 1st 50UVs
To Blue Coordinate (0.5,0.5).
The Problem is, In order for this to work,
You need to know which UV Indexes are used for
the Faction Cloth Mesh.
Because there is no effective way of finding it out,
Other than Trials & Errors per Model,
This is really impractical.
10. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 10
Experiment – Relocating UV 1.1FIXED
This will get Tri index Arrays from Submesh
UV Index is the same as Triangle
11. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 11
Experiment – Multiple Objects
By increasing the exact same objects.
Batches & SetPass Calls do not get increase.
Adding another Material to same Object
Increase Batches & SetPass.
Adding a different Object with same Material
Increase Batches,
But do not increase SetPass.
Therefore, it is preferable to
Increase Object Count,
than to Increase Material.
12. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 12
Experiment – SubMesh
This one is an Object with a SubMesh,
And Have 2 Materials assigned to it.
The Result is similar to having 2 of the same Object
With different Material.
Because SubMesh is part of the same Object,
It also has the issue with UV index
13. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 13
Conclusion
Make Faction Cloth a separate Mesh,
Share the Same Material with Every Factions,
Then use Script to reallocate just the Cloth UVs.
15. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 15
Issues
Using Masking in ShaderForge,
Is it possible to obtain different Shadings in different Color Slot
In a Single Material?
We will try a simple Experiment,
Where only Red Slot will have a different Shading.
16. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 16
ShaderForge Test
…..IT WORKED…..
This is more simple than I thought.
Basically, all I had to do is Multiply Masking
-----------------------------------------------------
In the case of very Complex Masking,
Pre-Multiply each Shading Scheme to a Mask
=> Then Add everything with Add Node.
17. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 17
Conclusion
By Using ShaderForge Masking,
There is no need to separate Metal
to a different Materials
As such, only 1 Material is needed
19. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 19
Toon Ramp
This part of the Shader will create Toon Ramp
The Color is affected by Environmental Light
Ramp is created by Multiplying a Gradient Texture
-----------
As an alternative,
Light Color can be replace with Colored Ramp.
This will reduce needed Processing Power.
But the Color will no longer
be affected by Environmental Light
20. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 20
Metallic Toon
I cannot remember what I did any more,
Let just say it worked
Rim Light
Gloss
21. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 21
Toon Ramp V02
A Different Version,
This one Create Ramp Step from Float Value
Compare to Ramp Texture, it is faster to update,
But it cannot do Smooth Shadowing on Steps.
-----------
The Process is made by Unity’s Kobayashi-San
You can reference his shader from here
https://www.slideshare.net/nyaakobayashi/unity-14-
shader-forge-102-shaderforge
23. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 23
Characters to use
I am using Aoi Character Pack, from Asset Store.
It has Multiple Preset Characters with 3 LODs each.
Since each Model are from different Files,
We can use each of them to represent a Model
We will try with HiRes Models first,
then down to LowRes Models
10 Models were randomly selected as Base
24. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 24
Setup
In the case of a Single Character,
FPS: 124.4
Tri: 52k
Batches: 22
SetPass Calls: 7
After Filling in the Scene with 200 Characters,
FPS: 76.1
Tri: 4.8M
Batches: 2062
SetPass Calls: 8
25. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 25
…..Try Animating
Using Walking Motion from Blendshape & Tails
FPS: 56.7
Tri: 4.8M
Batches: 2062
SetPass Calls: 8
….This turned out way better than I thought…..
26. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 26
What else can we do?
Even if I were to go for a relatively high Polycount for the Final Product,
it should be no more than 5k per Model
5k*200 = 1M Tri => Nearly 5times lower than what we tested.
+ The Models will not be shown all at once on Screen
So, In Conclusion,
there should be no Problem
With Method Selection
But just for the sake of Science,
I will try to see how many Models can I fit in to get it down lower than 30FPS
27. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 27
After several try,
600 Characters
FPS: 24.7
Tri: 12.8M
Batches: 5458
SetPass Calls: 8
As a Side note, this is my PC Spec
28. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 28
Try the Original
Try Animating 200 Characters
w/10 Different Base Models + Original Materials
FPS: 95.8
Tri: 168k
Batches: 71
SetPass Calls: 71
FPS: 39.6
Tri: 3.3M
Batches: 1401
SetPass Calls: 1401
There’s a really big differences
when compared to using a Single Material
29. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 29
One Final Try
Originally, each Model has Submeshes with 4 Materials
We tried using one Material per Model instead
FPS: 92.5
Tri: 188.6k
Batches: 81
SetPass Calls: 23
FPS: 39.3
Tri: 3.7M
Batches: 1601
SetPass Calls: 441
Even if the Models do have Submeshes,
Assigning them with the same Material lower it down
31. @OtakuEatMama : @HistoricaFantasiaDevBlog : Zenneth@zodiac-alliance.com 31
Final Conclusion
Put every character on the field
like Total Wars is possible
With this Single Material Method