mirror of
https://github.com/lisk77/comet.git
synced 2025-10-23 21:38:50 +00:00
update README
This commit is contained in:
parent
80a62ab2b3
commit
328e1075b8
1 changed files with 44 additions and 73 deletions
117
README.md
117
README.md
|
@ -4,9 +4,9 @@ a free and open source games framework
|
|||
> [!WARNING]
|
||||
> This project is in early development and is not yet ready for use.
|
||||
>
|
||||
> It could be potentially used to make something very basic in a very hacky way but it is not a good experience
|
||||
> It could be potentially used to make something very basic in a very hacky way, but it is not a good experience
|
||||
>
|
||||
> Installation is manual as of right now but if it reaches an exaptable state I will publish the crate
|
||||
> Installation is manual as of right now but if it reaches an acceptable state I will publish the crate
|
||||
|
||||
## Recommended setup
|
||||
|
||||
|
@ -26,10 +26,10 @@ project
|
|||
```
|
||||
|
||||
```toml
|
||||
# Cargo.toml
|
||||
# Cargo.toml
|
||||
# ...
|
||||
[dependencies]
|
||||
comet = { path = "crates/comet" }
|
||||
comet = { path = "path/of/the/comet/crate" }
|
||||
# ...
|
||||
```
|
||||
|
||||
|
@ -40,9 +40,9 @@ use comet::prelude::*;
|
|||
struct GameState {}
|
||||
|
||||
impl GameState {
|
||||
pub fn new() -> Self {
|
||||
Self {}
|
||||
}
|
||||
pub fn new() -> Self {
|
||||
Self {}
|
||||
}
|
||||
}
|
||||
|
||||
// This function will be called once before the event loop starts
|
||||
|
@ -50,14 +50,14 @@ fn setup(app: &mut App, renderer: &mut Renderer2D) {}
|
|||
// This function will be called every tick
|
||||
fn update(app: &mut App, renderer: &mut Renderer2D, dt: f32) {}
|
||||
|
||||
fn main() {
|
||||
App::new() // Generate a basic 2D app
|
||||
.with_preset(App2D) // Pre-registers the `Transform2D` component in the world
|
||||
.with_title("Comet App") // Sets the window title
|
||||
.with_icon(r"resources/textures/comet_icon.png") // Sets the window icon
|
||||
.with_size(1920, 1080) // Sets the window size
|
||||
.with_game_state(GameState::new()) // Adds a custom game state struct
|
||||
.run::<Renderer2D>(setup, update) // Starts app
|
||||
fn main() {
|
||||
App::new() // Generate a basic 2D app
|
||||
.with_preset(App2D) // Pre-registers the `Transform2D` component in the world
|
||||
.with_title("Comet App") // Sets the window title
|
||||
.with_icon(r"resources/textures/comet_icon.png") // Sets the window icon
|
||||
.with_size(1920, 1080) // Sets the window size
|
||||
.with_game_state(GameState::new()) // Adds a custom game state struct
|
||||
.run::<Renderer2D>(setup, update) // Starts app with the given
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -70,65 +70,32 @@ use fs_extra::dir::CopyOptions;
|
|||
use std::env;
|
||||
|
||||
fn main() -> Result<()> {
|
||||
println!("cargo:rerun-if-changed=resources/textures/*");
|
||||
println!("cargo:rerun-if-changed=resources/shaders/*");
|
||||
println!("cargo:rerun-if-changed=resources/textures/*");
|
||||
println!("cargo:rerun-if-changed=resources/shaders/*");
|
||||
|
||||
let out_dir = env::var("OUT_DIR")?;
|
||||
let mut copy_options = CopyOptions::new();
|
||||
copy_options.overwrite = true;
|
||||
let mut paths_to_copy = Vec::new();
|
||||
paths_to_copy.push("resources/textures/");
|
||||
paths_to_copy.push("resources/shaders/");
|
||||
let out_dir = env::var("OUT_DIR")?;
|
||||
let mut copy_options = CopyOptions::new();
|
||||
copy_options.overwrite = true;
|
||||
let mut paths_to_copy = Vec::new();
|
||||
paths_to_copy.push("resources/textures/");
|
||||
paths_to_copy.push("resources/shaders/");
|
||||
|
||||
copy_items(&paths_to_copy, out_dir, ©_options)?;
|
||||
copy_items(&paths_to_copy, out_dir, ©_options)?;
|
||||
|
||||
Ok(())
|
||||
Ok(())
|
||||
}
|
||||
```
|
||||
|
||||
## Todo
|
||||
(not ordered by importance)
|
||||
|
||||
- [x] Fixed update steps (60 updates per second right now)
|
||||
- [ ] Rendering
|
||||
- [x] 2D
|
||||
- [x] Textures
|
||||
- [ ] 3D
|
||||
- [ ] Meshes
|
||||
- [ ] Normal maps
|
||||
- [x] Texture Atlas
|
||||
- [x] Shaders
|
||||
- [ ] Materials
|
||||
- [ ] Text
|
||||
- [ ] Particles
|
||||
- [ ] Animations
|
||||
- [ ] Lighting
|
||||
- [ ] UI
|
||||
- [ ] Buttons
|
||||
- [ ] Input
|
||||
- [ ] Post-processing
|
||||
- [ ] Multiple render passes
|
||||
- [ ] Individual effects
|
||||
- [ ] Sound
|
||||
- [ ] Input
|
||||
- [ ] Universal input manager
|
||||
- [x] Keyboard
|
||||
- [x] Mouse
|
||||
- [ ] Gamepad
|
||||
- [x] ECS
|
||||
- [x] Components
|
||||
- [x] Entities
|
||||
- [x] Archetypes
|
||||
- [x] World
|
||||
- [ ] Scene
|
||||
- [ ] loading
|
||||
- [ ] saving
|
||||
- [ ] Physics
|
||||
- [ ] (out of the box) Rendering
|
||||
- [ ] 2D
|
||||
- [x] texture rendering
|
||||
- [x] world rendering
|
||||
- [ ] 3D
|
||||
- [x] Plugin System (at least right now)
|
||||
- [x] Adding custom game state struct
|
||||
- [x] Adding custom renderer
|
||||
- [ ] Particles
|
||||
- [ ] Post-processing
|
||||
- [ ] Math
|
||||
- [x] Vectors
|
||||
- [x] Matrices
|
||||
|
@ -137,14 +104,18 @@ fn main() -> Result<()> {
|
|||
- [ ] Bezier curves
|
||||
- [x] Easing functions
|
||||
- [ ] Noise
|
||||
- [ ] White
|
||||
- [ ] Perlin
|
||||
- [ ] Simplex
|
||||
- [ ] Worley
|
||||
- [ ] Fractal
|
||||
- [ ] Cellular
|
||||
- [ ] Gradient
|
||||
- [ ] Value
|
||||
- [ ] Cubic
|
||||
- [ ] Ray-casting
|
||||
- [ ] Pathfinding
|
||||
- [ ] Pathfinding
|
||||
- [ ] ECS
|
||||
- [x] Components
|
||||
- [x] Entities
|
||||
- [x] Archetypes
|
||||
- [ ] World
|
||||
- [x] general management
|
||||
- [ ] saving
|
||||
- [ ] loading
|
||||
- [ ] Input
|
||||
- [ ] Sound
|
||||
- [ ] Physics
|
||||
- [x] Basic Plugin System
|
||||
- [x] Custom Renderer
|
Loading…
Add table
Add a link
Reference in a new issue