Design Process
Step 1 : Flow Chart with the Mechanics
Debut flow chart of Chrojin, the game I am currently working on.
The importance of FlowCharts in my Game Design Process
Vision and Structure
- Creating a Flowchart at the beginning of a project allows me to visualize the entire system and gain clear understanding on how different mechanics and systems will interact.
- This view also ensure that I do not lose sight of the original vision as the project evolves.
Iterative Planning
- Flowcharts are not static, they can evolve as the project grows, by revisiting them I ensure that any changes I make align with the project’s core mechanic and goals.
- This helps me maintain consistency while still allowing room for improvement and innovation.
Anticipating Challenges
- While concepting, it often helps me to identify potential future conflicts or interactions that might create unintended gameplay consequences, This let me think ahead and plan solutions proactively.
Collaboration with team members
- Flowcharts are also a great communication tool when working with a team. They provide a shared understanding of the project/system and make it easier for collaborators to align with the design goals.
Step 2 : CRC Cards
CRC cards for the Inventory System of Chrojin
The importance of CRC Cards :
Defining Responsabilties
- CRC cards help me clearly define the role of each class in the system. by listing responsabilities, I ensure each class adheres to the Single Responsability Principlee, making the codebase modular and maintainable
Establishing Collaborations
- By identifying collaborators, I map out the interactions between classes. This step prevents tightly coupled systems and ensures that dependencies between objects are clear and logical.
Encouraging OOP Practices
- CRC cards naturally guide me toward using Object-Oriented Programming (OOP) principles, particularly encapsulation and modularity. as I can immediately spot classes with too many responsabilities or unclear roles.
Early Identification of design Flaws
- Before jumping into code, CRC cards allows me to identity potential overlaps, redundancies, or missing pieces in the system. This step saves time later by resolving ambiguities upfront.
Communication
- CRC cards are also a great tool for discussing designs with team members, They are simple to understand, making them effective for presenting ideas to both technical and non-technical collaborators.
Foundation for UML Diagrams
- CRC cards serve as a basis for creating UML diagrams. They provide structured starting point for visualizing the relationships between the classes and the overall system architecture.
Step 3 : UML Diagrams
UML Diagram of the Inventory System of Chrojin.
Why UML Diagrams help me
Visualizing Class Relationships
- UML diagrams allow me to map out relationships between classes, such as inheritance, associations and dependencies. This provides a clear picture of the system’s structure and ensure that my code follows OOP principles.
Ensuring Cohesion
- By identifying the interactions and hierarchies between classes, UML diagrams help mee ensure that each component has a well-defined purpose and avoids unnecessary coupling.
Refining the Design
- UML diagrams highlight potential flaws, such as circular dependencies or unclear roles, allowing me to address these issues before writing code.
Documentation and communication
- UML diagrams serve as an excellent communication tool when collaborating with others. They are widely understood in the software industry and can be shared with teammates and artists.
Guiding Implementation
- Once finalized, UML diagrams can act as a bluprint during the development they ensure a consistency between design and implementation