SlideShare a Scribd company logo
1 of 56
@grip_digital
facebook.com/gripdigital
Lessons learned from RENOIR
Martin Pernica | @martindeveloper
@grip_digital
facebook.com/gripdigital
Who am I?
• Martin Pernica
• @martindeveloper
• Team leader at Grip Digital
• Rendering
• Physics
• GPGPU
@grip_digital
facebook.com/gripdigital
Outline
• The story
• Recording system
• Light rendering
• Collisions
• Sprites
• Cloth simulation
• Questions
@grip_digital
facebook.com/gripdigital
The story
@grip_digital
facebook.com/gripdigital
The story
• Engine for mixed 2D and 3D
• Great rendering
• Powerful physics
• Easy to use
• Heavily modifiable
@grip_digital
facebook.com/gripdigital
Recording system
@grip_digital
facebook.com/gripdigital
Recording system
• What is “recording system”?
• Small explanation video
@grip_digital
facebook.com/gripdigital
@grip_digital
facebook.com/gripdigital
Recording system
• We have to record every move of the player
• And not just the movement, but physics of other objects
• Sounds easy? Not exactly…
@grip_digital
facebook.com/gripdigital
Recording system
• After many iterations we created the “OK” solution
• There were still pitfalls which have to be solved after
adding the new gameplay features
• And also optimizations are crucial
@grip_digital
facebook.com/gripdigital
Recording system
• Let's start with first naive approach
• Just record positions in world at every frame
• And just “put” the character to exact location every frame
@grip_digital
facebook.com/gripdigital
Recording system
• You may already see “holes” in this solution
• But it was “bad enough” to start prototyping (without
physics related objects)
@grip_digital
facebook.com/gripdigital
Recording system
• The requirements started to grow
• Fluid physics
• Exact time
• Exact position
• Exact collision and light occlusion
• And yes - FPS independent
@grip_digital
facebook.com/gripdigital
Recording system
• We started recording of the movement vectors
• With action types, directions, inputs, times…
@grip_digital
facebook.com/gripdigital
Recording system
struct FRecordTimelineEntry
- bIsValid
- ActionType
- StartLocation
- MoveInput
struct FMoveInputContainter
- Direction
- InputList
- TimeSpentInCurrentState struct FMovementChunk
- Value
- EndLocation
- Duration
@grip_digital
facebook.com/gripdigital
Recording system
• Still not the best solution
• But it worked with varying frame-rate
• It worked with physic enabled objects
• So it was good enough to move in development
@grip_digital
facebook.com/gripdigital
And lesson from
this?
Never over engineer the code (even if its the main gameplay
mechanics), try to achieve first prototype and iterate.
@grip_digital
facebook.com/gripdigital
Light rendering
@grip_digital
facebook.com/gripdigital
Light rendering
• Noir atmosphere needs a great lighting
• UE4 lighting system is really strong
• And you can create breath-taking scenes with it
@grip_digital
facebook.com/gripdigital
Light rendering
• We had two types of lights
• Not interactive
• Interactive
@grip_digital
facebook.com/gripdigital
Light rendering
• Non interactive lights were just illusion in the
background or some other places
• Just “sprites” with emissive material
• Covered with bloom and grain post FX
@grip_digital
facebook.com/gripdigital
@grip_digital
facebook.com/gripdigital
Light rendering
• The interactive lights are those lights which affect
player, ghosts and other actors in the game
• It's not easy to use 3D lights on 2D scene
• But we needed one specific type of the light…
@grip_digital
facebook.com/gripdigital
Light rendering
• Volumetric lights
• Real volumetric lights are expensive to render
• For the first prototypes we needed just “OK” looking lights
@grip_digital
facebook.com/gripdigital
Light rendering
• So we started to faking them little bit
• Increase intensity, create wider shape and just move it near to
the wall which creates the “volumetric shape effect”
@grip_digital
facebook.com/gripdigital
Light rendering
• Simple, not good, solution for prototyping
• But what next?
@grip_digital
facebook.com/gripdigital
Light rendering
• After that we just created cylinders for lights
• With good looking material
• To show some moving dust
• And increase the “depth” of a scene
@grip_digital
facebook.com/gripdigital
Light rendering
• But this solution wasn't still good for next part of the game
• We had to create the volumetric lights which can cast nice
shadows
• Why? Occluding lights and shadows are part of the game
mechanic
@grip_digital
facebook.com/gripdigital
Light rendering
• We had to construct those volumetric
meshes at the runtime
• Using ray-casting to detect objects in
front of the light
• And create approx. shape of the light
@grip_digital
facebook.com/gripdigital
Light rendering
• First solution was on CPU with some batching and caching
• Second solution was on GPU using geometry shaders
@grip_digital
facebook.com/gripdigital
Light rendering
• To increase “real” feeling from the
scenes
• We had to create normal maps
• Those normal maps were not correct
compared to the real world
• We just needed normal maps which
will create nice effect in 2D world
@grip_digital
facebook.com/gripdigital
Collisions with light
@grip_digital
facebook.com/gripdigital
Light collisions
• James and ghosts don't like the light
• We have to be able detect when object is lit or not
@grip_digital
facebook.com/gripdigital
Light collisions
• Easy to say, not easy to implement
• Deferred rendering in UE4 works really great, but for this is
not the best
• Because when you are drawing an object you still don't
know if you are lit or not (lights are applied as “post FX”)
@grip_digital
facebook.com/gripdigital
Light collisions
• First naive approach was to use just ray-casting
• It was OK for first prototypes but we knew this is not
the best/last solution
@grip_digital
facebook.com/gripdigital
Light collisions
• Second solution was to create simplified shape and push it
into PhysX world
• After that just detect collisions between objects
• Worked OK until we had to occlude the light and cast
shadows
@grip_digital
facebook.com/gripdigital
Light collisions
• The last solution, which was “work in progress”, was to create
special Light Tagging Render Target
• In shader we read the light buffer, normal buffer and others
@grip_digital
facebook.com/gripdigital
Light collisions
• Some data are pushed into the GPU from the CPU memory, like
locations of characters (mapped to 2D canvas of the screen) and
others (with unique IDs)
• Shader writes lights IDs, detects when is actor inside the light
and write actor ID into the RT
• And CPU will read back those informations (separated thread, in
specific intervals or at some events)
@grip_digital
facebook.com/gripdigital
Light collisions
• Sounds like an expensive solution, but it was good on “better
machines”
• Also we were experimenting with compute shaders to do some
heavy lifting instead of CPU
@grip_digital
facebook.com/gripdigital
Sprites
@grip_digital
facebook.com/gripdigital
Sprites
• At the time UE4 doesn't had a Paper2D plugin
• So we decided to create our custom sprites
@grip_digital
facebook.com/gripdigital
Sprites
• It was easy but we had to split logic into editor and runtime
• We created meshes (shared) in editor for texture, with specific
material which had an support for various effects
@grip_digital
facebook.com/gripdigital
Sprites
• Also we had to modify the UE4 static lighting system
• Because we like to have “light baked” our meshes also
@grip_digital
facebook.com/gripdigital
Sprites
• Also workflow had to be simple
• Artist just had to “throw” texture inside the editor
• And we had to create mesh and everything around
automatically
@grip_digital
facebook.com/gripdigital
Sprites
• After Paper2D came we decided not to throw everything out
• We just used some parts of the Paper2D for our stuff like
• Sprite editor
• Flipbook
• Sprite packing/atlasing
@grip_digital
facebook.com/gripdigital
Cloth simulation
@grip_digital
facebook.com/gripdigital
Cloth simulation
• Every noir detective have to have a coat, right?
• And this coat must be perfect, look perfect and feel perfect
• Because player will look at this character most of the time
@grip_digital
facebook.com/gripdigital
Cloth simulation
• We utilized the NVIDIA APEX support in UE4
• The workflow was really easy
• … but sometimes some features behaved “weirdly”
@grip_digital
facebook.com/gripdigital
Cloth simulation
• We “painted” cloth informations inside
the APEX Cloth tool
@grip_digital
facebook.com/gripdigital
Cloth simulation
• Also we created blocking volumes to not
penetrate the coat into the body :)
@grip_digital
facebook.com/gripdigital
Cloth simulation
• Painting and creating blocking volumes was easy
• But most time consuming was to fine tune every
single vertex to behave exactly as we wanted
• Also we have still “nightmares” when we started using
APEX Cloth with skeletal animations
@grip_digital
facebook.com/gripdigital
Cloth simulation
• But APEX wasn't only used on James' coat
• For example curtains were APEX cloth also
@grip_digital
facebook.com/gripdigital
Small things
• There was a lot small things
• Some of them were visible
• Some of them not, but they did the magic :)
@grip_digital
facebook.com/gripdigital
Conclusion
• Our vision was to iterate really quickly
• Also we wanted to create “breath-taking” visual
• Combined with interesting mechanics and puzzles
• And Unreal Engine 4 did a great job and it was perfect choice
@grip_digital
facebook.com/gripdigital
Q&A
@grip_digital
facebook.com/gripdigital
Thank you for your attention!
• …and enjoy your stay at this great conference!

