Challenges and Opportunities on Software Engineering for Computer Games
Fabio Petrillo
LIF/DIM/UQAC Invited talk at Concordia University January 2018
Challenges and Opportunities on Software Engineering for Computer - - PowerPoint PPT Presentation
Challenges and Opportunities on Software Engineering for Computer Games Fabio Petrillo LIF/DIM/UQAC Invited talk at Concordia University January 2018 Fabio PETRILLO Associate Professor at DIM - UQAC Software Architecture and
Fabio Petrillo
LIF/DIM/UQAC Invited talk at Concordia University January 2018
○ Software Architecture and Quality ○ SE and Computer Games
○ Méthode agile pour l'industrie du jeux vidéo ○ Analysis, comprehension et visualisation of software ○ Swarm Debugging
○ Software developer and architect ○ Manager and agile coach ○ Experience on complex and critical mission systèms
Fabio PETRILLO
2
Game industry is billionaire, greater than cinema and music together
(NEWZOO,2016)
Newzoo 2018 Global games market report, Trends, insights, and projections towards 2021
12
Computer Games and Software Engineering
advanced software products and complex works of creativity and art [Engstrom, 2018]
[Kasurinen, 2017]
Computer Games and Software Engineering
community rarely studies CGs [Murphy-Hill, 2014].
16
GDC 2016 State of the Industry Report
17
16% 11%
Programmers Artists
18
19
21
We started a discussion: Waterfall vs Agile for game development?
24
25
26
27
Postmortems
What went right discusses the best practices adopted by developers, solutions, improvements, and project management decisions that help the project. What went wrong discusses difficulties, pitfalls, and mistakes experienced by the development team in the project, both technical and managerial.
29
"All the main problems of the traditional software industry are also found in the game industry "
30
Petrillo, F., Pimenta, M., Trindade, F., & Dietrich, C. (2009). What went wrong? A survey of problems in game development. Computers in Entertainment, 7(1), 1.
31
Petrillo, F., Pimenta, M., Trindade, F., & Dietrich, C. (2009). What went wrong? A survey of problems in game development. Computers in Entertainment, 7(1), 1.
32
Petrillo, F., Pimenta, M., Trindade, F., & Dietrich, C. (2009). What went wrong? A survey of problems in game development. Computers in Entertainment, 7(1), 1.
33
"We believe that adoption of agile practices in game development can achieve promising results. "
34
Petrillo, F., & Pimenta, M. (2010). Is agility out there? Agile Practices in Game Development. In Proceedings of the 28th ACM International Conference on Design of Communication - SIGDOC ’10 (p. 9). New York, New York, USA: ACM Press.
"We believe that adoption of agile practices in game development can achieve promising results. "
35
Petrillo, F., & Pimenta, M. (2010). Is agility out there? Agile Practices in Game Development. In Proceedings of the 28th ACM International Conference on Design of Communication - SIGDOC ’10 (p. 9). New York, New York, USA: ACM Press.
36
37
"The old days are gone. You can't expect producers or leads to come up with a huge waterfall of everything they thought would get done over the next three years. In the game development business, it's insane to think you have any insight into what your team will be doing one year from now. You can set major milestones with hard dates, but filling in all the details between those points is an exercise in futility. "
38
Fridley, M. (2013). Postmortem: Kingdoms of Amalur: Reckoning. Retrieved from http://www.gamasutra.com/view/feature/197269/postmortem_kingdoms_of_amalur_.php
39
40
41
42
Postmortem Search (2010 - 2016)
43
*63
44
Postmortem Filtering (682 terms)
45
Postmortem Analysis (20 articles)
46
BPMN Process Construction
Process Metamodel
47
48
BPMN Process Construction Postmortem Analysis (20 articles)
49
50
Iterative Process - Kingdoms of Amalur: Reckoning
Hybrid Process - Brutal Legend
51
Ad-Hoc Process - Aaaa! A Reckless Disregard for Gravity
52
Waterfall Process - Scooby-Doo
53
54
Process occurrences by category
55
Agile practices in game projects
56
57
58
59
We believe that iterative process and agile practice benefits are yet misunderstood by some game developers, managers, producers, publishers, and educators.
60
61
a Process Recommendation System for Video Game Projects using Postmortems Experiences
Cristiano Politowski¹, Lisandra Fontoura², Fabio Petrillo³, Yann-Gaël Guéhéneuc¹
¹Concordia University, Montreal - Canada ²Universidade Federal de Santa Maria - Brazil ³Université du Québec à Chicoutimi - Canada
IST Journal-First presentation on 12th International Symposium on Empirical Software Engineering and Measurement October 11-12, 2018 - Oulu, Finland
234 gathered 100 analysed 55 used
from 1997 until 2016
Each process is a set of elements...
{ "game" : "Slow Down, Bull", "phase" : "activities", "element" : "exploration phase", "desc" : "We were able to iterate through a ton of different experiments, many of which were discarded failures, but which paved the path for the strongest mechanics in the game", "prob" : false }
Context structure em CSV
72
Contributions
74
database of game development processes from the analysis of 55 postmortems
video game project characteristics, like team attributes and technical details
75
recommendation system capable of generating processes based on previous projects with similar contexts
76
77
86
87
(battle royale genre), as a mode of Fortnite: Save the World.
Fortnite: The days are gone…
"Save the World" mode, putting off any complex features that
weren't already in place as to launch the new mode as soon as possible; while they explored such potential ideas, they held off inclusion
until after the main mode was launched.”
○ Less weapons ○ a small subset of traps
Fortnite: Less is more...
Why Fortnite: Battle Royale is a huge success?
introduces an exclusive set of cosmetic items that can be obtained.
Engine.
always the plan.
Why Fortnite: Battle Royale is a huge success?
“It’s been weird, because from my perspective we’ve been continuously
interacting with players the entire time – it’s just that
we haven’t made a big deal about it with the press,” he says. “There’s a significant amount of difference between the game two years ago and the game now, so we’ve just been furiously iterating.” https://www.pcgamesn.com/fortnite/why-has-fortnite-taken-so-long
Why Fortnite: Battle Royale is a huge success?
"We value the ability of players to adapt to the game
changing over time. We also believe these changes keep Fortnite fresh for
everyone including players, competitors and spectators..." https://www.pcgamer.com/epic-hopes-to-give-fortnite-pros-more-time-to-adjust-to-b ig-changes-in-2019
Why Fortnite: Battle Royale is a huge success?
“Much of Fortnite’s appeal is that it is the perfect embodiment
game-changing updates every week that go beyond simple bug fixes. They want you to have something to look forward to every time you turn the game on…”
The Secrets Behind Fortnite's Massive 40 Million Player Success at https://kotaku.com/the-secrets-behind-fortnites-massive-40-million-player-1822119730
Why Fortnite: Battle Royale is a huge success?
“Another key pillar of Fortnite’s explosion is Epic Games’
service” evokes an impersonal image of being sold content you might not even want, with Fortnite, Epic has developed a more reciprocal relationship. Many updates seem as if they are responding to player wishlists... It’s the sort of
transparency and warmth that is rare for a game of
this size.”
Fortnite and Agility….
“Because of the size of the investment, each title feels too big to fail. It creates enormous pressure to manage these triple-A projects. By using a system that
is more along the lines of how Fortnite is created, risk has a chance of being mitigated. The entire project is not riding on a single
production and release and there is opportunity to fix issues while still keeping a project alive and healthy if a delivery were to lapse in the public eye.” Shu Yoshida, president of Playstation Worldwide Studios
96
The main drawback of the waterfall model is the
difficulty of accommodating changes after the
process is underway. In principle, a phase has to be complete before moving onto the next phase.
100
101
102
103
Is computer games special?
does not differ from other software development products.
development presents substantial differences with other software development.
development and enterprise software development.
game development. Similarities and differences have implications for research and industry that have not been deeply investigated yet.
Game testing
regression bugs.
and test large numbers of CG configurations to reduce the costs of manual testing.
Computer game debugging
Build empirical theories and quality models for computer games
an opportunity to explore new theories and quality models for CG
CGs;
"DDoS attacks pose a massive risk to online games," says Ben Albon, the lead
"MMORPGs are much less resilient to outages than other online services like websites and video streaming. When you and your friends are in the middle of a boss fight that you spent hours preparing for, then 30 seconds of disruption can easily be enough to ruin your entire evening."
Game as a service
○ Agone - https://github.com/GoogleCloudPlatform/agones
Security
"DDoS attacks pose a massive risk to online games," says Ben Albon, the lead
"MMORPGs are much less resilient to outages than other online services like websites and video streaming. When you and your friends are in the middle of a boss fight that you spent hours preparing for, then 30 seconds of disruption can easily be enough to ruin your entire evening." https://www.wired.co.uk/article/fortnite-down-online-pc-ps4
112
113
114
115
116
117
118
119
Fjord-du-Saguenay National Park
Some references and sources
https://aws.amazon.com/solutions/case-studies/EPICGames/
https://appdevelopermagazine.com/what-game-developers-can-learn-from-fortnite's-rise/
https://frostfrontpodcast.com/2018/07/11/fortnite-may-improve-our-development-cycles/
https://kotaku.com/the-secrets-behind-fortnites-massive-40-million-player-1822119730
Fabio Petrillo
fabio.petrillo@uqac.ca fabio@petrillo.com @drfabiopetrillo (twitter)