Code Monkey home page Code Monkey logo

tsc's Introduction

O3DE (Open 3D Engine)

O3DE (Open 3D Engine) is an open-source, real-time, multi-platform 3D engine that enables developers and content creators to build AAA games, cinema-quality 3D worlds, and high-fidelity simulations without any fees or commercial obligations.

Contribute

For information about contributing to Open 3D Engine, visit https://o3de.org/docs/contributing/.

Download and Install

This repository uses Git LFS for storing large binary files.

Verify you have Git LFS installed by running the following command to print the version number.

git lfs --version 

If Git LFS is not installed, download and run the installer from: https://git-lfs.github.com/.

Install Git LFS hooks

git lfs install

Clone the repository

git clone https://github.com/o3de/o3de.git

Building the Engine

Build requirements and redistributables

For the latest details and system requirements, refer to System Requirements in the documentation.

Windows

Optional

  • Wwise audio SDK
    • For the latest version requirements and setup instructions, refer to the Wwise Audio Engine Gem reference in the documentation.

Quick start engine setup

To set up a project-centric source engine, complete the following steps. For other build options, refer to Setting up O3DE from GitHub in the documentation.

  1. Create a writable folder to cache downloadable third-party packages. You can also use this to store other redistributable SDKs.

  2. Install the following redistributables:

    • Visual Studio and VC++ redistributable can be installed to any location.
    • CMake can be installed to any location, as long as it's available in the system path.
  3. Configure the engine source into a solution using this command line, replacing <your build path>, <your source path>, and <3rdParty package path> with the paths you've created:

    cmake -B <your build path> -S <your source path> -G "Visual Studio 16" -DLY_3RDPARTY_PATH=<3rdParty package path>
    

    Example:

    cmake -B C:\o3de\build\windows -S C:\o3de -G "Visual Studio 16" -DLY_3RDPARTY_PATH=C:\o3de-packages
    

    Note: Do not use trailing slashes for the <3rdParty package path>.

  4. Alternatively, you can do this through the CMake GUI:

    1. Start cmake-gui.exe.
    2. Select the local path of the repo under "Where is the source code".
    3. Select a path where to build binaries under "Where to build the binaries".
    4. Click Add Entry and add a cache entry for the <3rdParty package path> folder you created, using the following values:
      1. Name: LY_3RDPARTY_PATH
      2. Type: STRING
      3. Value: <3rdParty package path>
    5. Click Configure.
    6. Wait for the key values to populate. Update or add any additional fields that are needed for your project.
    7. Click Generate.
  5. Register the engine with this command:

    scripts\o3de.bat register --this-engine
    
  6. The configuration of the solution is complete. You are now ready to create a project and build the engine.

For more details on the steps above, refer to Setting up O3DE from GitHub in the documentation.

Setting up new projects and building the engine

  1. From the O3DE repo folder, set up a new project using the o3de create-project command.

    scripts\o3de.bat create-project --project-path <your new project path>
    
  2. Configure a solution for your project.

    cmake -B <your project build path> -S <your new project source path> -G "Visual Studio 16"
    

    Example:

    cmake -B C:\my-project\build\windows -S C:\my-project -G "Visual Studio 16"
    

    Note: Do not use trailing slashes for the <3rdParty cache path>.

  3. Build the project, Asset Processor, and Editor to binaries by running this command inside your project:

    cmake --build <your project build path> --target <New Project Name>.GameLauncher Editor --config profile -- /m
    

    Note: Your project name used in the build target is the same as the directory name of your project.

This will compile after some time and binaries will be available in the project build path you've specified, under bin/profile.

For a complete tutorial on project configuration, see Creating Projects Using the Command Line Interface in the documentation.

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

License

For terms please see the LICENSE*.TXT files at the root of this distribution.

tsc's People

Contributors

jeremyong-az avatar lawsonamzn avatar obwando avatar roddiekieley avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tsc's Issues

TSC Co-Chair Nominations Ongoing (ends 2022-06-10)

Co-chair Role