More Related Content

Similar to Lessons learned from RENOIR - GAME ACCESS ‘16

Development and Optimization of GearVR games using Unreal Engine
Development and Optimization of GearVR games using Unreal EngineDevelopment and Optimization of GearVR games using Unreal Engine
Development and Optimization of GearVR games using Unreal EngineVinicius Vecchi
 
2nd cfp 2ndstage
2nd cfp 2ndstage2nd cfp 2ndstage
2nd cfp 2ndstages1210079
 
New 2D World-Building, Animation & Graphics Features in Unity
New 2D World-Building, Animation & Graphics Features in UnityNew 2D World-Building, Animation & Graphics Features in Unity
New 2D World-Building, Animation & Graphics Features in UnityUnity Technologies
 
Metail Skin Colour Authoring Tool
Metail Skin Colour Authoring ToolMetail Skin Colour Authoring Tool
Metail Skin Colour Authoring ToolDavid Gavilan
 
Cape production (cgi vfx and video production studio) presentation rus
Cape production (cgi vfx and video production studio) presentation rus Cape production (cgi vfx and video production studio) presentation rus
Cape production (cgi vfx and video production studio) presentation rus Ilya Petrukhin
 
OSCON Kids GetMakered 3D Selfie Workshop
OSCON Kids GetMakered 3D Selfie WorkshopOSCON Kids GetMakered 3D Selfie Workshop
OSCON Kids GetMakered 3D Selfie WorkshopDiane Mueller
 
