This document discusses how Nonstop Games achieved 60 frames per second for their 3D real-time strategy mobile game prototype. It introduces the studio and describes the technical requirements for the naval combat tech demo. Key techniques used include an ocean simulation with displacement mapping and normal maps, multi-threaded rendering optimized for mobile hardware, and animation exported from a Maya plugin to reduce draw calls. The document concludes with details on the tech demo's performance running over 100,000 triangles per frame on an iPad 2 at 26-44 FPS.
Computer Graphics - Lecture 01 - 3D Programming I💻 Anton Gerdelan
Slides from when I was teaching CS4052 Computer Graphics at Trinity College Dublin in Ireland.
These slides aren't used any more so they may as well be available to the public!
There are some mistakes in the slides, I'll try to comment below these.
This is the second lecture, and introduces programming with OpenGL 4 and shaders.
Slides from when I was teaching CS4052 Computer Graphics at Trinity College Dublin in Ireland.
These slides aren't used any more so they may as well be available to the public!
There are some mistakes in the slides, I'll try to comment below these.
Interviews with well-known game industry vets Niklas Lundberg, John Romero, Ivan-Assen Ivanov with lots of gems of programming advice for students around structure and design of their programs. The advice here should be really valuable for /anyone/ making software.
Ich zeige die Konzeption, Designentwurf und Umsetzung von 3D-Spielen anhand eines Bundeswahl-Spiels mit Angie, Frank-Walter, Guido und Jack Sparrow, präsentiert auf dem 2. Stuttgarter Barcamp am 13.09.09
InGame-Video auf www.elaspix.de
Computer Graphics - Lecture 01 - 3D Programming I💻 Anton Gerdelan
Slides from when I was teaching CS4052 Computer Graphics at Trinity College Dublin in Ireland.
These slides aren't used any more so they may as well be available to the public!
There are some mistakes in the slides, I'll try to comment below these.
This is the second lecture, and introduces programming with OpenGL 4 and shaders.
Slides from when I was teaching CS4052 Computer Graphics at Trinity College Dublin in Ireland.
These slides aren't used any more so they may as well be available to the public!
There are some mistakes in the slides, I'll try to comment below these.
Interviews with well-known game industry vets Niklas Lundberg, John Romero, Ivan-Assen Ivanov with lots of gems of programming advice for students around structure and design of their programs. The advice here should be really valuable for /anyone/ making software.
Ich zeige die Konzeption, Designentwurf und Umsetzung von 3D-Spielen anhand eines Bundeswahl-Spiels mit Angie, Frank-Walter, Guido und Jack Sparrow, präsentiert auf dem 2. Stuttgarter Barcamp am 13.09.09
InGame-Video auf www.elaspix.de
This presentation is made by me and partner syed maisam ali naqvi for Graphics course we try to give about open gl and its basicunder the supervision of sir irfan kandhro of sindh madressatul islam university hope you all find it worthy and hope this will work for you to understand open gl
Don't be afraid of shaders, says our Yilmaz Kiymaz. They can add some magic to the game. Check out his Unite 2015 talk, hope you will find it useful! #unite2015
Пиксельные шейдеры для Web-разработчиков. Программируем GPU / Денис Радин (Li...Ontico
HighLoad++ 2017
Зал «Москва», 7 ноября, 15:00
Тезисы:
http://www.highload.ru/2017/abstracts/3017.html
5 лет назад шейдеры перевернули мир компьютерной графики, став технологией, ответственной за все впечатляющие спец. эффекты, которые мы видим в компьютерных играх. Сейчас они готовы перевернуть веб.
Доклад расскажет об истории и причинах появления пиксельных шейдеров, механизме работы и вариантах использования в разработке обычных Web-приложений. После прохождения курса теории мы перейдем к пошаговому мастер-классу. Как насчет написания своего первого пиксельного шейдера?
We have all enjoyed computer games, but ever wondered how they do it? How do developers make them? What are the functional parts of a game?
"Computer Games Inner Workings" - a presentation by Ioannis Loukeris, AIT Senior Web Developer and Golden Age CTO.
Energy Efficient Mobile Applications with Mobile Cloud Computing ( MCC )Anand Bhojan
http://www.icghia2014.in/keynotespeakers.htm
Conference Keynote Talk: International Conference on Graph Algorithms, High Performance Implementations and Applications Coimbatore (ICGHIA'14)
The next generation of GPU APIs for Game EnginesPooya Eimandar
Demonstrate about new pipeline of GPU APIs for developing real time game engine.
Developing for DirectX12, Vulkan or Metal requires a redesign of the game engine. Developers can achieve key benefits like reduced power consumption and optimized CPU and GPU, multi-threading on multiple GPU devices.
We are on the third turn of the 'terminal' interface in computers. This has implications in the design of future browsers and i/o libraries in languages. This concludes with a proposal for a C++ library, but more recently I've become interested in changing the way the browser presents itself to the user. I'll consider another presentation on that topic if a suitable party is interested.
This presentation is made by me and partner syed maisam ali naqvi for Graphics course we try to give about open gl and its basicunder the supervision of sir irfan kandhro of sindh madressatul islam university hope you all find it worthy and hope this will work for you to understand open gl
Don't be afraid of shaders, says our Yilmaz Kiymaz. They can add some magic to the game. Check out his Unite 2015 talk, hope you will find it useful! #unite2015
Пиксельные шейдеры для Web-разработчиков. Программируем GPU / Денис Радин (Li...Ontico
HighLoad++ 2017
Зал «Москва», 7 ноября, 15:00
Тезисы:
http://www.highload.ru/2017/abstracts/3017.html
5 лет назад шейдеры перевернули мир компьютерной графики, став технологией, ответственной за все впечатляющие спец. эффекты, которые мы видим в компьютерных играх. Сейчас они готовы перевернуть веб.
Доклад расскажет об истории и причинах появления пиксельных шейдеров, механизме работы и вариантах использования в разработке обычных Web-приложений. После прохождения курса теории мы перейдем к пошаговому мастер-классу. Как насчет написания своего первого пиксельного шейдера?
We have all enjoyed computer games, but ever wondered how they do it? How do developers make them? What are the functional parts of a game?
"Computer Games Inner Workings" - a presentation by Ioannis Loukeris, AIT Senior Web Developer and Golden Age CTO.
Energy Efficient Mobile Applications with Mobile Cloud Computing ( MCC )Anand Bhojan
http://www.icghia2014.in/keynotespeakers.htm
Conference Keynote Talk: International Conference on Graph Algorithms, High Performance Implementations and Applications Coimbatore (ICGHIA'14)
The next generation of GPU APIs for Game EnginesPooya Eimandar
Demonstrate about new pipeline of GPU APIs for developing real time game engine.
Developing for DirectX12, Vulkan or Metal requires a redesign of the game engine. Developers can achieve key benefits like reduced power consumption and optimized CPU and GPU, multi-threading on multiple GPU devices.
We are on the third turn of the 'terminal' interface in computers. This has implications in the design of future browsers and i/o libraries in languages. This concludes with a proposal for a C++ library, but more recently I've become interested in changing the way the browser presents itself to the user. I'll consider another presentation on that topic if a suitable party is interested.
Leszek Godlewski
Language: English
Video games are complex and non-deterministic systems. So complex, in fact, that some days the everyday breakpoint just doesn't cut it when you're looking for that next bug. Drawing from the experience of deploying three large titles to four platforms, this talk will discuss the different approaches and borderline magical tricks to debugging different parts of a game: noise filtering when our breakpoint is hit way too often, memory stomping, time-dependent bugs, rendering artifacts… Story of a game programmer's life.
Castle Game Engine and the joy of making and using a custom game engineMichalis Kamburelis
Presentation about Castle Game Engine ( https://castle-engine.io/ ) at GIC 2022 conference. We briefly show Castle Game Engine features then talk about important reasons and things you should take into account if you want to be as crazy as me -- and develop your custom engine :)
Presentation Video : http://tinyurl.com/pfhz96m
Stage 3D introduction in Adobe Flash Player and Adobe AIR lets you use techniques such as deferred lighting, screen space dynamic shadow, MRT, and more through vertex and fragment shaders. Join Jean-Philippe Doiron, Principal Architect R&D at Frima Studio, and Jean-Philippe Auclair, R&D Architect, for a deep dive into GPU programming with the new Flash Player, and discover how to produce beautiful GPU effects that are reusable in your games and applications.
For this year's keynote at High Performance Graphics 2018, Colin Barré-Brisebois from SEED discussed the state of the art in real-time game ray tracing. He explored some of the connections between offline and real-time game ray tracing, and presented some of the open problems. Colin exposed a few potential solutions to those problems, and also proposed a call-to-arms on topics where the ray tracing research community and the games industry should unite in order to solve such open problems.
Gary Tarolli's presentation on April 27, 2015 to the Computer Systems Fundamentals class at Middlesex Community College. A great perspective on the history of graphics and Gary's unique role in groundbreaking companies like 3dfx and nvidia.
1. How We Did 60fps
In Our 3D RTS Mobile Game
Daniel Sim - Senior Developer
Nonstop Games - A King studio
Oct 2014
2. ● Quick Intro
● 3D RTS on Mobile
● Q&A
● Hands-on + Lunch
Overview
3. About Me
● Started Game Programming in 1987
● Was a “3D Artist” in a previous life (7 years)
● Made game that hit #23 What’s Hot Role
Playing Games for iPad (U.S. App Store)
● MMO Gamer - WoW, EVE Online
● 2009 Singapore Champion - Radio
Controlled Helicopter Aerobatics
4.
5.
6. ● Founded in 2011 - Teemu, Henrik, Juha,
Henric
o 17 of us - Passionate about Making Games Gamers
Love
o Encourage Innovation, Individuality
About Nonstop Games
7. ● Real-time Map Strategy War Game (2D)
● App Store Feature (> 100 countries)
Heroes of Honor
8.
9. About the Kingdom
● Maker of Candy Crush, Farm Heroes, Pet
Rescue, and more!
● 6 Studios in Europe
● Nonstop Games is King’s 1st Studio in Asia!
● Bi-annual Infomarket
10. ● Induction in Europe (Berlin)
● Brand New Office in the City
● Access to network of artist and developers
(Platforms to Share Knowledge)
● And more!
Kingdom Perks
11. Global Kingdom of Fun
● 345 Million Monthly UNIQUE Users
● 1.2 Billion Average Daily Game Plays
● Truly Free-to-play
12. Nonstop Games - A King Studio
● Independent Studio
● Fun, Innovative Games
● Beyond Traditional Casual Genre
● Bring Best of East to the Global Market
● Amazing Games in the pipeline
13. Introducing Our Tech Demo
● FLEET - Naval RTS Prototype
o Current Mobile RTS Examples
o What Might Happen in The Near Future
o Requirements for the Tech Demo
o Ocean Simulation
o Tech Details
o Rendering Techniques
15. In The Near Future...
● High Fidelity 3D Graphics
● Silky Smooth Framerates
● More Complex Battle Mechanics
● Lots of RTS games on mobile
● Many “entry-level” smartphones in use
16. Tech Demo Requirements
● Naval Combat Game (with Vikings!)
● Hundreds of Units (3D Character Animation)
● Particle Effects for Explosions and Water
● WOW! Ocean Simulation+Effects
● Real-time Physics+AI for Units
● < 100MB Memory Usage (Core Runtime)
18. Ocean Simulation
● Try for “Never seen before”
● Works on “all” phones
● Complex Problem
● Techniques apply to any “ground”
19. Pieces of an Ocean
Detail Normal Maps
Reflection Map
Displacement+Normal Maps
20. Displace+Normal Animated Blend
Map A moves
Map B is faster
● RGB is Normal, Alpha is Displacement
● 8x Over-sample over U axis
● Same Technique for Detail Normal Maps
21. Detail Normal Maps
● Inexpensive “Close-up” Detail
● 4 Normal Map Layers in total
22. 3D Normals into 2D Texture Coords
Reflection Map (Fresnel Mimic)
23. Challenges (of Oceanic proportions)
● Displacement and Normal Map Size
● Reflection Mapping
● Texture Look-up Bandwidth
● Artist deliver the “Punchline”
● Particle Projection Mapping
o Pre-render Noise
o Generate Projected Mesh
o Minimize Overdraw
o A Whole Topic on its own
25. Tech Details (Entities)
● Fleet Prototype @60fps (iPad 4)
o 4k Bone Animated Tris (4 skin weights per vertex)
o 23k Transform Animated Tris
o 42k Static Tris
o Above Tris are with normals and lit with 2 lights,
ambient + directional
o Box2D physics with 30 dynamic bodies and 28 static
bodies
26. Tech Details (Ocean + Effects)
● Full scene displacement animated Ocean
Mesh
o 32k tris
o 3.9k tris with particle billboard animation projected
on Ocean Mesh (Ship Wakes)
● Particle Effects
o 1.6k particle billboard animated sprite tris
o Smoke, Explosions and Spells
● Grand Total
o 107,000 Triangles Per Frame
27. Tech Details (AI, Sound)
● AI + Physics
o Nearest target fire and movement
o AI controls 30 ships
● 16 concurrent sound channels
o 3D spatial processing
28. 32 Ships and a Base on an iPad 2
Brand X (3D Engine)
31. 3D Rendering (1 of 3)
● SIMD capable Vector Math
o GLM - Second fastest library, most portable
● Vertex Buffer Objects (VBO)
o Pre-load vertex data to GPU
● Vertex Array Objects (VAO)
o Pre-configure rendering programs on GPU
32. 3D Rendering (2 of 3)
● Multi-thread Ready (WIP)
o Entity Render States are Thread Safe
● Future Proof
o Apple Metal Ready
o UBO and Geometry Instancing will be quick to
integrate (OpenGL ES 3.0)
● Vertex Cache Optimized Mesh Export
33. 3D Rendering (3 of 3)
● Particle Animation
o Export Baked Animation from Maya
o Animated Attributes Per Particle:
Sprite Frame
Opacity
Twist
Scale
34. Shaders
● Right Shader for the Right Job
o Optimize where it matters
o Easy to write, use and benchmark custom shader
● Shader Uniforms
o Aggressive use
o 400% faster than glBufferData (selected use case)
35. Animation
● Export from C++ Maya Plugin
o Skeleton Animation
o Quaternion Rotations
Record and Interpolation
● GPU based mesh deformation
36. File Formats
● Mesh, Animation, Collision, Particle and Font
● No-fluff Binary
o Depends on Artist/Content Tools to pull-it together.
● Memory dump of GPU buffer
o As fast as it gets
o Not possible all the time
o Amazing with Apple Metal
Say name, ask who’s here, what am I passionate about?
AAA 3D Games, Mobile 3D Games, 2D Games, Not a graphics programmer, not a programmer
How We Do 60fps in Our 3D RTS Mobile Game
Synopsis:
Find out what Nonstop Games is all about and how being part of King - Makers of Candy Crush, helps us push the limits of core gaming on mobile.
Take a peek at our Fleet Tech Demo and engage in a Q&A session about 3D Rendering and RTS Gameplay Tech.
Topics include:
Render and animation of a large army
Real-time Hyper-real Ocean Simulation
Particle Effects (including Projected Particles)
Real-time Physics Integration
Pushing Mobile Memory and Computational Limits
Bring personally and background into it. Put pressure on audience (take it off self)
When and why I joined.
Maker of CC, List games, 6 studios in Europe with nonstop 1st studio in asia
Mostly Casual Games, what’s life like in King, Work hard fun at same time, Infomarket, network part of bigger community
Longer to hire awesome talented people to make kick-a$$ games. Learning & Development Opportunities
Introduce Fleet demo - Naval Wargame Prototype
Why retina screen, 4x more pixels on screen, stop and ask
Ask for question
“Off-the-shelf” Performance. Shaders are Unity mobile-optimized shaders. Can be optimized much more.
Some particles effects for Wakes of ships. No gameplay. Simple animation of ships orbiting islands.
This is with UI, physics, particle effects, ocean simulation, gameplay.
Intro about rendering
Reiterate looking for awesome people to work with….