Unanswered Questions in Game Tech

Content language: English

Sort by most recent

Browse through the questions and answers listed below or filter and sort to narrow down your results.

  • 1
  • 2
  • 12 / page

[Guide] Building GameKit for arm64 (Unreal)

Prerequisites: * Check outtag v1.1.0 (https://github.com/aws/aws-gamekit/tree/v1.1.0) (this is the most recent tag that works with the Unreal plugin) * AWS C++ SDK must be using tag 1.9.185 Changes to build steps found in README.MD: 1. In all build steps where ```ANDROID_ABI=armeabi-v7a``` appears change it to ```ANDROID_ABI=arm64-v8a``` 2. In all build steps where ```ANDROID_API_LEVEL=24``` appears change it to ```ANDROID_API_LEVEL=X``` where ```X``` is the API level you want to build for (this step is only needed if you want to build for another API level). 3. For BOOST build, replace ```user-config.jam``` with the following: ``` import os ; local NDKRoot = [ os.environ NDKROOT ] ; local ClangBin = [ os.environ CLANGPATH ] ; local AndroidApiLevel = [ os.environ ANDROID_API_LEVEL ] ; using clang : arm64 : $(ClangBin)/aarch64-linux-android21-clang++.cmd : <cxxflags>-std=c++11 <archiver>$(NDKRoot)/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/bin/aarch64-linux-android-ar <ranlib>$(NDKRoot)/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/bin/aarch64-linux-android-ranlib ; ``` 4. And build with ```./b2 toolset=clang-arm64 target-os=android architecture=arm address-model=64 --without-python threading=multi link=static --layout=tagged variant=debug,release``` 5. In GameKit C++ codebase, open scripts\Android\regenerate_android_projects.bat and set ```ANDROID_ABI=arm64-v8a, DBoost_ARCHITECTURE="-a64"``` and ```ANDROID_API_LEVEL=X``` (API level change is only needed if you want to build for a different level) 6. Rebuild GameKit C++ with ```python scripts\aws_gamekit_cpp_build.py Android Release``` and copy the libraries to the Unreal plugin directory with python ```scripts\refresh_plugin.py —platform Android Release —unreal_plugin_path [Path to Unreal Project]\Plugins\AwsGameKit``` 7. Modify ```[Path to Unreal Project]\Plugins\AwsGameKit\Source\AwsGameKitCore\AwsGameKitCore.Build.cs``` to point to 64 bit versions of Boost libraries by changing lines 166-167 to ``` libs.Add("libboost_filesystem-mt-d-a64.a"); libs.Add("libboost_iostreams-mt-d-a64.a"); ``` and 172-173 to ``` libs.Add("libboost_filesystem-mt-a64.a"); libs.Add("libboost_iostreams-mt-a64.a"); ``` 8. In Unreal’s Project Settings enable Support for arm64 by navigating to Platforms/Android and clicking on “Support arm64 (aka arm64-v8a) 9. Package your game project for Android
0
answers
0
votes
51
views
asked 3 months ago

Amazon GameLift now supports AWS Local Zones

Hello GameLift Devs, Today, the GameLift team is excited to announce the general availability of AWS Local Zones. With this update, you can seamlessly provide gameplay experiences across 8 new AWS Local Zones in Chicago, Houston, Dallas, Kansas City, Denver, Atlanta, Los Angeles, and Phoenix. Along with the updated support for Local Zones, we are adding new instance types specifically supported in the various Local Zone Regions, including C5d and R5d instance types. Additionally we are adding support for the next generation [C6a](https://aws.amazon.com/ec2/instance-types/c6a/) and [C6i](https://aws.amazon.com/ec2/instance-types/c6i/) instance types. Amazon EC2 C6i instances are powered by 3rd Generation Intel Xeon Scalable processors and deliver up to 15% better price performance compared to C5 instances for a wide variety of workloads and are ideal for highly scalable multiplayer games. You can find updated pricing on the [GameLift pricing page](https://aws.amazon.com/gamelift/pricing/) as well as in the [AWS Pricing Calculator](https://calculator.aws/#/addService/GameLift). For more information, please refer to our [Release Notes](https://docs.aws.amazon.com/gamelift/latest/developerguide/release-notes.html#release-notes-summary) and [What’s New post](https://aws.amazon.com/about-aws/whats-new/2022/08/amazon-gamelift-supports-aws-local-zones/). Mark Choi, GameLift PM
0
answers
1
votes
66
views
asked 3 months ago

Building the AWS C++ SDK with CUSTOM_MEMORY_MANAGEMENT on fails unit tests

I am trying to build the AWS C++ SDK to use with the Unreal game engine. I have been using it for a while, however after recently updating my Unreal plugin with the latest SDK components, I ran into issues (crashes) because Unreal has its own custom memory management which does not seem compatible with the AWS SDK's. To resolve this I have tried to override AWS's memory manager with one compatible with Unreal, by implementing `Aws::Utils::Memory::MemorySystemInterface` and calling `Aws::Utils::Memory::InitializeAWSMemorySystem(AWSMemoryManager);` This, however, doesn't work unless the SDK has been built with the `CUSTOM_MEMORY_MANAGEMENT` flag. So, I went back to the SDK and tried to build it with custom memory management on with the following commands: ``` cmake.exe "../aws-sdk-cpp" -DCMAKE_BUILD_TYPE=Release -DBUILD_ONLY="core;firehose;cognito-identity" -DCUSTOM_MEMORY_MANAGEMENT=1 -DCPP_STANDARD=17 -DENABLE_UNITY_BUILD=1 MSBuild.exe ALL_BUILD.vcxproj -p:Configuration=Release ``` However, this seems to result in aws-core failing its unit tests. I get the following errors: ``` ...\AWS\sdk\aws-sdk-cpp\aws-cpp-sdk-core-tests\RunTests.cpp(40): error : Expected equality of these values: [...\AWS\sdk\membuild\aws-cpp-sdk-core-tests\aws-cpp-sdk-core-tests.vcxproj] memorySystem.GetCurrentOutstandingAllocations() Which is: 37 0ULL Which is: 0 ...\AWS\sdk\aws-sdk-cpp\aws-cpp-sdk-core-tests\RunTests.cpp(40): error : Expected equality of these values: [...\AWS\sdk\membuild\aws-cpp-sdk-core-tests\aws-cpp-sdk-core-tests.vcxproj] memorySystem.GetCurrentBytesAllocated() Which is: 3472 0ULL Which is: 0 ...\AWS\sdk\aws-sdk-cpp\aws-cpp-sdk-core-tests\RunTests.cpp(40): error : Value of: memorySystem.IsClean() [...\AWS\sdk\membuild\aws-cpp-sdk-core-tests\aws-cpp-sdk-core-tests.vcxproj] Actual: false Expected: true ``` Does anyone have any clue why these unit tests are failing and how I can go about resolving it?
0
answers
0
votes
36
views
JonJWD
asked 3 months ago

[Announcement] AWS announces support for Android, iOS, and MacOS games with AWS GameKit for Unreal Engine

AWS GameKit is now extended to support Android, iOS, and MacOS games developed with Unreal Engine. AWS GameKit, [launched on March 23, 2022](https://aws.amazon.com/about-aws/whats-new/2022/03/aws-gamekit-unreal-engine/), gives game developers a powerful tool set to quickly and easily build AWS powered game features directly from the Unreal Editor. With today's update, the AWS GameKit plugin for Unreal Engine now supports developers who are building games for Win 64, Android, iOS, and MacOS. Game developers can use the AWS GameKit plugin for Unreal Engine to integrate the following cloud-based game features: Identity and Authentication, Achievements, Game State Cloud Saving, and User Gameplay Data. With this release, these features can now be configured and packaged into games that run on mobile devices and PC. AWS GameKit includes complete solution for each game feature and an architecture design based on the [AWS Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/?wa-lens-whitepapers.sort-by=item.additionalFields.sortDate&wa-lens-whitepapers.sort-order=desc). Each feature comes with an AWS CloudFormation template for the backend architecture, plugin controls to manage the backend from the Unreal Editor, and sample C++ code and Blueprint assets to help you integrate the feature into your game. AWS CloudFormation templates provision all of the AWS resources needed to power each game feature and can be set up with just a few clicks and no prior experience with AWS tools and services. After the game backend is configured, simply add cloud-based feature functionality to the game client by calling the AWS GameKit API. AWS GameKit is a powerful tool set for game developers who want to self-manage a game's cloud resources. Each feature is fully customizable and runs in the developer's AWS account. Get started fast with the core AWS GameKit solutions, and customize and extend build to meet the needs of your game. AWS GameKit provides access to the source code to give visibility into each game feature and the ability to customize. With AWS GameKit, you can deploy backend services for your game to any of 17 AWS Regions, depending on resource availability for each of the game features. These AWS Regions include: US East (Ohio, N. Virginia), US West (Oregon, N. California), Canada (Central), South America (Sao Paulo), EU (Ireland, London, Paris, Frankfurt), Europe (Stockholm), Asia Pacific (Tokyo, Seoul, Mumbai, Singapore, Sydney), Middle East (Bahrain). Learn more and download AWS GameKit from the [AWS GameKit website](http://aws.amazon.com/gamekit) or our [GitHub Repository](https://github.com/aws/aws-gamekit-unreal/releases). Visit [AWS re:post](https://repost.aws/tags/TAtbJBs1j4Q76nb-HQavme0w/aws-game-kit) to reach out to us with any questions or share tips with other AWS GameKit users. Help us iterate and expand our game feature sets by sharing feedback and feature requests. If you are interested in joining the AWS GameKit interest list to receive latest news and updates, please [fill out this form](https://pages.awscloud.com/2022AWSGameKitInterestList_01-LandingPage.html) to stay up to date on announcements.
0
answers
1
votes
57
views
asked 7 months ago

[Announcement] AWS GameKit for Unreal Game Engine is now Generally Available

Today we are releasing AWS GameKit, a new solution that allows game developers to deploy and customize game backend features directly from Unreal Engine. AWS GameKit comes with AWS CloudFormation templates for each feature that follows AWS Solution Architect designs. AWS GameKit also comes with an integration code between the game backend features and Unreal Engine. AWS GameKit is for game developers looking to build AWS-powered game features directly from Unreal Engine with just a few clicks. With this release, developers have access to four game backend features: Identity and Authentication, Achievements, Game State Cloud Saving, and User Gameplay Data. AWS GameKit uses AWS CloudFormation templates to provision and connect all the necessary AWS resources together into a cohesive solution to power these features. Each feature follows the AWS well-architected framework to provide a secure, high-performing, resilient, and efficient infrastructure deployment that is fully customizable and runs in the developer's own AWS account. AWS GameKit also provides Unreal Engine Blueprints, C++ code, libraries, documentation, and sample UIs for each of the four game features. The provided AWS CloudFormation templates automatically configure cloud resources that allows game developers to programmatically apply AWS best practices with common abstractions. This leads to the rapid creation of cloud-connected game features without being an AWS expert. AWS GameKit can be used to deploy cloud-connected game backend features in 17 AWS Regions where applicable, dependent on feature requirement of available AWS primitives: US East (Ohio, N. Virginia), US West (Oregon, N. California), Canada (Central), South America (Sao Paulo), EU (Ireland, London, Paris, Frankfurt), Europe (Stockholm), Asia Pacific (Tokyo, Seoul, Mumbai, Singapore, Sydney), Middle East (Bahrain). Learn more and download AWS GameKit from the [AWS GameKit website](https://aws.amazon.com/gamekit/) or our [GitHub Repository](https://github.com/aws/aws-gamekit-unreal/releases).
0
answers
0
votes
41
views
asked 8 months ago

GameLift adds Osaka and FleetIQ now supports Graviton2-powered instances for better price performance

Hi Game Devs, Today, we are excited to announce an update to Amazon GameLift that increases coverage for developers and enhances seamless, low-latency gameplay experiences for players in Japan. This update adds Asia Pacific (Osaka) Region to GameLift and enables our game developer customers to place servers in their multi-region fleets closer to players’ actual regional locations in Japan with Asia Pacific (Osaka) and Asia Pacific (Tokyo) regions. We are also happy to introduce that GameLift FleetIQ now supports next-generation [AWS Graviton2 processors](https://aws.amazon.com/ec2/graviton/). You can now use Graviton2-hosted game servers, based on the Arm-based processor architecture, in FleetIQ to achieve increased performance at a lower cost when compared to the equivalent Intel-based compute options. To learn more about this update, please visit [our blog post](https://aws.amazon.com/blogs/gametech/now-available-new-asia-pacific-osaka-region-and-graviton2-support-for-amazon-gamelift/). In summary, this GameLift update will: * **Deliver lower player latency from increased global coverage.** Now with 23 regions with the launch of Osaka region, game developers can place players closest to where they are playing to ensure a smooth experience using GameLift’s multi-region fleet. * **Better performance at lower cost.** GameLift FleetIQ now supports Graviton2-powered instances, including c6g, m6g, r6g instance families. Available regions are Asia Pacific (Mumbai), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe (Ireland), Europe (London), South America (Sao Paolo), US East (N. Virginia), US East (Ohio), and US West (N. California), US West (Oregon). Best, Yi-Min GameLift Product Manager
0
answers
0
votes
11
views
asked a year ago

GameLift adds support for new rule type ‘BatchDistance’ in FlexMatch

Hello GameLift devs, Today, the GameLift team is excited to announce the launch of a new rule type called “BatchDistance”. When creating a rule set for FlexMatch matchmaking, this new rule type allows for a string or numeric attribute to be specified, giving you more flexibility and improving matchmaking quality for large matches (>40 players). There are also benefits to smaller matches (i.e., less than 40 players), with simplification of syntax. Previously, large match support in FlexMatch only allowed for balancing teams according to a single numeric attribute (with skill being the typical example). While this allowed for evenly-matched teams, your players could still end up in a match playing against players with varying skill variances. The following example demonstrates how this can happen: * You are creating a match where teams are balanced by “skill”, where GameLift would try to ensure that the “skill” of each team is as close as possible to each other. * Let’s say one team has two players with“skill” values of 1 and 99, and another has two players that have “skill” values of 49 and 51. In both cases, the two teams have an average skill value of 50, so they are evenly balanced. * This results in one team with a high variance in ability (i.e., the team with skill values of 1 and 99), while the other team has a very low variance, leading to a potential mismatch. Now, with this new rule type “batchDistance”, you have the ability to create a large match with players with similar attributes. For numeric attributes, you can also specify a “maxDistance”, where all formed batches will contain players where that attribute is within a certain distance of each other. So using the above example, if you set a maxDistance of 25, you would end up with matches that contain players will skill 0-25, 15-40, etc. There are many other ways the new batchDistance rule type can help you create higher quality, balanced matches: * For large matches (>40 players), you can also balance based on modes and maps. Ensure everyone in the match is in a skill band, band multiple numeric attributes like league or playstyle, and group according to string attributes like map or game mode. * For small matches (up to 40), you can use a simpler syntax to express certain common rules. * For both large and small matches, you can create expansions over time. For example, you can create an expansion to allow a greater skill level range to enter the match the longer the player is waiting. For more information, please refer to the following: [Release Notes](https://docs.aws.amazon.com/gamelift/latest/developerguide/release-notes.html) [FlexMatch Docs Update](https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-rules-reference.html) Mark Choi, GameLift PM
0
answers
0
votes
17
views
asked a year ago
  • 1
  • 2
  • 12 / page