You are browsing as a guest. Sign up (or log in) to start making projects!

1h 10m 24s logged

Devlog 8


This will likely be the last devlog before my first ship.

File changes:

  • cli_display.rs: Removed hardcoded grid constants and added new input parameters for grid size. Experimented with different grid spacing but settled on a dot and space to one emoji (”. “).
  • inputs.rs: Added a new section for grid size selection. There are four choices for selection: Small, Medium, Large, and Custom. I had a little bug with Custom not properly working but that was quickly fixed.
  • main.rs: modified to accomodate variable and parameter changes of the 2 files above.

  • I checked error handling and the spacing of text as well. Everything should be properly handled
  • cargo-fmt & cargo clippy ran.
  • Fixed the old bug of inverted y cells; the problem was because of the way I collected line renders (I rendered the bottom of the grid up, but my string concatenation pushed the bottom lines to the top). To solve I just reversed the loop for the rows (y-value).
  • Plenty of comments
  • In the video attached, at 200ms per frame there is no screen stutter. The new way of displaying frames seems to be good.

Future:

  • After this I will update my project GitHub ReadMe and add binaries for Windows, Linux, and MacOS. Then I will add the playable link here.
  • After shipping, if the project passes, I will clean up the code and make the game replayable after all cell dies.
  • Next major modification would to progress to a TUI then a GUI with additional features.
  • Lots of ideas for this one!

Other:

  • Self contained Rust, no external crates.
  • Q: Why not GUI? A: I see lots of people on this platform have a GUI. However they are using an easy to use game engine, web render, and/or easy to use applications. Rust is mainly for backend and using Rust for frontend is a pain in the butt. I would have to learn eframe/egui and how to work with web-assembly and convert my code to be compiled that way. A TUI would be my next step. If the TUI works, I may consider an infinite grid project milestone and/or then proceed to do a Rust-based GUI.

  • Attached is the cell pattern known as “diehard”. It contains 7 initial starting cells and goes all the way to generation 129 before dying exacting on generation 130.

Feedback is welcome!

0
1

Comments 0

No comments yet. Be the first!