Code Monkey home page Code Monkey logo

oxidizy's Introduction

github-pipeline gitlab-pipeline

Oxidizy

An ambitious project to mimic the smaller things in life.

This is how I learned rust.

The idea was to build a cli tool that can generate enough life, and sublife (neutrons, protons, electrons), that when you give the tool atomic weights, it can "generate" appropriate elements.

Now it uses Bevy and the amazing ECS system to constantly iterate and update atoms on the fly with new particles.

Another ambitious goal, would be to set up bonding logic to create water or other compounds.

The most difficult part will be setting up an electro-magnetic field. That is why we are starting with the simplest form of an electro magnetic field.

More to come ๐Ÿš€


cargo run --release <n>

Example Use:

$ ./scripts/rel.run.sh 30
+ cargo run -q --release 30
2022-03-04T01:33:07.274214Z  INFO bevy_render::renderer: AdapterInfo { name: "NVIDIA GeForce GTX 1660 Ti", vendor: 4318, device: 8578, device_type: DiscreteGpu, backend: Vulkan }
--------------------------------
Threads: 16
Building..
--------------------------------
Universe built
--------------------------------
Calculating charge of field..
--------------------------------
Field is Cationic
--------------------------------
Atoms: 27000
Baryons: 6372000
Quarks: 19116000
--------------------------------
Total objects in memory: 25515000
--------------------------------

...

2022-03-04T01:33:24.395275Z  INFO bevy diagnostic: frame_time  :    0.011610s (avg 0.012227s)
2022-03-04T01:33:24.395534Z  INFO bevy diagnostic: fps         :   82.042901  (avg 82.155862)
2022-03-04T01:33:24.395819Z  INFO bevy diagnostic: frame_count :  801.000000  (avg 801.0000)      
2022-03-04T01:33:25.388228Z  INFO bevy diagnostic: frame_time  :    0.012523s (avg 0.012366s)
2022-03-04T01:33:25.388604Z  INFO bevy diagnostic: fps         :   81.464006  (avg 81.372364)
2022-03-04T01:33:25.389062Z  INFO bevy diagnostic: frame_count :  882.000000  (avg 882.0000)      
2022-03-04T01:33:26.393287Z  INFO bevy diagnostic: frame_time  :    0.012117s (avg 0.012703s)
2022-03-04T01:33:26.393578Z  INFO bevy diagnostic: fps         :   81.429777  (avg 81.317298)
2022-03-04T01:33:26.393890Z  INFO bevy diagnostic: frame_count :  963.000000  (avg 963.000000)  

image

Sans UI

Bevy/ECS code is not tested. Still in beta and too many refactorings will take place over the next year or so.

However if you want to fill up a bunch of RAM and see how performant the builder::generate_universe is, you can run the generate script:

warning this used up 80% of my RAM and I have 32GB of RAM!

460 is cubed and then 118 default protons and neutrons are made per atom!

$ ./scripts/generate.sh 460
--------------------------------
Threads: 16
Building..
--------------------------------
Universe built
--------------------------------
Calculating charge of field..
--------------------------------
Field is Cationic
--------------------------------
Atoms: 97336000
Baryons: 22971296000
Quarks: 68913888000
--------------------------------
Total objects in memory: 91982520000
--------------------------------

real    0m9.096s
user    0m0.000s
sys     0m0.015s

Repos

Development Repo is on GitHub: https://github.com/selfup/oxidizy

Backup/Archive Repo is on GitLab: https://gitlab.com/selfup/oxidizy

oxidizy's People

Contributors

lemonlime339 avatar maryelizbeth avatar selfup avatar whereswald0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

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.