dixe/game-in-rust

A game in rust to learn rust and some opengl

Still cargo run to run executable, this main program watches over changes in

Game-in-rust

How to run

Simple

  • Build: cargo build
  • Run cargo run

With hot reload

Still cargo run to run executable, this main program watches over changes in the ai crate. Making changes and build with cargo build in the ai crate will automaticly be loaded into the running executable.

Source

Based on the tutorial/walkthrough http://nercury.github.io/rust/opengl/tutorial/2018/02/08/opengl-in-rust-from-scratch-00-setup.html

Tasks

  • Shots collision should also rotate
  • Cool down on shots
  • Enemy Shooting at player
  • Enemies collide with each other
  • Be able to load models
  • Take console input while running.
  • Change shaders on the fly, with notify and recompile of shaders
  • Load .obj models
  • Sword follow player
  • Sword rotation is correct
  • Sword Swing animation
  • Trigger animation/action on controllerInput
  • Sword collision, based on its location
  • Complex model
  • Player/entity/action state. Some actions has to finishe before new input is valid
  • Sword animation only when attacking state
  • render of collision boxes
  • third person follow cam
  • camera rotate around player, ie. if distance less then follow_len don't update camera pos.
  • return weapon anchor model-plane along with models, if existing
  • Use weapon achor to get normal (weapon dir) and position in animation, use to generate an action that can be used for render and hitbox
  • load collada with textures
  • Run animation
  • Idle animation
  • blender model as player model
  • Play run when moving and idle when not
  • Smooth transition between animations
  • load weapon and achor to weapon bone
  • load hitbox from blender models
  • Follow up/combo attack animations
  • properties on animation, like when the attack is active, when a follow up can be triggered and more
  • Implement root motion. So rolling and attack can be animated with movement. Maybe also walk
  • Reimplement collision, but not impulse, jeg regular.
  • Move most of data from game Context into scenes. Game context should be stuff like window, current scene, inputs. But entities, models, shaders, animaiton, action, and more should be in scene. This also makes reloading scene, fx when .glb files are written easier
  • Have base animaiton, and have weapon just overwrite the onces they have. Fx all should use same dodge, and maybe also idle
  • Rework camera to behave like ashen, when player walks towads is. Camera should keep a minumums distance and not pivot around
  • World collision using the terrain triangles.
  • Walk downhill
  • Improve root motion, so that it follows the animaiton better. The roll/flip has smooth camera motion, but player is stationatry for the last 10 framees
  • Enemy weapon, first with hammeer
  • Enemy ai to hit player
  • register hits, both from and to player. Only register once pr swing/attack
  • Lockon camera
  • Ik create current and next target/pole dependent on the char movement. This way we can start to transition to next target when the current target is not longer reachable for the foot. ie. we move too far past it
  • Render Ik current and next target
  • left and right leg should move one at a time
  • Ai in dll's dynamic, to update on the fly

New models

Weapon

fx a hammer

  • Model with name "hammer" all lower case, and inner model name "model"
  • Hitbox objects that are child of "hammer" model: "hammer_hitbox_01", "hammer_hitbox_02" both model name and mesh data name
  • weapons gets grapped at world origin 0,0,0

Cool stuff

distortion shader fx https://lindenreid.wordpress.com/2018/03/05/heat-distortion-shader-tutorial/#:~:text=The%20basic%20premise%20of%20the,uses%20to%20sample%20that%20texture.

future improvments/ challanges

  • Hitboxes from bones/some bones. fx arms and legs

Information - Updated Dec 07, 2021

Stars: 0
Forks: 0
Issues: 0

Repositories & Extras

Arsenal 2D retro Rust Game engine

Katharos Technology is focused on producing our first game prototype, bevy game engine and our own Katharos...

Arsenal 2D retro Rust Game engine

Grumpy Visitors 2D Rust game for code reference and learning

Grumpy Visitors is a top-down 2D action arcade game

Grumpy Visitors 2D Rust game for code reference and learning

Rust Game Remake

Remake in rust of a game I made during the here

Rust Game Remake

A 3d rust game using OpenGl and Emscripten to build for the wasm32-unknown-emscripten

It can also run standalone, developed and tested on Linux but will

A 3d rust game using OpenGl and Emscripten to build for the wasm32-unknown-emscripten

Rust Game of Life

This is a simulator of Conway's Game of Life in Rust, using SDL2 to render the game graphically

Rust Game of Life

INOX - Rust Game engine integrated in Blender

It's a Game Engine written in Rust with some bindings for external libs and with Blender as editor

INOX - Rust Game engine integrated in Blender

Rust GameBoy Advanced Emulator

Building this project on linux requires cmake and gtk3

Rust GameBoy Advanced Emulator

A Rust Game Engine

In an effort to learn the Rust language (because I am a nut), I am building a game engine

A Rust Game Engine

A Rust GameBoy emulator!

TetrisZelda: Link's Awakening

A Rust GameBoy emulator!

Another Rust game engine

It's started as a rust version of the tutorial from

Another Rust game engine
Facebook Instagram Twitter GitHub Dribbble
Privacy