? ? Simulation of gnomes cooks? ♂️
Welcome to simulation of gnomes chefs , a mathematical simulation that combines probability and management in a fantasy environment. This project seeks to simulate the unique skills of five gnomes chefs that must meet a mission: prepare a banquet for the great people's party. Face to challenges such as time management, obtaining rare ingredients and the control of random events that can alter the final result.
Project objective
The objective is to create an automatic simulation that models the behavior of five gnomes cooks: the baker, the soup chef, the pastry chef, the butcher and the apprentice. Each Gnome has specific skills and their actions will be governed by advanced probabilistic algorithms and random events . At the end of the simulation, a detailed report will be displayed with the results of the banquet and the performance of each gnome.
Current state
The project is in an initial phase and no functionality has yet been implemented. The planning is advanced and we have a clear vision of the architecture and the objectives of each part of the system.
Key functionalities
? Main functionalities
- Automatic simulation : Once initiated, the simulation is automatically executed without user intervention.
- Five gnomes with specific roles : baker, soup chef, pastry chef, butcher and apprentice, each with unique skills and behaviors.
- Probability and time management : The logic of simulation is based on random probabilities and events, where each task has a success percentage based on the Gnomo's skills.
- External events : random events such as obtaining rare or unforeseen ingredients that hinder cooking are introduced.
- Adaptive : Each gnome follows patterns of behavior inspired by classical (such as Pacman's ghosts), adapting to game events.
- Final report : At the end of the simulation, a report is generated with the performance of each gnome and the result of the banquet.
Platform and Technology
- Border : Built with Vue.js , will offer a simple interface to start simulations and visualize the results. The visualization board will include sprites of the pixel -style art .
- BACKEND : The simulation engine will be handled by Python with Django , which will allow complex calculations and probabilistic algorithms.
- Real time : The Fronnd will allow real -time visualization of simulation progress and events that occur.
- Database : Postgresql will be the database responsible for storing the results of each simulation, as well as the performance of gnomes.
? Future functionalities
? ️ Modes and options
- Advanced simulations : it is planned to add more external events and complexities to the logic of gnomes, to make the game more unpredictable.
- Simulation editor : In the future, users will be allowed to create their own gnomes with personalized skills and adjust the probabilities of success.
? Visualization and animations
- Animated Board : We will implement a Border on the Frontend that will show the progress of the simulation, including animations of the gnomes cooking and looking for ingredients.
- Pixel art style sprites : retro -style graphics will be added to give a fun and nostalgic touch to visualization.
? Probability algorithms and Ia
- Advanced gnomes : Each gnome will have a unique algorithm that will govern its behavior based on their role and skills, inspired by the movement patterns of Pacman's ghosts.
- Complex external events : we will introduce a system of random events that will include external factors such as weather, availability of additional ingredients or guests to the banquet.
Performance and scalability
- Cloud scalability : It is planned to optimize simulation to allow multiple simultaneous executions in server environments such as AWS or Heroku.
- Parallel processing : In more complex simulations, the engine can use parallel processing to reduce calculation times.
System architecture
The application follows a three -layer architecture: border , backend and database , with Django such as the Backend Framework.
@startuml
skinparam style strictuml
actor User
node "Cliente" {
[ Frontend ( Vue . js )]
}
node "Servidor" {
[ API Backend ( Django )] --> [ Motor de Simulaci ó n ]
[ Motor de Simulaci ó n ] --> [ Base de Datos ( PostgreSQL )]
}
User --> [ Frontend ( Vue . js )]
[ Frontend ( Vue . js )] --> [ API Backend ( Django )]
@enduml DESCRIPTION OF COMPONENTS
Border (Vue.js)
- Functionality : Provide a simple interface to start simulation and see progress and results.
- Visualization : Board with gnomes sprites in Pixel Art , showing in real time the tasks that each gnome is doing.
BACKEND (DJANGO)
- API : Expose Endpoints Rest to start simulation, consult results and obtain reports.
- Simulation motor : Execution of probabilistic logic for simulation.
- Persistence : Save the results in the database and generate reports.
Simulation engine
- Simulation logic : implemented in Python, based on probabilistic models and random events.
- Gnomes : Each gnome follows a personalized behavior algorithm.
Database (Postgresql)
- Structure :
- Gnomos table : information about each gnome (name, role, skills).
- Table Simulations : Registration of each simulation.
- Table Results : Individual results of each gnome in each simulation.
How to contribute?
- Clona the repository and create a branch for your contribution.
- Check the open ISSUES or suggest improvements.
- Implements new functionalities or resolves bugs.
- Send a Pull Request for review.
? Roadmap of the project
- Implement the basic simulation logic .
- Develop the border with real -time visualization .
- Add random events and complex algorithms .
- Optimization for multiple simultaneous simulations in the cloud .
- Launch of a beta version for community tests .
Thank you for being interested in this project! If you like simulation and probabilities management, this is the project for you! ?