The TSC currently does not have an assigned co-chair, who once elected, would have the following responsibilities:

  • Assumes chairperson role if the chairperson abdicates or is absent
  • Assists in the oversight of the Technical Steering Committee described in this charter

Nomination

Community members and partners may nominate themselves or other individuals. In either case, the nomination, once accepted, should ideally be accompanied by:

  • An introduction including name, Discord username, and background
  • Acknowledgement of the role and responsibilities
  • A statement about the individual's goals with respect to the project and/or community

Nomination requirements

All nominees must be current members of the TSC.

Election

The election period will begin the week following the nomination period (starting June 30 2022) and the vote will be held among members of the TSC subject to existing rules regarding voting quorum.

TSC Agenda 2021-11-09

TSC Meeting Details

  • Date/time: 2021-11-09 @ 3PM UTC
  • Location: Discord tac-tsc voice channel

TSC Updates

  • Creation of this repo

Agenda

  • Release cadence/process
  • PR/RFC process evaluation
  • Roadmap and "state-of-the-engine" communication

Time Permitting

  • General discussion on barriers of contribution and adoption
  • Formation of new cross-cutting performance SIG

Content category clarification + Code/API label refinement

Filing an issue for @OBWANDO

At the TSC meeting two items of discussion were seeking some clarity around the Content and Code/API categories (notes. The original agenda topic is here.

We came up with an alternative set of labels for the Code/API section to consider, and also reached consensus on a clearer articulation for the "Content" category

TSC Agenda 2022-01-04

TSC Meeting Details

Date/time: 2022-01-04 @ 3PM UTC (8am Pacific)
Location: Discord tac-tsc voice channel

TSC Agenda

  • 3rd party software package approval/ingestion (@lawsonamzn )

TSC Agenda 2021-12-14

TSC Meeting Details

Date/time: 2021-12-14 @ 3PM UTC (8am Pacific)
Location: Discord tac-tsc voice channel

TSC Agenda

TSC Agenda 2022-01-18

TSC Meeting Details

Date/time: 2022-01-18 @ 3PM UTC (8am Pacific)
Location: Discord tac-tsc voice channel

TSC Agenda 2022-02-22

TSC Meeting Details

Date/time: 2022-02-22 @ 3PM UTC (8am Pacific)
Location: Discord tac-tsc voice channel

Reply with a comment below to add items to the agenda

TSC Agenda 2022-02-08

TSC Meeting Details

Date/time: 2022-02-08 @ 3PM UTC (8am Pacific)
Location: Discord tac-tsc voice channel

Reply with a comment below to add items to the agenda

TSC Agenda 2021-12-07

TSC Meeting Details

Date/time: 2021-12-07 @ 3PM UTC (8am Pacific)
Location: Discord tac-tsc voice channel

TSC Updates

TSC Agenda

  • Consider relaxing two-merge constraint for first-term SIG chair elections (@OBWANDO)
  • What is sig-ops? Should we have a sig-ops? What would it do? (@lmbr-pip)
  • Sig-release does not yet know whether we are date-based releases, or feature-based-releases... Do we have an official definition of 'done' for a feature? (@Ulrick28)

TSC Agenda 2022-01-11

TSC Meeting Details

Date/time: 2022-01-11 @ 3PM UTC (8am Pacific)
Location: Discord tac-tsc voice channel

TSC Agenda 2022-02-15

TSC Meeting Details

Date/time: 2022-02-15 @ 3PM UTC (8am Pacific)
Location: Discord tac-tsc voice channel

Reply with a comment below to add items to the agenda

TSC Agenda 2022-01-25

TSC Meeting Details

Date/time: 2022-01-25 @ 3PM UTC (8am Pacific)
Location: Discord tac-tsc voice channel

Joint SIG::TSC Agenda 2022/04/26

Joint SIG::TSC Meeting Details

Date/time: 2022-04-26 @ 8am Pacific (Timezone Converter)
Location: Discord tac-tsc voice channel

  • RFC process feedback: What issues are you seeing with the process so far, and what would you like to see changed?
  • Meetings: Are your weekly/monthly meetings productive/useful?
  • Cross-cutting problems: How are we coordinating across SIGs? Are there any pressing cross-cutting issues we should focus more on?
  • Feature grid: Status up date on feature grid update progress (ideally by this meeting time most Sigs will have finalized their initial drafts for submission to the o3de/community repo)
  • Deprecation policy: Do members of your SIG have opinions or thoughts about how a deprecation policy would work with our current release cadence (slated 6 months)?

Request to publish SIG Issue Triage Guide

I'd like to publish the below SIG Issue Triage Guide, which outlines and standardizes the process SIGs should use to triage GitHub issues into their backlogs. This guide was initially published internally at Amazon with an open source perspective, and all SIGs are currently following the process outlined. I'd like to move this guide to an accessible location for all contributors to follow.

SIG Issue Triage Guide.pdf

TSC Agenda 2022-03-08

TSC Meeting Details

Date/time: 2022-03-08 @ 4PM UTC (8am Pacific)
Location: Discord tac-tsc voice channel

Reply with a comment below to add items to the agenda

TSC Agenda 2022/05/10

TSC Meeting Details

Date/time: 2022-05-10 @ 8am Pacific (Timezone Converter)
Location: Discord tac-tsc voice channel

  • RFC process change to index sig RFCs in the RFC repo
  • recast-navigation approval

TSC Agenda 2022/05/31

TSC Meeting Details

Date/time: 2022-05-31 @ 8am Pacific (Timezone Converter)
Location: Discord tac-tsc voice channel

This meeting occurrence will be run by @OBWANDO acting as interim co-chair until a co-chair is elected (Jeremy OoO)

Joint TSC : SIG Agenda 2022-03-29

TSC Meeting Details

Date/time: 2022-03-29 @ 8am Pacific (Timezone Converter)
Location: Discord tac-tsc voice channel

Tentative agenda

  • Direction: What are the top priorities for your SIG? What would you like to accomplish in 2022?
  • Upcoming Release: Questions to be presented by Sig-Release
  • RFC process feedback: What issues are you seeing with the process so far, and what would you like to see changed?
  • Cross-cutting problems: How are we coordinating across SIGs? Are there any pressing cross-cutting issues we should focus more on?
  • Feature grid: Status up date on feature grid update progress (ideally by this meeting time most Sigs will have finalized their initial drafts for submission to the o3de/community repo)
  • Deprecation policy: Do members of your SIG have opinions or thoughts about how a deprecation policy would work with our current release cadence (slated 6 months)?

Reply with a comment below to add items to the agenda.

TSC Agenda 2022-03-01

TSC Meeting Details

Date/time: 2022-03-01 @ 3PM UTC (8am Pacific)
Location: Discord tac-tsc voice channel

Reply with a comment below to add items to the agenda

Request to create a Task template in o3de/o3de

There are currently 117 issues in o3de/o3de with neither a SIG label nor a triage label. Due to this, these issues are currently not funneling through the cross-sig and SIG triage process, and are not visible in any SIG's backlog. This opens us to risk of issues slipping through the cracks. The vast majority of these issues were created with a blank issue template (vs. the bug or feature request template). We could reduce risk by creating a separate Task template that automatically adds the needs-triage and needs-sig labels, and disabling the ability to select "Open a Blank issue."

TSC Agenda 2021-11-16

TSC Meeting Details

  • Date/time: 2021-11-16 @ 3PM UTC
  • Location: Discord tac-tsc voice channel

TSC Updates

  • Active discussion thread: o3de/community#103
  • O3DE release versioning scheme (date-based)

Agenda

  • Roadmap and "state-of-the-engine" communication
  • Performance SIG formation (assignment of author for the charter)

Non-core repos / AR / release

I would like to discuss the changes coming for AR to include code outside the core repo, ie. the o3de-extras for now, but potentially others in the future. I want to see if the TSC, build/release sigs have any objections or concerns about the implementation.

The plan is that this will not effect the current release, but will the next release. I'd like release to voice any concerns, point out any official procedures that will need modification, etc. It is my plan that any non-core repo, like o3de-extras, that functions are part of the engine goes through the exact same process as o3de during a release; So we will create a stabilization branch on o3de-extras in conjunction with o3de and follow the same rules about bug fixes and features during the stabilization, etc. The scripts that run AR MAY need to be altered for the stabilization, I'm not sure, that's something I want to talk about.

I also want to build awareness around the changes that are coming.

Request to create sig-assets

Below is a proposed charter to give some idea of what sig-assets would be responsible for. I am primarily looking for the go ahead from the TSC to 1) If we should continue work on forming the sig 2) If the TSC agrees this sig should be created, what are the next steps in getting the sig formally created and approved? If the TSC agrees for the sig to move forward, I will create a PR in the community repo for people to review and suggest changes to the charter.

