मी एका वीकेंडमध्ये एक कार्ड गेम तयार करून लाँच केला
मी Prší ची ब्राउझर आवृत्ती तयार केली. हा एक चेक (Czech) कार्ड गेम आहे. हा एका साध्या AI विरुद्ध खेळला जाणारा 1v1 गेम आहे. तुम्ही माऊस किंवा टच वापरून तो खेळू शकता.
येथे खेळा: https://czsoftcode.github.io/prsi/
बहुतेक लोक याला 'vibe coding' म्हणतात. मी याच्याशी सहमत नाही. 'Vibe coding' म्हणजे सहसा तुम्ही एखाद्या ॲपचे वर्णन करता आणि AI जे काही देते ते स्वीकारता. मी एक वेगळी पद्धत वापरली.
मी १० स्पष्ट टप्प्यांतून (phases) बिल्ड पूर्ण करण्यासाठी Claude Code चा वापर केला. प्रत्येक टप्प्याचे एक विशिष्ट ध्येय आणि पडताळणीयोग्य आउटपुट होते.
त्या टप्प्यांमध्ये खालील गोष्टींचा समावेश होता:
- Vite आणि TypeScript scaffold सेट करणे
- गेम इंजिन डेटा मॉडेल तयार करणे
- मूलभूत चाली (moves) आणि विशेष कार्डे जोडणे
- AI प्रतिस्पर्ध्याचे लॉजिक तयार करणे
- UI आणि इंटरअॅक्शन लूप तयार करणे
- २०० एंड-टू-एंड AI सिम्युलेशन्स चालवणे
- साइट डिप्लॉय करणे
पुढच्या टप्प्यावर जाण्यापूर्वी मी प्रत्येक टप्प्याचे नियोजन आणि पुनरावलोकन केले. यामुळे कोड स्वच्छ (clean) राहिला. मी सुमारे ३०० युनिट टेस्ट्स लिहिल्या. जेव्हा AI ने चूक केली, तेव्हा माझ्या टेस्ट्सनी ती लगेच पकडली.
सर्वात कठीण भाग कोड नव्हता, तर गेमचे नियम होते.
- सेव्हन्स स्टॅकिंग (Stacking sevens): खेळाडू प्रतिस्पर्ध्याला ८ कार्डे खेचण्यास भाग पाडण्यासाठी जास्तीत जास्त चार 'सेव्हन्स' (sevens) स्टॅक करू शकतात.
- क्वीन वाइल्डकार्ड्स (Queen wildcards): राणी (queen) आवश्यक सूट (suit) बदलते. इंजिनने हे योग्यरित्या हाताळले आहे याची खात्री मला करावी लागली.
मला तांत्रिक अडचणींचाही सामना करावा लागला:
- डिप्लॉयमेंट (Deployment): पाथ एररमुळे (path errors) माझ्या इमेजेस GitHub Pages वर दिसत नव्हत्या. मी Vite च्या base URL चा वापर करून हे ठीक केले.
- व्हर्जनिंग (Versioning): रिलीज टॅग केल्यानंतर मी माझे
package.jsonअपडेट करायला विसरलो.
मी AI साधे ठेवले. ते फक्त कायदेशीर (legal) चाली खेळते. ध्येय एक अचूक AI तयार करणे होते, हुशार नाही. गेम नेहमी विजय किंवा बरोबरीने (stalemate) संपतो हे सिद्ध करण्यासाठी मी २०० सिम्युलेटेड गेम्स वापरले.
केवळ '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
