Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design and Implement Levels #8

Open
3 tasks
Cali0707 opened this issue Feb 4, 2025 · 5 comments
Open
3 tasks

Design and Implement Levels #8

Cali0707 opened this issue Feb 4, 2025 · 5 comments

Comments

@Cali0707
Copy link
Member

Cali0707 commented Feb 4, 2025

Overview

Currently, the game is a prototype that shows the concept but is not a playable educational experience. In discussions with @evankanderson there was a suggestion to add levels to the game which ask the users to solve puzzles, teaching architectural concepts. Specifically, these levels would consist of services which can transform the shape/colour of an event, as well as brokers, triggers, filters, sources, and sinks. The goal of the player would be to successfully connect the sources to sinks with any required intermediate services.

This is a parent issue for a lot of work, but in the scope is:

  • Design levels that teach architectural concepts
  • Generalize existing prototype code to support levels
  • Implement levels into the game

NOTE: for anyone applying to this project through the LFX mentorship program, please see #8 (comment)

@Rohanraj123
Copy link

Rohanraj123 commented Feb 5, 2025

Proposal for Enhancing the Knative Educational Game

Introduction
Hey @evankanderson, @Cali0707

I would love to contribute to this project as part of the LFX mentorship under the Knative organization. I have experience contributing to open-source projects like Kyverno and Jaeger, and I enjoy breaking down complex technical concepts into simple, engaging experiences. I also write technical blogs on DevOps, Kubernetes, and cloud-related topics to help developers learn.

This proposal outlines my plan to turn the current game prototype into a fun and educational experience that teaches users architectural concepts in Knative.

Objective
The goal of this project is to design and implement levels that introduce key architectural concepts in a hands-on, interactive way. The game will help players understand how services, brokers, triggers, filters, sources, and sinks work together by solving puzzles that require them to connect sources to sinks with the correct components.

To achieve this, my contribution will focus on:

Designing levels that teach event-driven architecture concepts in a gradual, easy-to-understand way.
Improving the prototype code so it can support multiple levels.
Implementing the designed levels and ensuring they provide a smooth learning experience.
Technical Approach & Plan

  1. Designing Educational Levels
    Create progressive levels, starting with basic concepts (e.g., how an event flows) and moving to advanced topics (e.g., filtering, transformations).
    Ensure each level has a clear objective, where players must correctly set up event-driven components.
    Balance fun and learning so that users stay engaged while understanding Knative concepts.
  2. Making the Game Code More Flexible
    Refactor the existing prototype code to allow for multiple levels with different challenges.
    Implement a level system where players progress as they complete challenges.
    Ensure the game can easily add new levels in the future.
  3. Implementing & Testing Levels
    Add game mechanics that allow users to drag and drop components to connect sources and sinks.
    Implement visual feedback (e.g., animations, colors) to show correct/incorrect setups.
    Test and refine levels to ensure they are challenging yet understandable.
    Expected Outcomes
    A structured level system that gradually introduces Knative concepts.
    A more flexible game engine that can support multiple educational levels.
    Engaging puzzles that make learning event-driven architecture fun.
    A contribution-friendly game structure, so future developers can easily add more levels.

Why Me?
Open Source Experience: Contributed to Kyverno, Jaeger, and other projects.
Technical Writing Skills: Published blogs explaining cloud-native concepts in simple terms.
Passion for Developer Education: Love making complex topics easier to understand.
Experience with Event-Driven Systems: Familiar with Kubernetes, Knative, and cloud-native architectures.
I’m really excited about this project and would love to get your thoughts on my proposal!.

@Cali0707
Copy link
Member Author

Cali0707 commented Feb 5, 2025

Hi, for anyone looking at applying to this LFX Mentorship project, we ask that when you submit your application you include a project proposal instead of a cover letter. This proposal should be 1-3 pages and include:

  1. How you've scoped the project
  2. How you plan to approach the project
  3. A week-by-week timeline for the project
  4. A brief overview of relevant experience you have for the project

@Cali0707
Copy link
Member Author

Cali0707 commented Feb 5, 2025

@Rohanraj123 please see #8 (comment)

@Rohanraj123
Copy link

Hey, @Cali0707 Thank you so much for the guidance. I have applied to the project with proposal and resume. I have described the levels with architectural learning as much as I know and lefts can be discussed later while we move on with the program.
Thank you so much !

@AryanPrakhar
Copy link

AryanPrakhar commented Feb 6, 2025

Hey @Cali0707! I’m Aryan, a B.Tech student at IIT (BHU) Varanasi, with experience in LLM benchmarking, multi-agent systems, and evaluation metrics—leading to papers at ICLR’25, ICML’24. I have worked with OpenLocus.ai, and contributed to Code4GovTech on open-source projects focusing on digital public infrastructure. I have spent a lot of time in Game Development through Unity and C#. I believe this project would be a new fun experience.

I’m planning to apply and would love to hear any insights on key design considerations you have in mind for the levels. Also, are there any existing references or resources you recommend to better understand the expected learning flow?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants