26 Commits

Author SHA1 Message Date
Sam
6f9e1e84f0 Refactor HUD to support dynamic panel resizing and improve layout management 2025-06-19 16:52:38 -05:00
Sam
c7ca35f296 Implement FlexibleNeuralNetwork and enhance CellBrain with input normalization and neural network integration 2025-06-16 15:19:32 -05:00
Sam
26f166ebee refactored a lot of stuff into different files and generally fixed force application. 2025-06-15 23:44:50 -05:00
Sam
f0576e52d6 Add rotation and behavioral model to entities, implement DefaultCell entity
Some checks failed
Build Simulation and Test / Run All Tests (push) Failing after 35s
2025-06-14 17:30:31 -05:00
Sam
81128c16c8 Fix import
All checks were successful
Build Simulation and Test / Run All Tests (push) Successful in 32s
2025-06-09 17:13:27 -05:00
Sam
a64e705731 Add TestVelocityObject to simulate moving entities in the world
All checks were successful
Build Simulation and Test / Run All Tests (push) Successful in 2m13s
2025-06-07 22:58:18 -05:00
Sam
ac08ecbc27 Disable food spawning in the simulation
All checks were successful
Build Simulation and Test / Run All Tests (push) Successful in 3m13s
2025-06-06 15:02:48 -05:00
Sam
c0479cdcf2 Add key binding for Shift to double TPS during testing
All checks were successful
Build Simulation and Test / Run All Tests (push) Successful in 27s
2025-06-04 20:45:43 -05:00
Sam
15cf494c20 The debug interaction radius visualization now only displays on selected objects when at least one object is selected. The TPS can now also be doubled by holding shift.
Some checks failed
Build Simulation and Test / Run All Tests (push) Has been cancelled
2025-06-04 20:45:25 -05:00
Sam
d93cddcb6e Remove debug render objects.
All checks were successful
Build Simulation and Test / Run All Tests (push) Successful in 2m46s
2025-06-04 20:32:25 -05:00
a1b39f2484 togglable initial FoodObject spawn
All checks were successful
Build Simulation and Test / Run All Tests (push) Successful in 32s
2025-06-03 22:31:20 -05:00
4e05a62274 Food now grows, the chance to graw is dependent on the decay rate. The lower the decay rate, the higher the chance to grow. This helps keep the food from growing exponentially. 2025-06-03 22:25:41 -05:00
Sam
0202fe59a5 Add legend visibility toggle and pause functionality to simulation
All checks were successful
Build Simulation and Test / Run All Tests (push) Successful in 31s
2025-06-03 20:35:53 -05:00
Sam
dad79942c2 Enhance World initialization with size parameters and adjust food spawning range
All checks were successful
Build Simulation and Test / Run All Tests (push) Successful in 27s
2025-06-03 20:10:22 -05:00
Sam
f0e00d66b6 Add interaction radius visibility toggle and render circles for interactable objects
All checks were successful
Build Simulation and Test / Run All Tests (push) Successful in 29s
2025-06-03 20:03:27 -05:00
Sam
3a4301f7cb Refactor Camera and Entity classes for improved type hinting and documentation using typing and pydantic.
All checks were successful
Build Simulation and Test / Run All Tests (push) Successful in 34s
2025-06-03 19:47:39 -05:00
Sam
9e3c34fd3e Enable food spawning and ensure selected objects remain valid during ticks
All checks were successful
Build Simulation and Test / Run All Tests (push) Successful in 40s
2025-06-03 19:29:37 -05:00
5eb2079da1 food work :3
All checks were successful
Build Simulation and Test / Run All Tests (push) Successful in 2m18s
2025-06-03 19:25:54 -05:00
da355dbc6c Merge branch 'food'
# Conflicts:
#	main.py
#	world/render_objects.py
2025-06-03 18:46:47 -05:00
Sam
b80a5afc4a Added camera stabilization, moved the Camera class into its own file, normalized the diagonal camera vector, added a select and multi-select feature, added an inspect feature, changed the world class to use spatial hashing for better storage, changed the world class to use a double buffer to swap states when ticking, added death and interaction flags, added world class object queries, added an abstract base class for a basic entity that should be inherited by all object classes, added a max_visual_width parameter to said base class for selection clarity that should be set by all new entity/object classes, and added a basic interaction framework with an interaction radius parameter. When an object could interact with it's neighbors in the next tick, it should enable its can_interact flag, and the world will provide a list of interactable objects in that radius through the object's tick function. Also removed ruff format precommit check because it currently doesn't work. Also temporarily removed food class because it's outdated.
All checks were successful
Build Simulation and Test / Run All Tests (push) Successful in 2m21s
2025-06-03 18:38:27 -05:00
fc171cd523 food turns yellow then black as it spoils, checks food amount and adds more to equal 10, randomizes position with seed 2025-06-02 17:01:19 -05:00
56857e24b8 food turns green as it spoils 2025-06-02 00:30:51 -05:00
6952e88e61 Rendering framework
All checks were successful
Build Simulation and Test / Run All Tests (push) Successful in 2m0s
2025-06-01 23:59:53 -05:00
Sam
3988f0a6fc Formatting with Ruff
All checks were successful
Build Simulation and Test / Run All Tests (push) Successful in 27s
2025-06-01 16:18:00 -05:00
Sam
34f790ca18 Optimize grid line drawing by precomputing line coordinates for improved performance 2025-05-31 19:25:36 -05:00
Sam
43882f4fef Add initial project structure with Pygame integration and camera controls 2025-05-31 18:30:47 -05:00