GithubHelp home page GithubHelp logo

aws-samples / nimblestudio-game-development-suite Goto Github PK

View Code? Open in Web Editor NEW
5.0 6.0 3.0 128 KB

Collection of CDK applications to deploy game development tools for use with Amazon Nimble Studio

License: MIT No Attribution

Python 82.92% PowerShell 1.21% Shell 15.47% Batchfile 0.40%
python3 nimble studio cdk-examples aws-cdk game-development perforce incredibuild jenkins

nimblestudio-game-development-suite's Introduction

Nimble Studio Game Development Suite

This repository is a collection of CDK applications to help you build and customize game development tools for use with your Amazon Nimble Studio.

The included applications consist of:

The architecture for the entire suite of applications deployed within a Nimble Studio is represented below:

Architecture

Demo Video

Amazon Nimble Studio for Games

Getting Started

Prerequisites

Nimble Studio

This project requires that you have already have an AWS Nimble Studio created, and is designed to work with the network configuration deployed by StudioBuilder.

Git
Python 3.x
AWS

Precaution

By deploying this project into an AWS account, it will exceed Free Tier. To avoid unnecessary charges, clean up the environment when you finish testing the project.

The majority of the AWS resource cost from these CDK applications will come from the running EC2 instances as depicted in the architecture diagram.

For more information on AWS resource costs and pricing estimations, visit the AWS Pricing page.

Setup

First, clone the repository to a local working directory:

git clone https://github.com/aws-samples/nimblestudio-game-development-suite

Navigate into the project directory:

cd nimblestudio-game-development-suite

This project is set up like a standard Python project. The initialization process also creates a virtualenv within this project, stored under the .venv directory. To create the virtualenv it assumes that there is a python3 (or python for Windows) executable in your path with access to the venv package. If for any reason the automatic creation of the virtualenv fails, you can create the virtualenv manually.

To manually create a virtualenv on MacOS and Linux:

python3 -m venv .venv

After the init process completes and the virtualenv is created, you can use the following step to activate your virtualenv.

source .venv/bin/activate

If you are a Windows platform, you would activate the virtualenv like this:

.venv\Scripts\activate.bat

Once the virtualenv is activated, you can install the required dependencies.

pip install -r requirements.txt

Modular Deployment

This repository consists of multiple CDK applications within individual directories. For synthesis and deployment, navigate into the directory for the application you wish to deploy, and follow the README instructions within that folder.

For example, to get started with deploying the Perforce CDK application:

cd nimble_studio_game_development_suite/nimble_studio_perforce_server

The proper deployment order for all applications is as follows:

  1. nimble_studio_perforce_server
  2. nimble_studio_build_farm
  3. nimble_studio_build_pipeline
  4. nimble_studio_license_server

Clean Up

The cdk destroy command is the fastest method to clean up resources created by CDK applications. You can run this command within the directory of the application intended to be cleaned up.

A common error that prevents deletion is 'X has dependencies'. If you see this kind of message, read error messages and delete resources manually before running destroy command again. You can also delete stacks in AWS Cloudformation console.

Destroy the CDK applications in the reverse order of deployment to best avoid dependency issues.

Security

See CONTRIBUTING for more information.

License

This library is licensed under the MIT-0 License. See the LICENSE file.

nimblestudio-game-development-suite's People

Contributors

amazon-auto avatar be-meyer avatar gdday avatar giordzaws avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.