SIG-Assets Charter

This charter adheres to the Roles and Organization Management specified by the O3DE Foundation. Team information may be found in the README.

Overview of SIG

Sig-Assets oversees the acquisition, storage, and maintenance of O3DE org sanctioned open source licensed assets that can be freely used by the community. Assets can consist of images, sounds, scripts (Lua/ScriptCanvas), 3D models, animations, shaders, levels, terrain, engine demos, and other projects (game jams, feature demos, etc). This sig’s responsibilities include:

  • Creating mechanisms and guidelines for contributing open source assets, asset gems, and engine demonstration projects
  • Managing asset related GitHub repositories and LFS that stores the files
  • Determining if any particular asset or asset creation proposal meets the bar to be included on O3DE asset repositories

Goals

  • Ensure any assets that exist in a repo managed by the sig use an appropriate open source license.
  • Review and contribute to asset/content/demo roadmaps
  • Review asset/demo/content related RFCs and PRs
  • Ensure timely and frequent communication of asset activities (including Discord, sig meetings, triage, PR review, RFCs, etc.)
  • Provide support to community for asset contribution
  • Encourage community contribution of assets
  • Work with Sig-Docs-Community and Sig-Release on timing and deliverables of assets
  • Work with all sigs on availability of assets for a sig’s specific needs
  • Set the quality bar for what can be contributed to official O3DE repositories.
  • Ensure that storage of assets stays within allocated budgets

