Code Monkey home page Code Monkey logo

foxtrot's Introduction

Foxtrot

The all-in-one Bevy 3D game template.

Foxtrot in action

I created Foxtrot because I wanted to have a quick starting point for jams, prototypes and projects supporting features that I want to use in my games. Since the target audience is me, the code is not super well documented, but it should be good enough for others to find inspiration, copy parts they like or troubleshoot their own implementations :)

What does this template give you?

  • A 3D character controller
  • Physics via bevy_rapier
  • Audio via bevy_kira_audio
  • Pathfinding via bevy_pathmesh
  • bevy_editor_pls from the dev feature
  • Custom editor that can be opened with 'Q' from the dev feature
  • Saving / loading levels
  • Saving / loading the game state
  • Animations
  • A custom dialog system
  • Shaders
  • GLTF imports, including colliders and navmeshes
  • dynamic builds via the dynamic feature

Usage

Cloning the repo

Make sure you have Git LFS installed before cloning the repo, otherwise most runtime resources will be missing!

Running the game

Native:

cargo run

WASM (not fully functional yet, see #11):

trunk serve --no-default-features --features core,dev,wasm

Building in general requires setting up LLD or ZLD as described in the Bevy book. Don't worry, it's super easy:

  • Ubuntu: sudo apt-get install lld

  • Arch: sudo pacman -S lld

  • Windows: Ensure you have the latest cargo-binutils

    cargo install -f cargo-binutils
    rustup component add llvm-tools-preview
  • MacOS: Modern LLD does not yet support MacOS, but we can use zld instead: brew install michaeleisel/zld/zld

Building WASM requires trunk:

cargo install --locked trunk

Updating assets

You should keep the credits directory up to date. The release workflow automatically includes the directory in every build.

Updating the icons

  1. Replace build/windows/icon.ico (used for windows executable and as favicon for the web-builds)
  2. Replace build/macos/icon_1024x1024.png with a 1024 times 1024 pixel png icon and run create_icns.sh (make sure to run the script inside the macos directory) - Warning: sadly this seems to require a mac...

foxtrot's People

Contributors

phaestusfox avatar

Watchers

 avatar

foxtrot's Issues

Recreate project

Hi! I've noticed that people that used Foxtrot as a template instead of forking it had issues with the LFS assets, so i put them into git now. This means you'll have a working repo if delete this repo and recreate it by clicking on use this template.
Have fun! :)

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.