Vibe Coding თამაშების შექმნა: პრობლემები და ავტორის ინოვაციური გადაწყვეტა
სტატია იკვლევს „vibe coding“-ის კონცეფციას თამაშების შექმნისას, სადაც ხელოვნური ინტელექტი გამოიყენება მაღალი დონის პროგრამირების ენად. განხილულია პროექტების ზრდასთან დაკავშირებული გამოწვევები, განსაკუთრებით ხელოვნური ინტელექტის მოდელების კონტექსტური ფანჯრის შეზღუდვების გამო. წარმოდგენილია „Shallot“ – კონტექსტის მართვის სისტემა და „VibeGame“ – ახალი, მაღალი დონის დეკლარაციული სათამაშო ძრავი, რომელიც სპეციალურად ხელოვნური ინტელექტის დახმარებით თამაშების შესაქმნელად შეიქმნა ამ პრობლემების დასაძლევა
ადამიანები ცდილობენ თამაშების „vibe coding“-ით შექმნას. თავიდან ეს მეთოდი ერთგვარად მუშაობს, მაგრამ პროექტის ზრდასთან ერთად, ყველაფერი იშლება. რატომ? და რა შეგვიძლია გავაკეთოთ? მე ვისაუბრებ ამ პრობლემაზე, მის გადაჭრის გზებზე და სამომავლო ნაბიჯებზე.
პირველ რიგში, რა არის „vibe coding“? ტერმინი თავდაპირველად ანდრეი კარპათიმ ვირუსულ ტვიტში შემოიტანა, სადაც ის განისაზღვრა, როგორც მდგომარეობა, როდესაც „სრულად ემორჩილებით ვიბრებს, იღებთ ექსპონენტებს და საერთოდ ივიწყებთ კოდის არსებობას“. თუმცა, მას შემდეგ, ის აღწერილობითად გამოიყენება მრავალი სხვადასხვა რამის აღსანიშნავად, დაწყებული „AI-ის გამოყენება კოდირებისას“ და დამთავრებული „კოდზე საერთოდ არ ფიქრით“. ამ ბლოგპოსტში, მე მას ასე განვსაზღვრავ: ხელოვნური ინტელექტის გამოყენება, როგორც მაღალი დონის პროგრამირების ენა რაიმეს შესაქმნელად. სხვა პროგრამირების ენების მსგავსად, ეს მეთოდი სარგებლობს იმის გაგებით, თუ რა ხდება „კაპოტის ქვეშ“, მაგრამ არ მოითხოვს მას აუცილებლად. ამ ინტერპრეტაციით, თქვენ შეგიძლიათ შექმნათ თამაში კოდის გაგების გარეშე, თუმცა ფუნდამენტური ცოდნა მაინც სასარგებლოა.
ადრე აღვნიშნე, რომ „პროექტის ზრდასთან ერთად, ყველაფერი იშლება“. ეს გამოწვეულია იმ მტკიცებულებით, რომ როდესაც კონტექსტური ფანჯარა ივსება, მოდელის მუშაობა იწყებს გაუარესებას. ეს განსაკუთრებით ეხება თამაშების შექმნას, სადაც კონტექსტი შეიძლება ძალიან სწრაფად გაიზარდოს. ამ პრობლემის გადასაჭრელად არსებობს მრავალი პერსონალური ad-hoc გადაწყვეტა, როგორიცაა LLM-ისთვის სპეციფიკური კონტექსტის პირდაპირ პროექტის ფაილებში ჩაწერა, ან უფრო ყოვლისმომცველი გადაწყვეტები, როგორიცაა Claude Code Development Kit მსხვილმასშტაბიანი კონტექსტის მართვისთვის. მე ვერ ვიპოვე მსუბუქი, ხელმისაწვდომი გადაწყვეტა, რომელიც მნიშვნელოვან დომენურ ცოდნას არ მოითხოვდა. ამიტომ მე შევქმენი ასეთი: 🧅 Shallot, მარტივი, მსუბუქი, მიუმხრობელი კონტექსტის მართვის სისტემა Claude Code-ისთვის. ის ეყრდნობა ორ ძირითად ბრძანებას: [ბრძანებების დეტალები არ არის მოცემული ორიგინალში]. გამოცდილებით, ეს კარგად მუშაობს. თუმცა, ის საუკეთესოდ მუშაობს, როდესაც პროექტი რჩება მინიმალისტური და კარგად ორგანიზებული, რათა მთელი შესაბამისი კონტექსტი ადვილად მოთავსდეს მოდელის კონტექსტურ ფანჯარაში. მიუხედავად იმისა, რომ აქ Claude Code არის გამოყენებული, იგივე პრინციპები ვრცელდება სხვა მოდელებზეც.
კონტექსტის მართვის ინსტრუმენტების მიღმა, პლატფორმის არჩევანი კრიტიკულია. პლატფორმა იდეალურად უნდა ინარჩუნებდეს პროექტებს მინიმალისტურად მაღალი დონის აბსტრაქციების მეშვეობით, ამასთანავე უნდა იყოს ადვილად გასაგები ხელოვნური ინტელექტის მოდელებისთვის. მაშ, რომელი არსებული პლატფორმებია ყველაზე შესაფერისი „vibe coding“-ისთვის? თავდაპირველად, მე სამი განსხვავებული მიდგომა ვცადე „vibe coding“ თამაშების შესაქმნელად: Roblox MCP, Unity MCP და ვებ პლატფორმა. თითოეულისთვის ვცადე მარტივი ინკრემენტული თამაშის შექმნა, Grass Cutting Incremental-ის შთაგონებით, Claude Code-ის გამოყენებით. აი, როგორ წარიმართა ექსპერიმენტები:
**Roblox MCP**
ოფიციალური MCP სერვერი Roblox-ისგან. ეს საშუალებას აძლევს ხელოვნურ ინტელექტს, რომ ურთიერთქმედება მოახდინოს Roblox Studio-სთან კოდის გასაშვებად ბრძანებების გაგზავნით.
* **დადებითი მხარეები:** [არ არის მოცემული ორიგინალში]
* **უარყოფითი მხარეები:** Roblox გთავაზობთ აბსტრაქციის შესანიშნავ ფენას კოდების ბაზის მინიმალისტურად და მართვად შესანარჩუნებლად, რაც იდეალურია „vibe coding“-ისთვის. თუმცა, „დახურული ეკოსისტემა“ (walled garden) და კონტექსტის ნაკლებობა მას არაპრაქტიკულს ხდის „vibe coding“-ისთვის, გარდა იმ შემთხვევისა, თუ პროექტი თავად Roblox-ის შიდა განვითარებას ეკუთვნის.
**Unity MCP**
არაოფიციალური MCP სერვერი Unity-ისთვის. ეს საშუალებას აძლევს ხელოვნურ ინტელექტს, რომ ურთიერთქმედება მოახდინოს Unity Editor-თან: კონსოლის წაკითხვა, აქტივების მართვა და სკრიპტების ვალიდაცია.
* **დადებითი მხარეები:** [არ არის მოცემული ორიგინალში]
* **უარყოფითი მხარეები:** Unity არის მძლავრი ძრავი მრავალი შესაძლებლობით. თუმცა, ძრავის სირთულე და ცვალებადობა ხელოვნურ ინტელექტს უძნელებს სტაბილურად კარგი შედეგების მიღებას მომხმარებლის მნიშვნელოვანი დომენური ცოდნის გარეშე.
**ღია ვებ პლატფორმა**
ღია ვებ პლატფორმა, რომელიც იყენებს three.js-ს 3D რენდერინგისთვის, rapier-ს ფიზიკისთვის და bitecs-ს თამაშის ლოგიკისთვის.
* **დადებითი მხარეები:** ეს მიდგომა ხელოვნური ინტელექტის მხრივ საუკეთესო იყო, სავარაუდოდ, ვებ განვითარების მონაცემთა დიდი რაოდენობის გამო, რომელიც ხელმისაწვდომი იყო ვარჯიშის დროს. მიუხედავად იმისა, რომ თავდაპირველად ძრავის აშენებას მოითხოვდა, ეს მიდგომა ერთადერთი იყო, რომელმაც სახალისო შედეგი გამოიღო მძიმე დომენური ცოდნის გარეშე.
* **უარყოფითი მხარეები:** თუმცა, ბიბლიოთეკების დაბალი დონის ბუნება ნიშნავდა, რომ თამაშის აშენებამდე, არსებითად, სათამაშო ძრავა უნდა ამეშენებინა.
ამ ექსპერიმენტების შემდეგ, სურათი ნათელი გახდა: ვებ-სტეკს ჰქონდა ხელოვნური ინტელექტის შესანიშნავი შესრულება, მაგრამ იყო ძალიან დაბალი დონის, ხოლო Roblox-ს ჰქონდა სრულყოფილი აბსტრაქცია, მაგრამ აკლდა ღიაობა და კონტექსტის მართვა. მაშ, რას იტყვით ორივეს საუკეთესო ასპექტების გაერთიანებაზე? წარმოგიდგენთ VibeGame-ს, მაღალი დონის დეკლარაციულ სათამაშო ძრავს, რომელიც აგებულია three.js-ზე, rapier-სა და bitecs-ზე, სპეციალურად ხელოვნური ინტელექტის დახმარებით თამაშების შესაქმნელად.
VibeGame-ის დიზაინში სამი ძირითადი გადაწყვეტილება იქნა მიღებული: [ძირითადი გადაწყვეტილებების დეტალები არ არის მოცემული ორიგინალში]. ძირითადი თამაში ასე გამოიყურება: [არ არის მოცემული ორიგინალში]. იხილეთ ის მოქმედებაში ამ JSFiddle-ში ან Live Demo-ზე. ეს შექმნის მარტივ სცენას მიწის ზედაპირთან და დავარდნილ ბურთთან ერთად. მოთამაშე, კამერა და განათება ავტომატურად იქმნება. ეს ყველაფერი მოდულარულია და შეიძლება შეიცვალოს. საჭიროებისამებრ შეიძლება დაემატოს თვითნებური საბაჟო კომპონენტები და სისტემები. ის მოყვება llms.txt ფაილს, რომელიც შეიცავს ძრავის შესახებ დოკუმენტაციას, სპეციალურად AI-სთვის შექმნილს, რათა ჩართული იყოს მის სისტემურ მოთხოვნაში ან საწყის კონტექსტში.
დიახ, ერთგვარად. აი, თამაში, რომელიც მე ავაშენე, რათა გამომეცადა მარტივი ინკრემენტული ბალახის შეგროვების თამაშის შექმნა VibeGame-ისა და Claude Code-ის გამოყენებით. მან ძალიან კარგად იმუშავა, განხორციელებისთვის მინიმალური დომენური ცოდნა დასჭირდა.
თეგები:
#ai
#ხელოვნური ინტელექტი
#llm
#კოდირება
#პროგრამირება
#vibe coding
#თამაშების განვითარება
#vibegame
#კონტექსტის მართვა
წყარო: huggingface.co
AI-ით გადამუშავებული