Scope

  • Assets such as Models and Meshes, Animations, Skeletal Rigs, Pregenerated Terrain, Textures, Audio, Shaders, Particle Effects, Levels, Asset Gems, Scripts (Lua/ScriptCanvas), Lighting, Camera rigs. Note this is not an exhaustive list of all available asset types. The sig will be responsible for determining and regularly reviewing what assets qualify for inclusion on the repositories.
  • Runtime demos with full source and assets (ie a starter game, graphical demos, high quality game jam projects)

Cross-cutting Processes

  • Work with Sig-Docs-Community and sig-release on timing and deliverables of assets
  • Work with all sigs on availability of assets for a sig’s specific needs
  • Work with feature sigs to determine asset deprecation plans when assets are no longer compatible with the engine.

Out of Scope

  • Maintaining compatibility with the current version of the engine, though we will report when this is not the case and remove/deprecate assets that do not have an update plan.
  • Resolving issues with a particular asset. We will report issues, but are not responsible for addressing them beyond removing or deprecating the asset.

SIG Links and Lists

Roles and Organization Management

SIG Assets adheres to the standards for roles and organization management as specified by the O3DE Foundation. This SIG opts in to updates and modifications to the Foundation's guidance.

TSC Agenda 2022-02-01

TSC Meeting Details

Date/time: 2022-02-01 @ 3PM UTC (8am Pacific)
Location: Discord tac-tsc voice channel

Reply with a comment below to add items to the agenda

Request to publish TSC membership

Had a legacy issue in SIG/community to "List TSC Membership" - o3de/community#65

  • No requirements here, but passing over for TSC to decide (couldn't just move issue due to permissions), so request is not from me but legacy request from time O3DE was first being setup as open source.
  • Am closing out the community request as its not the right place (nor could) deliver this request.

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.