Power to the Artists: The Evolution of 2D Game Tools / Rus Scammell (Unity Te...
Power to the Artists: The Evolution of 2D Game Tools / Rus Scammell (Unity Te...Power to the Artists: The Evolution of 2D Game Tools / Rus Scammell (Unity Te...
Power to the Artists: The Evolution of 2D Game Tools / Rus Scammell (Unity Te...DevGAMM Conference
 
Introduction to Procedural Contents Generation
Introduction to Procedural Contents GenerationIntroduction to Procedural Contents Generation
Introduction to Procedural Contents GenerationDavide Aversa
 
iOS Game Development With UIKit
iOS Game Development With UIKitiOS Game Development With UIKit
iOS Game Development With UIKitMartin Grider
 
Advantages of 2D Tilemaps for Mobile Games
Advantages of 2D Tilemaps for Mobile GamesAdvantages of 2D Tilemaps for Mobile Games
Advantages of 2D Tilemaps for Mobile GamesUnity Technologies
 
Project report PPT1
Project report PPT1Project report PPT1
Project report PPT1Navriti
 
Project Report1
Project Report1Project Report1
Project Report1Navriti
 
Project report
Project reportProject report
Project reportNavriti
 
2nd creative factory project 2nd stage
2nd creative factory project  2nd stage2nd creative factory project  2nd stage
2nd creative factory project 2nd stageMasanori Endo
 
Kinect Hacks for Dummies
Kinect Hacks for DummiesKinect Hacks for Dummies
Kinect Hacks for DummiesTomoto Washio
 
Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...
Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...
Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...Gáspár Nagy
 
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To YouLogs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To YouJohn Anderson
 

Similar to Lessons learned from RENOIR - GAME ACCESS ‘16 (20)

Development and Optimization of GearVR games using Unreal Engine
Development and Optimization of GearVR games using Unreal EngineDevelopment and Optimization of GearVR games using Unreal Engine
Development and Optimization of GearVR games using Unreal Engine
 
2nd cfp 2ndstage
2nd cfp 2ndstage2nd cfp 2ndstage
2nd cfp 2ndstage
 
2nd cfp 2ndstage
2nd cfp 2ndstage2nd cfp 2ndstage
2nd cfp 2ndstage
 
New 2D World-Building, Animation & Graphics Features in Unity
New 2D World-Building, Animation & Graphics Features in UnityNew 2D World-Building, Animation & Graphics Features in Unity
New 2D World-Building, Animation & Graphics Features in Unity
 
Metail Skin Colour Authoring Tool
Metail Skin Colour Authoring ToolMetail Skin Colour Authoring Tool
Metail Skin Colour Authoring Tool
 
Cape production (cgi vfx and video production studio) presentation rus
Cape production (cgi vfx and video production studio) presentation rus Cape production (cgi vfx and video production studio) presentation rus
Cape production (cgi vfx and video production studio) presentation rus
 
OSCON Kids GetMakered 3D Selfie Workshop
OSCON Kids GetMakered 3D Selfie WorkshopOSCON Kids GetMakered 3D Selfie Workshop
OSCON Kids GetMakered 3D Selfie Workshop
 
Power to the Artists: The Evolution of 2D Game Tools / Rus Scammell (Unity Te...
Power to the Artists: The Evolution of 2D Game Tools / Rus Scammell (Unity Te...Power to the Artists: The Evolution of 2D Game Tools / Rus Scammell (Unity Te...
Power to the Artists: The Evolution of 2D Game Tools / Rus Scammell (Unity Te...
 
Introduction to Procedural Contents Generation
Introduction to Procedural Contents GenerationIntroduction to Procedural Contents Generation
Introduction to Procedural Contents Generation
 
iOS Game Development With UIKit
iOS Game Development With UIKitiOS Game Development With UIKit
iOS Game Development With UIKit
 
Advantages of 2D Tilemaps for Mobile Games
Advantages of 2D Tilemaps for Mobile GamesAdvantages of 2D Tilemaps for Mobile Games
Advantages of 2D Tilemaps for Mobile Games
 
My PPT1
My PPT1My PPT1
My PPT1
 
Project report PPT1
Project report PPT1Project report PPT1
Project report PPT1
 
Project Report1
Project Report1Project Report1
Project Report1
 
Project report
Project reportProject report
Project report
 
Edgenuity syllabus-animation
Edgenuity syllabus-animationEdgenuity syllabus-animation
Edgenuity syllabus-animation
 
2nd creative factory project 2nd stage
2nd creative factory project  2nd stage2nd creative factory project  2nd stage
2nd creative factory project 2nd stage
 
Kinect Hacks for Dummies
Kinect Hacks for DummiesKinect Hacks for Dummies
Kinect Hacks for Dummies
 
Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...
Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...
Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...
 
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To YouLogs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
Logs Are Magic: Why Git Workflows and Commit Structure Should Matter To You
 

Recently uploaded

APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Recently uploaded (20)

APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 

Lessons learned from RENOIR - GAME ACCESS ‘16