השקתי משחק קלפים בסוף שבוע אחד

בניתי גרסת דפדפן של Prší. זהו משחק קלפים צ'כי. זהו משחק 1v1 נגד בינה מלאכותית (AI) פשוטה. ניתן לשחק בו באמצעות עכבר או מגע.

שחקו כאן: https://czsoftcode.github.io/prsi/

רוב האנשים קוראים לזה vibe coding. אני לא מסכים. vibe coding פירושו לרוב שאתה מתאר אפליקציה ומקבל כל מה שה-AI נותן לך. אני השתמשתי בשיטה שונה.

השתמשתי ב-Claude Code כדי להוביל את תהליך הבנייה דרך 10 שלבים מפורשים. לכל שלב הייתה מטרה ספציפית ותוצר שניתן לאמת.

השלבים כללו:

  • הקמת תשתית (scaffold) של Vite ו-TypeScript
  • בניית מודל הנתונים של מנוע המשחק
  • הוספת מהלכים בסיסיים וקלפים מיוחדים
  • יצירת הלוגיקה של יריב ה-AI
  • בניית ממשק המשתמש (UI) ולולאת האינטראקציה
  • הרצת 200 סימולציות AI מקצה לקצה
  • פריסת האתר

תכננתי וסקרתי כל שלב לפני שעברתי לבא בתור. זה שמר על הקוד נקי. כתבתי כ-300 בדיקות יחידה (unit tests). כשה-AI טעה, הבדיקות שלי תפסו זאת מיד.

החלק הקשה ביותר לא היה הקוד. זה היו חוקי המשחק.

  • ערמת שבעות: שחקנים יכולים לערום עד ארבע שבעות כדי לאלץ את היריב למשוך 8 קלפים.
  • מלכה כקלף Wildcard: המלכה משנה את הסדר (suit) הנדרש. הייתי צריך לוודא שהמנוע מטפל בכך בצורה נכונה.

נתקלתי גם במכשולים טכניים:

  • פריסה (Deployment): התמונות שלי נשברו ב-GitHub Pages בגלל שגיאות בנתיבים. תיקנתי זאת באמצעות שימוש ב-base URL של Vite.
  • ניהול גרסאות: שכחתי לעדכן את ה-package.json שלי לאחר תיוג גרסה (release).

שמרתי על ה-AI פשוט. הוא מבצע רק מהלכים חוקיים. המטרה הייתה AI תקין, לא חכם. השתמשתי ב-200 משחקים מדומה כדי להוכיח שהמשחק תמיד מסתיים בניצחון או בתיקו.

בנייה שלב אחר שלב, במקום להסתמך על vibes, אפשרה לי להשיק מוצר שאני באמת מבין.

מקור: https://dev.to/stkremen/i-shipped-a-card-game-in-a-weekend-but-i-didnt-really-vibe-code-it-34g9

קהילת למידה אופציונלית: https://github.com/czsoftcode/prsi