GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...Gerke Max Preussner
A high-level overview of Unreal Engine 4, its game framework, the Slate user interface library, Unreal Motion Graphics, and Editor and Engine extensibility. Presented at GDC Europe in Cologne, Germany.
Also includes bonus slides on concurrency and parallelism features, general tips for programmers and Epic's build and automation infrastructure.
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...Unity Technologies
The Elder Scrolls Blades strove to produce high-quality visuals on modern mobile devices. This talk will describe the challenges of achieving that level of quality in procedurally generated 3D environments.
Speakers:
Simon-Pierre Thibault - Bethesda Game Studios
Sergei Savchenko - Bethesda Game Studios
Watch the session here: https://youtu.be/KbxiGH6igBk
FMX 2017: Extending Unreal Engine 4 with Plug-ins (Master Class)Gerke Max Preussner
Overview on creating code projects and plug-ins, and introduction on how to add new asset types to UE4 and customize their look & feel via asset actions and custom asset editors. The corresponding source code is available at https://headcrash.industries/vault/presentations/fmx/
How to build build pipeline for your Unreal Engine 4 game, along with iteration advice and best practices.
Originally presented in Poznan, Poland for GIC 19.
Presented by Ken Kuwano (Epic Games Japan)
This slide is a translation of the presentation material from the "UE4 Localization Deep Dive" on October 31, 2019.
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...Gerke Max Preussner
A high-level overview of Unreal Engine 4, its game framework, the Slate user interface library, Unreal Motion Graphics, and Editor and Engine extensibility. Presented at GDC Europe in Cologne, Germany.
Also includes bonus slides on concurrency and parallelism features, general tips for programmers and Epic's build and automation infrastructure.
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...Unity Technologies
The Elder Scrolls Blades strove to produce high-quality visuals on modern mobile devices. This talk will describe the challenges of achieving that level of quality in procedurally generated 3D environments.
Speakers:
Simon-Pierre Thibault - Bethesda Game Studios
Sergei Savchenko - Bethesda Game Studios
Watch the session here: https://youtu.be/KbxiGH6igBk
FMX 2017: Extending Unreal Engine 4 with Plug-ins (Master Class)Gerke Max Preussner
Overview on creating code projects and plug-ins, and introduction on how to add new asset types to UE4 and customize their look & feel via asset actions and custom asset editors. The corresponding source code is available at https://headcrash.industries/vault/presentations/fmx/
How to build build pipeline for your Unreal Engine 4 game, along with iteration advice and best practices.
Originally presented in Poznan, Poland for GIC 19.
Presented by Ken Kuwano (Epic Games Japan)
This slide is a translation of the presentation material from the "UE4 Localization Deep Dive" on October 31, 2019.
本資料は旧版です。最新内容は以下のリンクよりご確認をお願いいたします。
https://www.slideshare.net/EpicGamesJapan/cedeckyushu-2017-ue4tips
SlideShare上での表示ですとノードの文字が見えないため、Download推奨です。
2017年8月31日にパシフィコ横浜にて開催されたCEDEC2017の講演資料です。UE4におけるモバイル向け機能・開発時の注意点・Tipsについて説明しています。(Epic Games Japan 岡田 和也)
http://cedec.cesa.or.jp/2017/session/ENG/s59102d4c80be6/
Overview of the basics of modules, plug-ins and projects in UE4, and a deep dive into integrating third-party dependencies. Presented at MIGS 2016 in Montreal.
Physically Based Lighting in Unreal Engine 4Lukas Lang
Talk held at Unreal Meetup Munich on 15th May 2019.
I talked about some of the theoretical background of physically based lighting, demonstrated a workflow + containing value tables needed to be able to easily use the workflow.
Unreal Engine Basics 01 - Game FrameworkNick Pruehs
First chapter of the lecture Unreal Engine Basics taught at SAE Institute Hamburg.
- Getting familiar with Unreal Engine as a technology, framework and toolset
- Learning the basics about writing Unreal Engine C++ code
Life After Launch: How to Grow Mobile Games with In-Game EventsSimon Hade
Presentation from a talk by Space Ape COO Simon Hade at GDC Europe in June 2016. To see the video of the talk and related presentations see http://links.spaceapegames.com/liveops
Unreal Dev Day Montreal 2017における「UE4 Performance and Profiling」で使用された資料を翻訳したものです。
https://www.youtube.com/watch?v=hcxetY8g_fs
こちらの資料について、ライブストリーミングで解説しています
https://youtu.be/tTBdtsnqlTA
https://youtu.be/oZtlHG-s6DI
West Coast DevCon 2014: Programming in UE4 - A Quick Orientation for CodersGerke Max Preussner
Overview of basic concepts and common blockers when programming for Unreal Engine 4. Presented at West Coast Unreal Engine DevCon 2014 in San Francisco and Seattle.
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & InfrastructureGerke Max Preussner
Overview of build tools, build automation, source code management and automated testing infrastructure at Epic Games. Presented at West Coast Unreal Engine DevCon 2014 in San Francisco and Seattle.
本資料は旧版です。最新内容は以下のリンクよりご確認をお願いいたします。
https://www.slideshare.net/EpicGamesJapan/cedeckyushu-2017-ue4tips
SlideShare上での表示ですとノードの文字が見えないため、Download推奨です。
2017年8月31日にパシフィコ横浜にて開催されたCEDEC2017の講演資料です。UE4におけるモバイル向け機能・開発時の注意点・Tipsについて説明しています。(Epic Games Japan 岡田 和也)
http://cedec.cesa.or.jp/2017/session/ENG/s59102d4c80be6/
Overview of the basics of modules, plug-ins and projects in UE4, and a deep dive into integrating third-party dependencies. Presented at MIGS 2016 in Montreal.
Physically Based Lighting in Unreal Engine 4Lukas Lang
Talk held at Unreal Meetup Munich on 15th May 2019.
I talked about some of the theoretical background of physically based lighting, demonstrated a workflow + containing value tables needed to be able to easily use the workflow.
Unreal Engine Basics 01 - Game FrameworkNick Pruehs
First chapter of the lecture Unreal Engine Basics taught at SAE Institute Hamburg.
- Getting familiar with Unreal Engine as a technology, framework and toolset
- Learning the basics about writing Unreal Engine C++ code
Life After Launch: How to Grow Mobile Games with In-Game EventsSimon Hade
Presentation from a talk by Space Ape COO Simon Hade at GDC Europe in June 2016. To see the video of the talk and related presentations see http://links.spaceapegames.com/liveops
Unreal Dev Day Montreal 2017における「UE4 Performance and Profiling」で使用された資料を翻訳したものです。
https://www.youtube.com/watch?v=hcxetY8g_fs
こちらの資料について、ライブストリーミングで解説しています
https://youtu.be/tTBdtsnqlTA
https://youtu.be/oZtlHG-s6DI
West Coast DevCon 2014: Programming in UE4 - A Quick Orientation for CodersGerke Max Preussner
Overview of basic concepts and common blockers when programming for Unreal Engine 4. Presented at West Coast Unreal Engine DevCon 2014 in San Francisco and Seattle.
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & InfrastructureGerke Max Preussner
Overview of build tools, build automation, source code management and automated testing infrastructure at Epic Games. Presented at West Coast Unreal Engine DevCon 2014 in San Francisco and Seattle.
East Coast DevCon 2014: Programming in UE4 - A Quick Orientation for CodersGerke Max Preussner
Overview of basic concepts and common blockers when programming for Unreal Engine 4. Presented at East Coast Unreal Engine DevCon 2014 in Montreal and Boston.
West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo...Gerke Max Preussner
Overview of the Unreal Motion Graphics (UMG) framework in Unreal Engine 4. Presented at West Coast Unreal Engine DevCon 2014 in San Francisco and Seattle.
West Coast DevCon 2014: The Slate UI Framework (Part 1) - IntroductionGerke Max Preussner
Overview of the Slate user interface framework and low-level UI capabilities in Unreal Engine 4. Presented at West Coast Unreal Engine DevCon 2014 in San Francisco and Seattle.
Introductory slides for our live coding demonstration at GDC Europe on August 4th, 2015. We are creating a hover component in Blueprint and converting it to a C++ plug-in. The corresponding Visual Studio project files are available at https://headcrash.industries/vault/presentations/gdc-europe/
BSidesDelhi 2018: Headshot - Game Hacking on macOSBSides Delhi
Presenter: Jai Verma
Abstract: Game hacking is a major contributor to the hacking economy. People shell out a lot of money for hacks which help them cheat at multiplayer games. These hacks can range from enhancing in-game abilities for gaining an upper hand in the game, to bypassing in-app purchases. With the advent of anti-cheat such as VAC (Valve Anti Cheat), the techniques employed by hackers to cheat at games have become increasingly refined. These techniques are comparable to those utilised in sophisticated malware and rootkits. These techniques include runtime process injection, function interposition, and proxying network traffic to name a few. To avoid detection, hackers even resort to custom kernel drivers to interact with the game process. This talk will detail a few of the techniques utilised by game hackers and malware developers alike, through the hacking of an open-source game. I will showcase some hacks for an open-source FPS game by describing the method in detail for the macOS platform. While the demo will be macOS specific, the approach applies to all modern operating systems.
An overview of Apple's game development technologies, followed up by tips and techniques for using UIKit for game development. The later third of the talk is an overview of games I've worked on in UIKit.
Learn the aspects of building multi-screen and multi-form factor games for various devices ranging from mobiles, tablets to desktop. Also covered will be the aspects of design/development for web based games and standalone games for multiple devices. Understand how Adobe Flash Platform makes it extremely easy for you to build striking games, test and publish them for many devices.
Making A Game Engine Is Easier Than You ThinkGorm Lai
This is a talk I gave at the Develop Conference 2015 in Brighton. It is a an attempt at making a balanced talk on when it makes sense to make your own technology, and what it takes to get you there.
2D Endless Runner in Unity for Mobile - GDG DevFest Istanbul 2014Murat Gürel
This talk will cover technical design choices, tips & tricks for creating an endless runner platformer for Android & iOS in Unity, with real examples from our own game Evliya Celebi: Olumsuzluk Suyu, which include: character controls, animations & state machine, level design & generation, performance optimisations, gui elements, cross-platform design, level editor.
Metodologías de desarrollo de software en GamingGlobant
Contenido:
Game Development
- Understanding
Game Dev en Globant
-Historia
-Tipos de Proyectos/Clientes
-End to End/Full SKU vs EA Game Modes projects
- Algunos títulos en los que Globant trabajó
Orador: CLAUDIO BASTOS
Technical Director @Globant Gaming Studio
Contact: hello@globant.com
Designing a pragmatic back-end service for mobile gamesiFunFactory Inc.
For competition in the mobile gaming industry getting fierce, mobile game developers now face tough challenges including handling a different service landscape and working on a tight time budget. These obstacles lead the developers to seek handy solutions to abstract away development complexity and to reduce overall development cycle. This talk will focus especially on the back-end side of mobile game services. It will first review issues in mobile game services, then highlight the requirements of back-end services for the services. Finally, the talk will propose a vertically-integrated back-end platform.
Similar to West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Projects (20)
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Projects
1. Game Programming in UE4
Game Framework & Sample Projects
Gerke Max Preussner
max.preussner@epicgames.com
2. Game Framework History
UE1 and UE2
• Designed for First Person Shooters (FPS)
• UnrealScript game scripting language
UE3
• Kismet Visual Scripting added
• More modular game classes
• But still very FPS centric
UE4
• UnrealScript replaced with Blueprints
• Game genre agnostic
• Lots of sample projects!
3. UnrealScript vs. C++ vs. Blueprints
UnrealScript was:
• An object-oriented scripting language
• Similar in syntax to C, C++, Java, but also somewhat different
• Compiled to virtual machine byte code
• Adding interesting features, such as States, Timers, Delegates
Blueprints are:
• A visual scripting system that is artist and designer friendly
• Using the same virtual machine as UnrealScript
• Almost as powerful as UnrealScript, and in some ways even better
C++ has:
• Always been part of UE game programming
• Tight bi-directional integrations with the virtual machine
• Been greatly improved in UE4 to replace UnrealScript for coders
C++
Blueprints
VM
4. So What Is The Game Framework?
Overview
Why Use It?
Set Of Foundation Classes
• Provide basic structure and functions of your game
• You derive from the classes that you need
• Fill in the details for your particular game
What’s Missing?
• Game genre specific implementations
• No concept of health and death
• No built-in classes for weapons, inventory, etc.
5. So What Is The Game Framework?
Overview
Why Use It?
Reduced Learning Curve
• Hides the low-level details of game engines
• Benefit from 20+ years of game developing experience
• Many samples and tutorials for solving common tasks
High Productivity
• Focus on what really matters to you: making your game
• Solves many tricky problems in games (movement, input, etc.)
• Greatly reduces boilerplate code needed for all games
Scalability
• Smoothly grow your game & team from prototype to AAA
6. Fundamental Concepts
Actors
Components
Pawn
Controller
Character
HUD
GameMode
What is an Actor?
• Entity in a game level
• Usually contains one or more Actor Components
• Supports network replication for multiplayer games
Things to know about Actors
• Don’t have Location, Rotation (stored in root component)
• Created with SpawnActor() method
• Must be destroyed explicitly with Destroy() method
• Will not be garbage collected during the game
7. Fundamental Concepts
Actors
Components
Pawn
Controller
Character
HUD
GameMode
What is an ActorComponent?
• Reusable functionality that can be added to an Actor
• Contain the most interesting functionality & events
• Also accessible in Blueprints!
Example Components:
• Scene Component – Adds transforms and attachments
• Primitive Component – Adds collision and rendering
• UAudioComponent, UArrowComponent,
UInputComponent, ULightComponent, UMeshComponent,
UParticleSystemComponent and many more!
14. Fundamental Concepts
Actors
Components
Pawn
Controller
Character
HUD
GameMode
What is a GameMode?
• Implements the game rules
• Configures default classes for Pawn, Controller, HUD, etc.
• Can be accessed from anywhere (GetGameMode())
Things to know about GameModes
• Only exists on the server and single player instances!
• GameState is used to replicate game state to clients
• Default game mode can be set in Project Settings
• Per-map overrides in World Settings
16. Other Important Concepts
Input
Collision
Replication
Various Collision Query Functions
• Line traces (ray casts)
• Geometry sweeps
• Overlap tests
Simple Collision
• Box, sphere, capsule, convex
• Authoring tools in Editor
• Used for movement, physics, etc.
Complex collision
• Actual graphics triangles
• Used for weapons, kinematics, etc.
19. Questions?
Documentation, Tutorials and Help at:
• AnswerHub:
• Engine Documentation:
• Official Forums:
• Community Wiki:
• YouTube Videos:
• Community IRC:
Unreal Engine 4 Roadmap
• lmgtfy.com/?q=Unreal+engine+Trello+
http://answers.unrealengine.com
http://docs.unrealengine.com
http://forums.unrealengine.com
http://wiki.unrealengine.com
http://www.youtube.com/user/UnrealDevelopmentKit
#unrealengine on FreeNode
Editor's Notes
Prepared and presented by Gerke Max Preussner for West Coast MiniDevCon 2014, July 21-24th
Email max.preussner@epicgames.com in case of comments, questions or suggestions or visit our AnswerHub at http://answers.unrealengine.com
Previous versions of Unreal Engine were primarily designed for first person shooter games, because that’s the kind of games Epic used to make.
Unreal Engine 4 is much more game agnostic, and it ships with a ton of sample games for different genres.
Game scripting was part of the engine from the very beginning.
After spending several years of learning Unreal Script, you may be excited to hear that we got rid of it.
Unreal Script has been replaced with Blueprints.
Unreal Script was a completely separate programming language, although it was similar to C++ and Java.
Blueprints are almost as powerful as UnrealScript.
C++ has been augmented with more macros to give it more of the abilities that Unreal Script used to have.
Unreal Engine comes with the so called Game Framework that makes it easy to create new games.
It is a set of classes that provide all the basic functionality needed for most games.
Since the Engine is now more game agnostic, it no longer contains concepts for health and weapons.
You have to create those yourself for your particular game, or use one of the project templates as a starting point.
Why should you use the Game Framework?
Because it takes care of many of the low-level things that every game needs.
Epic Games has been making games for over 20 years, and all that experience flows back into the framework.
Let us worry about the technicalities – you focus on making cool games.
There are a number of concepts in the Game Framework, but some are particularly important.
The most important one is Actor, because every interactive entity in your game will be an Actor.
Actors have built-in support for network replication, and they can be heavily customized with Actor Components.
Actor Components are little reusable pieces of functionality that you can attach to Actors.
They really implement the most interesting parts of what an Actor actually does and what it looks like in your game.
Scene and Primitive Components are the most frequently used Actor Components.
They provide things like appearance, collision and 3D transformations.
Actor Components can generate events that are accessible in both Blueprints and C++.
For example, when an Actor touches a wall or some other actor, you can react to it by monitoring the Hit event.
Many Actor Components define their own events.
The second most important concept is the Pawn.
A Pawn is an entity in your game that can be controlled by a Player or some artificial intelligence.
In earlier versions of Unreal Engine, Pawns were mostly used for humanoid creatures.
In UE4 they can be anything, including space ships, submarines or eight legged robots.
Pawns do not control themselves.
They are controlled by so called Controllers, which you can think of as the brain of a Pawn.
Human players use a special controller, called the Player Controller.
AI pawns can be controlled with AI Controllers.
A Pawn may die in your game and disappear, but the Controller can stick around.
For example, when a player respawns, we usually attach the same PlayerController to a new Pawn.
PlayerControllers also process input, which is forwarded to the currently possessed Pawn.
We also PlayerControllers to manage in-game menus, head-up displays and voice chat.
It is a good place to put anything that has to do with human players.
A Character is a special Pawn class that contains walking logic.
It comes with useful components that make it easier to create humanoid game entities.
Characters have client-side movement prediction code that allows for smooth multiplayer experiences.
They have been improved greatly from Unreal Engine 3.
The HUD is responsible for drawing in-game UI, such as health bars and ammo counters.
It uses a code-only API including functions like DrawTexture() and DrawText().
Unreal Motion Graphics will soon provide awesome tools for creating animated in-game UIs.
Finally, the Game Mode contains your game’s state machine and game rules.
It also determines which Pawn, Controller and HUD classes are used by your game.
The Game Mode only exists on the server, because the server is the authority over what happens in the game.
Clients learn about the game state through another class, called the GameState.
The Game State forwards relevant details about the game to all clients.
There are some other important concepts you should know about.
The input system has support for a variety of input types, such as buttons, keys, analog controllers and mice.
All input is processed in a certain order.
This may affect the implementation of your game.
The Engine provides a variety of functions for collision testing.
We distinguish between simple and complex collsion.
Simple collision is very cheap and uses 3D primitives for overlap checking.
Complex collision is much more accurate, because it uses individual triangles, but it is also more expensive.
Finally, Replication is the Engine’s mechanism to ensure that all players in a multiplayer game share the same experience.
It is responsible for transferring game relevant data and events from the client to the server, and the server to all clients.
If you wish to learn more about Replication, make sure to check out our next talk in Room XYZ.
And here is a flow chart for the game framework classes.
The only class we have not discussed is the PlayerCameraManager.
It is part of the PlayerController and controls the movement of the player’s camera.
Make sure to check out our extensive documentation on the internet!