Video game design and programming course for the Master in Computer Engineering at the Politecnico di Milano. http://www.facebook.com/polimigamecollective https://twitter.com/@POLIMIGC http://www.youtube.com/PierLucaLanzi http://www.polimigamecollective.org
Politecnico di Milano, Videogiochi, Video Games, Computer Engineering, game design, game development, sviluppo videogiochi
Game Programming 07 - Procedural Content GenerationNick Pruehs
Chapter 7 of the lecture Game Programming taught at HAW Hamburg.
Introduction to procedural content generation and its implication for the game design.
The document discusses various aspects of game design including:
- The process of game design which involves concepts, goals, planning, specifications and coding.
- Important skills for game development like creativity, craft and technique.
- Getting ideas and developing the game concept are important initial steps.
- Game design should provide a good experience for players and keep things simple, unique with real-time interaction.
- Testing and getting feedback is important during the development process.
This document provides an overview of game development including defining video games, common genres, the size of the industry, and the development process from concept to release. It also outlines the major roles in game development such as designers, artists, programmers, testers, and producers. Finally, it discusses skills required for different roles and ways to get started in the industry such as through independent game development.
This document provides an overview of game development. It defines a game as an interactive form of entertainment and art differentiated from other media by user interactivity. It discusses major game genres and the large game market focused on mobile, console, PC, and online games. The document outlines the typical game development process including idea/documentation, design, development, and testing phases. It describes key activities in each phase such as concept art, gameplay design, programming, and quality assurance testing. In closing, it notes the appeal of game development is that it is very enjoyable to both play and create games.
Why Live Ops Matters for Casual Games: 3 Stategic Mindset for POsTimShepherd83
Live Ops is integral to F2P product management, but it can be difficult to understand what is the best strategy for a specific game at any given time. I present 3 'lenses' to evaluate your landscape and help in the Live Ops decision-making processes. With examples from Wooga and others, plus a few pro-tips and best practices dotted throughout.
Originally presented at Pocket Gamer Connects London, Jan 2019.
Brief presentation notes in orange speech bubbles ^^
Video game design and programming course for the Master in Computer Engineering at the Politecnico di Milano. http://www.facebook.com/polimigamecollective https://twitter.com/@POLIMIGC http://www.youtube.com/PierLucaLanzi http://www.polimigamecollective.org
Politecnico di Milano, Videogiochi, Video Games, Computer Engineering, game design, game development, sviluppo videogiochi
Game Programming 07 - Procedural Content GenerationNick Pruehs
Chapter 7 of the lecture Game Programming taught at HAW Hamburg.
Introduction to procedural content generation and its implication for the game design.
The document discusses various aspects of game design including:
- The process of game design which involves concepts, goals, planning, specifications and coding.
- Important skills for game development like creativity, craft and technique.
- Getting ideas and developing the game concept are important initial steps.
- Game design should provide a good experience for players and keep things simple, unique with real-time interaction.
- Testing and getting feedback is important during the development process.
This document provides an overview of game development including defining video games, common genres, the size of the industry, and the development process from concept to release. It also outlines the major roles in game development such as designers, artists, programmers, testers, and producers. Finally, it discusses skills required for different roles and ways to get started in the industry such as through independent game development.
This document provides an overview of game development. It defines a game as an interactive form of entertainment and art differentiated from other media by user interactivity. It discusses major game genres and the large game market focused on mobile, console, PC, and online games. The document outlines the typical game development process including idea/documentation, design, development, and testing phases. It describes key activities in each phase such as concept art, gameplay design, programming, and quality assurance testing. In closing, it notes the appeal of game development is that it is very enjoyable to both play and create games.
Why Live Ops Matters for Casual Games: 3 Stategic Mindset for POsTimShepherd83
Live Ops is integral to F2P product management, but it can be difficult to understand what is the best strategy for a specific game at any given time. I present 3 'lenses' to evaluate your landscape and help in the Live Ops decision-making processes. With examples from Wooga and others, plus a few pro-tips and best practices dotted throughout.
Originally presented at Pocket Gamer Connects London, Jan 2019.
Brief presentation notes in orange speech bubbles ^^
This document outlines the key components of a game concept, including a description of the game idea, players' roles, gameplay modes, genre, target audience, hardware platform, competition/collaboration modes, game world, unique selling points, and marketing strategy. It provides examples of different genres that may involve physical, economic, conceptual, tactical, logistic, exploration, or logic challenges. It also distinguishes between hardcore and casual gaming audiences and lists common business models and platforms. The overall purpose is to guide students in developing their own game concepts by addressing these essential elements.
This document provides an introduction to game development. It defines what a video game is as an electronic game involving user interaction and visual feedback. Game development draws from many fields including business, art, science and technology. The document outlines some of the many roles involved in game development. It traces the growth of the video game industry from early classics to modern 3D games. It then presents several popular game engines as tools that developers can use to build games, avoiding writing code from scratch. The document encourages creativity beyond what engines can do directly and emphasizes good coding practices like avoiding spaghetti code and refactoring. It introduces GameLab as aiming to spread knowledge about game development through small project-based seminars.
This document describes a Windows platform game called Street Runner. The game is inspired by Subway Surfer and Temple Run. It allows the player to control a character who runs endlessly, collecting powerups and avoiding obstacles. The document outlines the game's details, algorithms, menus, scoring, and technical implementation using Unity 3D and other tools. It was created by students to demonstrate basic game development concepts and provide entertainment on Windows PCs with minimal requirements.
Narrative Design and Audio-Visual Style in Video GamesAltug Isigan
This document summarizes key points from a presentation about narrative design and visual style in video games. It discusses the ludology-narratology debate around whether games should be studied as narratives. It argues that games can be approached as narratives because they create fictional worlds mediated through a narrating medium. It also notes that narratives in games are open works that develop based on player decisions, creating real risks that challenge game designers to maintain narrative necessity, coherence and tension across multiple storylines.
This document discusses level design for computer games. It covers the nature of level design, including the space, initial conditions, challenges, and aesthetics. It also discusses universal level design principles such as tutorial levels, varying progression, rewarding players, and punishing less. Genre-specific principles for different game types are also outlined. Common level layouts including linear, parallel, ring, network, hub-and-spoke, and combined are defined. Finally, the level design process from planning to testing is summarized.
The document outlines the game design process, including concept, production, and design team stages. The concept stage involves developing the initial idea, genre, target audience, and player role. In production, prototypes are created during preproduction, followed by full production iterations. The design team roles include lead designer, game designer, level designer, UI designer, writer, art director, and audio director. Competences needed for game design are also listed, such as imagination, technical skills, analysis, aesthetics, research, writing, and drawing.
Game Design - Monetization
The Deck covers some of the basic aspects and mechanisms of social game design. This is the 1st out of 4 decks, covering the aspects needed for amplifying MONETIZATION among players and users
The series includes 4 chapters: Engagement, Virality, Retention, Monetization
The document discusses various techniques used for artificial intelligence in gaming. It describes how state machines and planning systems are used to simulate human behavior for non-player characters. State machines define a character's states and transitions between states, but have limitations. Planning systems allow characters to work backwards from objectives to determine paths and behaviors. Additional techniques include navigation meshes to guide character movement and online learning from player data. The goal is to improve gaming experiences by making characters seem intelligent through these simulated human behavior methods.
Just add points? What UX can (and cannot) learn from gamesSebastian Deterding
Can game mechanics help us to make applications and websites more fun and engaging? My presentation at the UX Camp Europe 2010 on May 29 and 30 in Berlin attempted a sobering look at what user experience designers can and cannot learn from games.
The document summarizes a final year project for developing a 3D first-person shooter game called "Salvation Plan". The game aims to provide an entertaining experience for gamers by having them infiltrate an alien-controlled city to locate and destroy a life-absorbing machine. The project involves character design, map design, animations, sound effects, and a user interface. The goals are to improve players' skills like survival and reaction time while being the foundation for PC game development in Pakistan.
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.
Beat Your Mom At Solitaire—Reverse Engineering of Computer GamesChristoph Matthies
An overview of the methods used to reverse engineer computer games. Special focus is put on using memory manipulation at runtime to cheat at games as well as the countermeasures deployed by game developers.
Christoph Matthies (@chrisma0), Lukas Pirl
Published under CC BY-NC-SA 3.0
This document outlines the key components of a game concept, including a description of the game idea, players' roles, gameplay modes, genre, target audience, hardware platform, competition/collaboration modes, game world, unique selling points, and marketing strategy. It provides examples of different genres that may involve physical, economic, conceptual, tactical, logistic, exploration, or logic challenges. It also distinguishes between hardcore and casual gaming audiences and lists common business models and platforms. The overall purpose is to guide students in developing their own game concepts by addressing these essential elements.
This document provides an introduction to game development. It defines what a video game is as an electronic game involving user interaction and visual feedback. Game development draws from many fields including business, art, science and technology. The document outlines some of the many roles involved in game development. It traces the growth of the video game industry from early classics to modern 3D games. It then presents several popular game engines as tools that developers can use to build games, avoiding writing code from scratch. The document encourages creativity beyond what engines can do directly and emphasizes good coding practices like avoiding spaghetti code and refactoring. It introduces GameLab as aiming to spread knowledge about game development through small project-based seminars.
This document describes a Windows platform game called Street Runner. The game is inspired by Subway Surfer and Temple Run. It allows the player to control a character who runs endlessly, collecting powerups and avoiding obstacles. The document outlines the game's details, algorithms, menus, scoring, and technical implementation using Unity 3D and other tools. It was created by students to demonstrate basic game development concepts and provide entertainment on Windows PCs with minimal requirements.
Narrative Design and Audio-Visual Style in Video GamesAltug Isigan
This document summarizes key points from a presentation about narrative design and visual style in video games. It discusses the ludology-narratology debate around whether games should be studied as narratives. It argues that games can be approached as narratives because they create fictional worlds mediated through a narrating medium. It also notes that narratives in games are open works that develop based on player decisions, creating real risks that challenge game designers to maintain narrative necessity, coherence and tension across multiple storylines.
This document discusses level design for computer games. It covers the nature of level design, including the space, initial conditions, challenges, and aesthetics. It also discusses universal level design principles such as tutorial levels, varying progression, rewarding players, and punishing less. Genre-specific principles for different game types are also outlined. Common level layouts including linear, parallel, ring, network, hub-and-spoke, and combined are defined. Finally, the level design process from planning to testing is summarized.
The document outlines the game design process, including concept, production, and design team stages. The concept stage involves developing the initial idea, genre, target audience, and player role. In production, prototypes are created during preproduction, followed by full production iterations. The design team roles include lead designer, game designer, level designer, UI designer, writer, art director, and audio director. Competences needed for game design are also listed, such as imagination, technical skills, analysis, aesthetics, research, writing, and drawing.
Game Design - Monetization
The Deck covers some of the basic aspects and mechanisms of social game design. This is the 1st out of 4 decks, covering the aspects needed for amplifying MONETIZATION among players and users
The series includes 4 chapters: Engagement, Virality, Retention, Monetization
The document discusses various techniques used for artificial intelligence in gaming. It describes how state machines and planning systems are used to simulate human behavior for non-player characters. State machines define a character's states and transitions between states, but have limitations. Planning systems allow characters to work backwards from objectives to determine paths and behaviors. Additional techniques include navigation meshes to guide character movement and online learning from player data. The goal is to improve gaming experiences by making characters seem intelligent through these simulated human behavior methods.
Just add points? What UX can (and cannot) learn from gamesSebastian Deterding
Can game mechanics help us to make applications and websites more fun and engaging? My presentation at the UX Camp Europe 2010 on May 29 and 30 in Berlin attempted a sobering look at what user experience designers can and cannot learn from games.
The document summarizes a final year project for developing a 3D first-person shooter game called "Salvation Plan". The game aims to provide an entertaining experience for gamers by having them infiltrate an alien-controlled city to locate and destroy a life-absorbing machine. The project involves character design, map design, animations, sound effects, and a user interface. The goals are to improve players' skills like survival and reaction time while being the foundation for PC game development in Pakistan.
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.
Beat Your Mom At Solitaire—Reverse Engineering of Computer GamesChristoph Matthies
An overview of the methods used to reverse engineer computer games. Special focus is put on using memory manipulation at runtime to cheat at games as well as the countermeasures deployed by game developers.
Christoph Matthies (@chrisma0), Lukas Pirl
Published under CC BY-NC-SA 3.0
DEF CON 24 - Allan Cecil and DwangoAC - tasbot the perfectionistFelipe Prado
This document summarizes tool-assisted speedruns (TAS) of video games. It discusses how emulators and tools are used to play games faster than humanly possible by deterministically recording every input. Advanced techniques like memory searching and scripting push games to their limits. Console verification devices were developed to play back TAS movies on original hardware. The document argues that TAS tools are like penetration testing tools and can be used to find and exploit vulnerabilities in games. It demonstrates an arbitrary code execution in Pokemon Red using an unintended opcode execution.
When I was a kid, I wanted to build a holodeck—the immersive 3D simulation system from Star Trek… so I started making games.
This is a vision of how close we are to a holodeck:
Generative AI
Compositional frameworks
Computational scaling
The document discusses the topics of Web 3D, WebGL, and 3D interaction on the web. It provides definitions and history for these topics. WebGL allows 3D graphics rendering within web browsers without plugins using OpenGL ES. It works by using shader programs written in GLSL to render 3D graphics on a canvas element. The document discusses challenges with 3D interaction due to the 2D nature of displays and inputs, and covers various techniques for 3D input and output. Examples of 3D applications using these technologies are also mentioned.
The document discusses hacking arcade machines by exploiting vulnerabilities in how game profiles are loaded and signed from USB drives. Specifically, it finds that the game In The Groove 2 does not properly check if profile data is from an arcade machine or personal computer, allowing injected Lua code. It then details how to sign a rogue profile with the private keys, which are shared between arcade machines, and use it to run arbitrary code covertly by inserting a malicious USB drive.
Game engines provide an abstraction layer that allows games to run across multiple platforms. A cross-platform game engine handles the complex and platform-specific implementation details, so that game developers can focus on gameplay instead of low-level code. DeadEngine is an example of a cross-platform engine that supports PC, iOS and Android using C++ and common interfaces. While engines like Unity make it easy to deploy games across many platforms, native implementations tend to be smaller and faster than games built with an engine. Therefore, developing a cross-platform engine requires implementing features separately for each platform.
Slant Six Games uses SCons as their data build system for games like SOCOM: Confrontation. SCons is a Python-based build tool that provides fast, correct, and extensible builds. It supports features like dependency tracking and shared caching that help optimize their large data builds. While SCons works well overall, challenges include slow initial dependency scanning for large asset trees and bottlenecks introduced by tools like Maya. Staged building and selective dependency analysis help address these issues.
The document provides an agenda for a workshop on gamification and cultural heritage to be held on September 18, 2018. It includes an introduction, overview presentations, breakout groups to develop game ideas, and time for prototyping games using tools like Twine. Links are also provided to resources on game design, storytelling tools, and 3D modeling platforms for cultural heritage projects.
This document provides an overview of the Ancient World Online MMORPG project. It will allow players to take on roles in ancient Egyptian civilization from 3200 BC, reenacting the curses of pharaohs. The game will feature two main towns, seven dungeon areas, over 20 monster types, and 10 playable character classes. The developer needs to upgrade their computer to handle graphics and plans to hire freelance artists and designers. They will use Unity and Google Cloud technologies to host over 60,000 game servers globally to support millions of players. The project timeline includes a crowdfunding campaign, hiring phase, implementation from March to November 2019, beta testing, and an official release in February 2020.
322 / 5,000
Translation results
.NET is better every year for a developer who still dreams of developing a video game. Without pretensions and without talking about Unity or any other framework, just "barebones" .NET code, we will try to write a game (or parts of it) in the 80's style (because I was a kid in those years). In Christmas style.
This document discusses optimization techniques for video games to improve efficiency. It covers optimizations that can be made at various stages of development, including platform requirements, content creation tools and pipelines, level creation, plugins, runtime performance like memory usage and load times, and market performance metrics. Specific examples discussed include using level of detail models, texture atlases, object pooling, baked pathfinding, and profiling tools to detect and fix memory leaks. The overall message is that efficiency can be improved at all stages of the development process from initial design through runtime performance and market success.
Talk given at Interactive Narrative Design Think Tank, Nederlands Film Festival September 29, 2019.
Overview:
1. AI for Games/Interactive Narrative
2. Developments, past decade
3. Tech at our finger tips:
Procedural Content Generation
Machine learning
4. Opportunities, Challenges and wish lists
mloc.js 2014 - JavaScript and the browser as a platform for game developmentDavid Galeano
JavaScript and the browser can be a viable platform for game development, as demonstrated by games like Polycraft and a Quake 4 demo ported to JavaScript. However, to reach the level of native applications, improvements are needed in areas like memory usage, parallelism, and floating point performance. Specifically, typed objects could help memory usage, a task-based parallelism API could improve multi-core support, and SIMD and single-precision floats could enhance performance of common game operations like vectors and matrices.
Optimizing Unity games for mobile devicesBruno Cicanci
Optimizing Looney Tunes WoM for mobile devices. The document discusses optimization techniques for memory, CPU, and best practices for mobile games. It provides an overview of the game studio Aquiris and their work optimizing Looney Tunes: World of Mayhem. Profiling tools like the Unity Profiler and Instruments are recommended to identify issues like unused assets taking up memory, uncompressed textures, and loading too many objects at once. Suggested optimizations include asset budgeting, caching frequently used data, keeping draw calls low, and prioritizing tests on low-end devices.
Presentation about developing games and graphic visualizations in Pascal by Michalis Kamburelis, author of Castle Game Engine.
Presented in Salamanca at International Pascal Congress 2023 . See https://castle-engine.io/conferences .
This document discusses Alternate Reality Games (ARGs) and their relationship to virtual worlds. It contains perspectives from five experts in the field. [1] ARGs tell immersive narratives across multiple online and real-world platforms. [2] They engage users through challenges and unexpected experiences. [3] While still emerging, ARGs provide new ways to interact narratively and socially through technology.
TiConf 2014 Game Dev with Titanium and Platino 5/10/14gouldjw13
This document discusses game development using Platino and Titanium, as well as the concept of gamification. It provides an overview of why game development with Platino is a good option given the costs of AAA titles. It then outlines some game types that are realistic to start with now, such as arcade, board, puzzle and educational games. The document proceeds to give steps on how to get started with a Platino project and covers topics like sprites, animations, setting up game loops and collision detection. It also briefly discusses the Hyperloop compiler and gamification techniques. The overall message is that interactive game development is achievable with these tools and readers should start developing and having fun.
Similar to Introduction to Procedural Contents Generation (20)
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfflufftailshop
When it comes to unit testing in the .NET ecosystem, developers have a wide range of options available. Among the most popular choices are NUnit, XUnit, and MSTest. These unit testing frameworks provide essential tools and features to help ensure the quality and reliability of code. However, understanding the differences between these frameworks is crucial for selecting the most suitable one for your projects.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
This presentation provides valuable insights into effective cost-saving techniques on AWS. Learn how to optimize your AWS resources by rightsizing, increasing elasticity, picking the right storage class, and choosing the best pricing model. Additionally, discover essential governance mechanisms to ensure continuous cost efficiency. Whether you are new to AWS or an experienced user, this presentation provides clear and practical tips to help you reduce your cloud costs and get the most out of your budget.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
7. History of PCG in games
▪ 1952: One of Alan Turing’s final projects was a computer-based,
automated love-letter generator, which some have identified as the
first known work of new media art. It was programmed by
Christopher Strachey in 1952 for the Manchester Mark I computer.
Darling Sweetheart
You are my avid fellow feeling. My affection curiously clings to your passionate wish. My liking
yearns for your heart. You are my wistful sympathy: my tender liking.
Yours beautifully
Example:
8. History of PCG in games
PCG was born as a way to compress
data. There was literally no enough space
to store pre-made artworks and data.
▪ 1980: Richard Garriott's Akalabeth is the
(maybe) first game to use a seed to
generate the game world.
9. History of PCG in games
▪ 1980: Rogue, the real ancestor of the
rogue-like games used PCG to create a
fully replayable game experience.
▪ Rogue, and all the rogue-like games from
then, are one of the main game genres to
use PCG in modern videogame.
10. History of PCG in games
▪ 1985: The Sentinel had 10,000 different
levels stored in only 48 and 64 kilobytes.
11. History of PCG in games
▪ 1985: Elite use PCG to generate an
universe with 8 galaxies with 256 solar
system each. Each solar system has from
1 to 12 planets, each with a space station
in its orbit, a proper names, a personal
terrain , prices of commodities, and name
and local details.
▪ Everything have to be contained in a
32Kb home PC. Both code and
“contents”.
▪ SO EVERYTHING IS PCG
12. History of PCG in games
▪ The seed of the universe is hardcoded.
▪ The seed number in the released game is
4096
▪ However, there was some problems.
Some solar system was poorly connected
and the random name generator
sometimes used profanity to name
planets or space stations. :)
13. History of PCG in games
▪ The original algorithm is open source and can be found here:
▪ http://www.iancgbell.clara.net/elite/text/
▪ A detailed explanation of the algorithm is given here:
▪ http://www.gamasutra.com/view/feature/3377/algorithms_for_an_infinite_universe.php
14. History of PCG in games
▪ By the way, the new version of Elite, Elite
Dangerous use PCG to generate 1:1
replica of the Milk Way with more than
400 billion star systems.
▪ If we assume 1Kb per star system (very
optimistic), without PCG the full system will
occupy more than 400 Terabyte.
15. History of PCG in games
▪ Then the CD comes and developers became able to store thousands of times as
much data than was possible in the early 80s, using procedural generation to
build large worlds became unnecessary.
▪ So nothing happens, until mid 90s. At this time PCG has three main purposes:
1. Automatize designer into producing assets (for instance trees, rocks, foliage, and so
on)
2. Increase the amount of contents in a game in a way that is not possible to do manually.
3. Provide improved replayability of a game!
16. History of PCG in games
▪ 1995: Diablo was one of the first games
to introduce PCG and rogue-like games
into the modern era of the videogame
industry.
▪ Introduced
▪ Random dungeon layouts.
▪ Random item generation. This was the
new things in commercial videogames.
17. History of PCG in games
▪ After 1996, real-time PCG was almost
only confined into RPG, space games or
obscure rogue-like game (not really
mass-popular at that time).
Federation of Free
Traders (1998)
Strange Adventures
in Infinite Space
(2002)
Dark Clouds (2000)
18. History of PCG in games
▪ Commercial design PCG based tools was
instead starting its business!
▪ For instance, SpeedTree, the most
famous PCG tools for trees and other
organic assets, starts in 2002.
19. History of PCG in games
▪ 2006: Dwarf’s Fortress. Meanwhile,
some obscure developer was
implementing a state-of-the art fantasy
world generator.
▪ The DF engine can generate:
▪ A full who takes into account weather,
biomes, geological distribution of materials,
plate tectonics, wind and water erosion.
▪ A full history for the world with population,
races, cities who can rise and fall.
▪ Poetry, monsters, animals, events, cities
and A LOT MORE.
20. History of PCG in games
Dwarf’s Fortress was (and is) a niche
game. Inspired by that game Markus
Persson (Notch) decided to develop
Minecraft (2009)
Minecraft is considered the root of the
modern hype for PCG in the game industry.
21. History of PCG in games
Since then, PCG is now present in almost
every non-FPS game released!
23. Types of PCG
▪ There are six main application of PCG
▪ Runtime Random Level Generation
▪ Design Of Level Content
▪ Instancing Of In-Game Entities
▪ User Mediated Content
▪ Dynamic Systems
▪ Procedural Puzzles And Plot Generation
24. Runtime Random Level Generation
▪ It is generation of game levels/world while the game is
being played or loaded. In this category fall all the map
generation techniques. It is probably the most famous
type of PCG techniques in games.
▪ Notable Games: Elite, Minecraft, Spelunky, Diablo, and a
lot more.
26. Design Of Level Content
▪ It is the use of PCG techniques at design or build time.
In other world, the goal of PCG is to help the designer into
creating contents.
▪ It is usually hidden to the final player.
▪ A common example of these techniques is the use of
fractal height map to create landscapes and terrains
which will than populated with other objects by hand.
▪ Notable Games: almost every game since 2002.
28. Instancing Of In-Game Entities
▪ These techniques are, in some sense, orthogonal to the
previous category.
▪ Instead of generating the world, they instantiate the game
objects (such as, trees, monsters, characters, item,
treasures and so on).
▪ Notable Games: Left for Dead. It is used to instantiate
dynamically the enemies into a static environment in order
to provide variety and some adaptation capability to the
game.
30. User Mediated Content
▪ This is a borderline technique.
▪ It uses the users themselves as a source of new and “PCG”
contents. This can be also be mixed with other PCG
techniques (hence the word “mediated” in the name).
▪ Users can manually change PCG parameters to generate
personalized contents, share these parameters, and so on.
▪ Notable Games: Spore, X-COM and Dryad, a tool for tree
and organic offline generation.
31. Dynamic Systems
▪ This is PCG applied to agent behaviors.
▪ For instance, dynamic systems such as weather, and
group and crowd behaviour, can be modelled using PCG
techniques.
▪ In short: PCG applied to agent-s behaviors.
▪ Notable Games: S.T.A.L.K.E.R.: The Shadow of
Chernobyl, contains one thousand non-scripted
characters.
33. Procedural Puzzles And Plot Generation
▪ PCG can be also applied to plot, story, quests and puzzle
generation.
▪ This is a more difficult field because it often requires some Natural
Language Processing ability. However, many games are starting
to integrate automated quests into their code and gameplay.
▪ Puzzles can be extended by making multiple parts of the
dependency graph randomly placed (e.g. moving the key that
opens the door to a random accessible location) or by changing the
shape of the dependency graph completely.
▪ Notable Games: Apophenia, indie-fully PCG puzzle game. Mount
and Blade, for the PCG plot (thanks to community mods).
34. Cutting-Edge PCG
There are a lot of other PCG field expanding right now. This field are not still fully
absorbed by the game industry.
▪ Experience-Driven Procedural Content Generation
▪ Use player experience as a source for PCG algorithms.
▪ Search-based procedural content generation
▪ Use evolutionary technique to produce more controllable PCG contents.
▪ Procedurally Artistic-Contents Generation
▪ Visual art, music, poetry, architectures and so on.
▪ Procedurally Generated Gameplay
36. Teleological vs. Ontogenetic
▪ Teleological Algorithms: creates an accurate physical model of the environment
and the process that creates the thing generated, and then simply runs the
simulation, and the results should emerge as they do in nature. Usually used in
offline applications.
▪ Ontogenetic Algorithms: ontogenetic approach observes the end results of this
process and then attempts to directly reproduce those results by ad hoc algorithms.
Usually used in online applications.
T
O
37. Mazes
O
Mazes are one of the eldest form of PCG. Studied in mathematics for several
decades.
There are A LOT of algorithms:
• Prim’s Algorithm: http://bl.ocks.org/mbostock/11159599
• Random Traversal: http://bl.ocks.org/mbostock/70a28267db0354261476
• Randomized Depth-First: http://bl.ocks.org/mbostock/1ef3b1fb9eb35ca8ffff
• Wilson’s Algorithm: http://bl.ocks.org/mbostock/11357811
• And others….
38. Cellular Automata
A cellular automata is a grid of cells, each one
having a state, and a rule for determining what
state a cell transitions to based on the state of it
and its neighborhood.
Used for cave/natural-like environments.
O
39. Cellular Automata
function cellularLogic(r,c,clean) {
var numWalls = countAround(r, c, 1, 1);
var numWalls2 = countAround(r, c, 2, 2);
if (isWall(r,c)) {
if (numWalls >= 3) { return 1; } return 0; }
else {
if (!clean) { if (numWalls >= 5 || numWalls2 <= 2) { return 1; } }
else { if (numWalls >= 5) { return 1; } } } return 0; }
40. L-System
O
An L-System is a parallel rewriting system and a type
of formal grammar.
• Introduced in 1968 by Aristid Lindenmayer, a
botanist. Was used to describe the behavior of
plant cells and to model the growth processes of
plant development.
41. L-System: Example
O
variables : 0, 1
constants: [, ]
axiom : 0
rules : (1 → 11), (0 → 1[0]0)
The shape is built by recursively feeding the axiom
through the production rules.
axiom: 0
1st recursion: 1[0]0
2nd recursion: 11[1[0]0]1[0]0
3rd recursion: 1111[11[1[0]0]1[0]0]11[1[0]0]1[0]0
42. L-System: Example
O
At the end we add a semantic to each symbol. For
instance:
• 0: draw a line segment ending in a leaf
• 1: draw a line segment
• [: push position and angle, turn left 45 degrees
• ]: pop position and angle, turn right 45 degrees
11[1[0]0]1[0]0TRY THIS
43. L-System Use Case: PCG Buildings
O
L-Sys has been proven useful for PCG buildings.
Müller, Pascal, et al. Procedural modeling of
buildings. Vol. 25. No. 3. ACM, 2006.
Use basic building block (L, H, U and T) and use
grammars to generate complex shapes (rotation,
splitting, scaling, roof selection and a lot of things).
44. L-System Use Case: PCG Cities
O
L-Sys has been proven useful also for cities!
Parish, Yoav IH, and Pascal Müller. "Procedural
modeling of cities." Proceedings of the 28th
annual conference on Computer graphics and
interactive techniques. ACM, 2001.
45. L-System Use Case: PCG Cities
O
Altitude
Water
Pop.Density
Generated Output
46. Diamond-square algorithm
O
Is a common implementation of the midpoint displacement
algorithm.
1. Assign a height value to each corner of the rectangle
(image).
2. Divide the rectangle into 4 subrectangles, and let their
height values be the mean values of the corners of the
parent rectangle.
3. When computing the middle height, one should add a
small error that depends on the size of the rectangle
(roughness)
4. Iterate and subdivide each rectangle into smaller ones.
Eventually, they will be too small to produce a noticeable
difference. When this occurs, stop the iteration, and
render the pixel with the mean of the height values.
47. Dungeons
O
There is an huge amount of techniques to generate dungeons. This
can be a presentation by its own. :D
48. Dungeons: Voronoi-Delaunay Triangulation
O
Dungeon Generators is another big field of PCG. A
common technique to build dungeon-like artificial
structures is given by the Voronoi-Delanuay
Triangulation.
Example:
http://tinykeep.com/dungen/
49. Rain-Drop Algorithm
A rain drop algorithm is a method of modifying a height field by
simulating rain drops falling onto the height field, and then moving
from higher points to lower points. The rain drops are used to initially
remove height from where they first appear, then deposit additional
height at lower or lowest points they find. This emulates the process
of erosion.
T
50. Other Teleological Algorithms
• Fire Propagation: Diffusion of flames in dynamic environments.
• Artificial Life: Simulate the environment through the creation of a
lot of simple artificial life agents.
• Fluid Dynamics: Dynamic of fluids like water and magma (e.g.,
in Dwarf Fortress the user can create “steam engines” using the
in game fluid and thermodynamic simulation.
• Reaction-Diffusion System: introduced in 1950 by Alan Turing
to explain the morphogenesis of living creatures.
T
51. PCG Music
O
Procedurally generated music is usually implemented using Hidden
Markov Models.
http://hdl.handle.net/1802/1510
Funny Example:
http://www.fakemusicgenerator.com/
Generates, album, artists, tracks and, obviously, generate MP3.