თუ ნიგერიაში გაიზარდე, არის ერთი წინადადება, რომელიც მულტფილმების შუაში გულს გაგიჩერებს:
"My pikin, come o."
იცი, რა მოდის შემდეგ. დავალება. წადი და იყიდე პური. წადი და იყიდე მარილი. წადი იია ტოიინის მაღაზიაში და დათვალე ხურდა o. და როცა ჭიშკრიდან გახვალ, გაიგონებ საბოლოო გაფრთხილებას:
"თუ ამ ფულს დავთვლი და ერთი ნაირა აკლია…"
ასე რომ, გავაკეთე ის, რასაც ნებისმიერი ნორმალური ზრდასრული გააკეთებდა ამ მოგონებით. გადავაქციე 3D თამაშად. 😂
ასე რა არის Pikin Days?
Pikin Days არის უფასო 3D ბრაუზერული თამაში, სადაც თავიდან ცოცხლობ შენს ნიგერიულ ბავშვობას, მოგონება-მოგონებით. ყოველი ეპიზოდი ბავშვობის სხვა ნაწილია.
პირველი ეპიზოდი სახელწოდებით "Hold Your Change": ოჯახისთვის დავალებების შესრულება და სრული ხურდის დაბრუნება. ირჩევ შენს ბავშვს, ირჩევ, ვინ გაგიგზავნის (დედა, მამა, ბებია, დეიდა, ბიძა…) და გადიხარ.
გზაზე უნდა:
- იპოვო სწორი მაღაზია და იყიდო სწორი ნივთი (მარილი და შაქარი ერთი და იგივე არ არის o!)
- დაითვალო ხურდა, რადგან გამყიდველები ყოველთვის არ არიან პატიოსნები
- აუარო ოკადებს, კეკებს და ავტობუსებს, რომლებიც არავისთვის არ ანელებენ სვლას
- გაექცე ბინგოს, მეზობლის ძაღლს, რომელსაც შენ არასდროს მოსწონდი
- გადაწყვიტო, გაჩერდე და ფეხბურთი ითამაშო მეგობრებთან… მაშინ როცა დედას მოთმინება იწურება
- მოასწრო სახლში დაბრუნება, სანამ ვინმეს არ გამოგზავნის შენს საპოვნელად
ბოლოს დედა გაძლევს ნდობის რეიტინგს. ჩემს საკუთარ თამაშში C მივიღე. დედამ მითხრა: "ხომ არ იყო ის, რისთვისაც ხვალისთვის გაგზავნე?" ეს ძალიან მატკინა. 😭
რატომ ავაშენე ეს
გულწრფელად? ნოსტალგიამ და ცნობისმოყვარეობამ.
ამ თამაშის მოგონებები ბევრ ნიგერიელს აქვს საერთო, განსაკუთრებით ჩვენ, ვინც 90-იანებსა და 2000-იანების დასაწყისში გავიზარდეთ: კეროსინის ფარანი, როცა NEPA ფანრებს თიშავდა, ყველას ყვირილი "Up NEPA!", როცა შუქი ბრუნდებოდა, საიდუმლო კოვზი ძმარმალიანი რძის ფხვნილი და თეთრი ტუჩები, რომლებიც გაგაცემდა. მუდმივად ვფიქრობდი: რა იქნებოდა, შეგეძლოს ამ მოგონებებში სიარული?
მეორე ნახევარი ცნობისმოყვარეობა იყო. მე დეველოპერის ინსტრუმენტებზე ვწერ სამსახურით. ვხსნი, როგორ მუშაობს რაღაცები. მაგრამ არასდროს მიმიძღვნია ასეთი რამის ბოლომდე აშენება, რეალური 3D სამყარო ბრაუზერში, რომელსაც რეალური ადამიანები თამაშობენ, და მინდოდა შიგნიდან გამეგო, როგორ არის ეს სინამდვილეში.
სპოილერი: ეს არის სიხარული, პანიკა და ბევრი ტესტირება ტელეფონზე დილის 6 საათზე.
როგორ ავაშენე (თამაშების დეველოპერის გარეშე)
აი, სტეკი:
- Three.js ცოცხალი 3D ნიგერიული ქუჩის ასაშენებლად (დახლები, ხალხი, ოკადები, თხები), რომელიც პირდაპირ ტელეფონის ბრაუზერში მუშაობს, ჩამოტვირთვის გარეშე
- Mixamo პერსონაჟების ანიმაციებისთვის. თავად ჩავერიე და ყველა სიარული, გაქცევა და რეაქცია ავირჩიე და მოვარგე, რომ ბავშვები რეალურ ბავშვებივით მოძრაობდნენ
- Rapier ფიზიკისთვის, რომ ბავშვი კედლებში არ გაიაროს ან პურის გამყიდველის მაგიდის უკან არ გაიჭედოს (ამაზე მოგვიანებით 👀)
- Vite + TypeScript სწრაფი, ტიპიზირებული კოდბაზისთვის, რომელიც ყოველდღიურ განახლებებს გაუძლებდა
- ElevenLabs ხმებისთვის: დედა, გამყიდველები და მძღოლები, რომლებიც ყვირიან "Comot for road!" გულწრფელად, ეს ნაწილი დამღლელი იყო. ხმები ნამდვილად ნიგერიულად ჟღერადად ბევრჯერ მოუწია გადაღებას, და ბევრი ტაკი უფრო ლონდონურად ჟღერდა, ვიდრე ლაგოსურად 😅 ყველა ხაზს ვუსმენდი და მხოლოდ იმას ვტოვებდი, რაც სწორად მეჩვენებოდა
- სტატიკური საიტი სერვერულ უკანაბოლოსთან თამაშის სტატისტიკისთვის, მოთამაშეთა ხმებისთვის, უკუკავშირისთვის და პირადი ადმინ დაფისთვის, სადაც ვხედავ, სად მიატოვებენ მოთამაშეები თამაშს
და სამუშაო პროცესის ყველაზე მნიშვნელოვანი ნაწილი: ეს AI კოდირების აგენტით ავაშენე, როგორც ჩემი საინჟინრო გუნდით.
ახლა, სანამ ვინმე იტყვის "ანუ AI-მ ააშენა": არა. აგენტმა ბევრი კოდი დაწერა, ისე როგორც კალკულატორი ბევრ მათემატიკას აკეთებს. მაგრამ არ გადაუწყვეტია, რა უნდა აეშენებინა, როგორი უნდა ყოფილიყო და როდის იქნებოდა საკმარისად კარგი. ეს მე ვიყავი.
აი, რას გულისხმობდა ჩემი წილი სამუშაოში სინამდვილეში:
- თამაშის დიზაინი. დავალებები, ხურდის დათვლა, დედას იწურება მოთმინება, ნდობის რეიტინგი, ბინგო, მეგობრების თამაშები, რომლებიც დავალებიდან გაგაქცევენ. იდეა, წესები და მთელი შეგრძნება.
- ნიგერიულობის შეგრძნება. AI არ იცის, რომ გამყიდველი ყიდვის შემდეგ ამბობს "გმადლობთ, წადი მშვიდობით" და არა მანამდე, ან რომ "Comot for road!" სხვაგვარად ჟღერს, ვიდრე "Please move." ყოველი ქუჩის დეტალი, ხმის ხაზი და მოგონება ჩემს ხელს გაივლიდა.
- ძალიან ზუსტი ინსტრუქციების წერა. არა "გააუმჯობესე კამერა", არამედ "როცა ბავშვი შემობრუნდება, კამერამ სწრაფად უნდა მიჰყვეს უკნიდან; ერთი თითით გადაადგილება მხოლოდ ხედს ატრიალებს და არასდროს აზუსტებს; მოთამაშეების უმრავლესობა გეიმერი არ არის." გამოდის, რომ ტექნიკური წერის გამოცდილება აქ სუპერძალაა.
- წესების დადგენა. არანაირი რეალური ბრენდი. არცერთი მოზრდილი არ არის მტრულად განწყობილი ბავშვის მიმართ. ბავშვები არასდროს არიან ნაჩვენები მძიმე შრომაში. არაფერი არ გავა ეთერში, სანამ არ ვიტყვი სიტყვას "push".
- გამოშვებების მართვა რეალური პროდუქტივით. გადახედვის ბმულები ყოველი ცვლილებისთვის, ვერსიის ნომრები, მზად მყოფი დაბრუნებები, სტატისტიკის დაფა უსაფრთხო შესვლის უკან და ბეტა ტესტერები დიდ განახლებამდე.
- ტესტირება, თითქოს ჩემი სიცოცხლე ამაზე იყო დამოკიდებული. ტელეფონზე, სხვადასხვა ბრაუზერში, სხვადასხვა აპში, ვერტიკალურად და ჰორიზონტალურად.
- მტკიცებულების მოთხოვნა. ეს მძიმედ ვისწავლე. "დასრულებული" და "დასრულებული და გადამოწმებული" ერთი და იგივე არ არის. ამიტომ დავიწყე ყოველი შესწორების ეკრანის ანაბეჭდებისა და ჩანაწერების მოთხოვნა, პლუს გულწრფელი ცხრილი იმის შესახებ, რა იყო გადამოწმებული, რა არ იყო გადამოწმებული და რა დაფარული.
ეს ძალიან ჰგავდა პროდუქტის მენეჯერის, თამაშის დიზაინერის, QA ტესტერის, მწერლისა და ძალიან მკაცრი ნიგერიელი დეიდის ერთდროულად ყოფნას.
გაშვების ღამე: უფასო ტარიფი გავტეხეთ 🎉
თამაში X-ზე გამოვაქვეყნე, მხიარულად დავიძინე და გავიღვიძე იმაზე, რომ ჩემი სტატისტიკის დაფა შეცდომებს აჩვენებდა.
https://platform.twitter.com/embed/Tweet.html?id=2114057303460913562
მიზეზი? ხალხი ნამდვილად თამაშობდა, და პირველ დღეს ჩემს ჰოსტინგის პროვაიდერის უფასო ლიმიტს, დღეში 1000 მონაცემთა ბაზის ჩაწერას, მივაღწიე. თამაშის ყოველი დაწყება, ყოველი ხმა და უკუკავშირის ყოველი ნაწილი ჩაწერა იყო. გადავედი $5-იან გეგმაზე, დაფა ისე გავაკეთე, რომ არაფერს წერდა მხოლოდ კითხულობდა, და რიცხვები დავაჯგუფე.
იყო ეს ხელისშემშლელი? დიახ. იყო ეს გაშვების დღის საუკეთესო პრობლემაც? ისიც დიახ. 🥹
შეცდომა, რომელიც თვალწინ იმალებოდა
რამდენიმე დღის შემდეგ გაშვებიდან, ერთმა მოთამაშემ მომწერა: თამაში გაჩერებული იყო წარწერაზე "Turn your phone sideways to play". ტელეფონის შემობრუნების მიუხედავად. გაშვებიდან მოყოლებული.
და აი, ყველაზე უცნაური ნაწილი: ეს თავად ვნახე. X-დან საკუთარი ბმული გავხსენი, იგივე ეკრანი დამხვდა, შევეხე "Open in browser" და გავაგრძელე. გულწრფელად მეგონა, რომ ეს უბრალოდ ჩემი ტელეფონი იყო.
ეს არ იყო ჩემი ტელეფონი. ეს ყველას ჰქონდა.
როცა X-ში, TikTok-ში, Instagram-სა თუ WhatsApp-ში ბმულს შეეხები, ის არ იხსნება Safari-ში ან Chrome-ში. ის იხსნება აპის საკუთარ მინი ბრაუზერში. მათგან ბევრი არასდროს ტრიალებს, ან ტრიალებს, მაგრამ გვერდს არასდროს აცნობს, რომ ეს მოხდა. ჩემი თამაში მოთმინებით ელოდა სიგნალს "ტელეფონი ახლა ჰორიზონტალურია", რომელიც არასდროს მოვიდოდა. ამიტომ ხალხი კარებთან იჭედებოდა.
ჩემი დაფაც მცდელობდა მეთქვა. ფანჯარაში 188 უკან დაბრუნება სათაურის ეკრანზე იყო. ხალხი მოდიოდა, იჭედებოდა და სიტყვის გარეშე მიდიოდა.
ამან ორი რამ მასწავლა, რასაც არ დავივიწყებ:
- თუ რაიმე უცნაურს შეხვდები და მის ირგვლივ მუშაობ, შენი მოთამაშეებიც შეხვდებიან და მათი უმრავლესობა ამ გვერდის ავლას ვერ მიხვდება. შენი პატარა გვერდის ავლები მინიშნებებია.
- მოთამაშეების უმრავლესობა შეცდომებს არ აცნობებს. ისინი უბრალოდ მიდიან. ყოველი ადამიანისთვის, ვინც მოგწერს, ივარაუდე, რომ ბევრად მეტმა უხმოდ დახურა ჩანართი.
სწრაფი გამოსწორება იყო ეკრანის სიგანისა და სიმაღლის შემოწმება ყოველ ნახევარ წამში, ბრუნვის მოვლენის მოლოდინის ნაცვლად. ნამდვილი გამოსწორება უფრო დიდი იყო: თამაშის ხელახლა აშენება, რომ ვერტიკალურად მუშაობდეს. თუ თამაში მუშაობს, როცა ტელეფონს ჩვეულებრივად ატარებ, აღარ აქვს მნიშვნელობა, რას აკეთებს აპის ბრაუზერი.
ადრე, ვერტიკალურად დაჭერისას, თამაში დაჭყლეტილი იყო:
ტელეფონ-პირველი ხელახალი აშენების შემდეგ:
რას მეუბნებოდნენ მოთამაშეები (და ციფრები)
პირველ კვირაში: 140 დაწყებული თამაში და 40 ახალი მოთამაშე, და ეს არ ითვლის გაშვების დღის უმეტეს ნაწილს, როცა ჩემი სტატისტიკა იყო ის, რაც გატყდა 😅. ასევე არ ითვლის ყველას, ვინც სათაურის ეკრანს ვერ გასცდა შებრუნების შეცდომის გამო. მაგრამ მათგან, ვინც მაინც ითამაშა, მხოლოდ 31% დაასრულა პირველი დავალება და მხოლოდ 2 თამაშმა გაიარა დავალებების მთელი დღე.
ოჰ. მაგრამ სასარგებლო ოჰ. უკუკავშირთან ერთად სურათი ძალიან ნათელი გახდა:
- "საუბრები ძალიან ნელია."
- "პურის გამყიდველის მაგიდის უკან გავიჭედე და თამაშის დატოვება მომიწია."
- "როცა ფული დავკარგე და ვიპოვე, სახლში დაბრუნება იყო ერთადერთი გზა, მაგრამ დრო მეწურებოდა."
- "ჩემი ენერგია ძალიან სწრაფად ილევა."
ზოგიერთი ეს არა მხოლოდ მაღიზიანებდა, არამედ ბლოკავდა. თუ მაგიდის უკან გაიჭედები და გასასვლელი არ გაქვს, უკუკავშირს არ გაგზავნი. ჩანართს ხურავ.
როცა მე დავჯექი და ტელეფონზე ერთი საათი ვითამაშე, კიდევ უფრო მეტი ვიპოვე:
- გამყიდველმა თქვა "გმადლობთ, წადი მშვიდობით" მანამ, სანამ მე რამეს ვიყიდდი
- მძღოლმა სამი სხვადასხვა ფრაზა დამიყვირა ერთმანეთის მიყოლებით, მაშინ როცა მაგიდასთან ვიდექი და გზაზეც არ ვიყავი
- თხა პირდაპირ გუბურას კედელში გაიარა 🐐
- მეგობრებმა მიმიწვიეს, რომ პოლიციელი და ქურდი ვითამაშოთ, თქვეს "ოია, წავიდეთ!"… და ყველანი უბრალოდ იდგნენ
- ფეხბურთი სუვეს ბადეზე თამაშდებოდა
- დროის ამოწურვა მაიძულებდა იმავე დავალებას გავუდგე თავიდან, იგივე სიით და იმავე მაღაზიაში. ეს ყველაზე მეტად მატკინა, რადგან თამაშის მთელი აზრი ისაა, რომ ყოველი დავალება განსხვავებული იგრძნობოდეს
ამიტომ საკუთარი თავისთვის რამდენიმე წესი დავაწესე, რომლებსაც ახლა ნებისმიერ პროდუქტს გამოვიყენებ:
- ეკრანზე ერთდროულად ერთი შეტყობინება. არასდროს მეტი.
- ბარათზე მაქსიმუმ დაახლოებით 12 სიტყვა. თუ წაკითხვა უწევთ, არ ითამაშებენ.
- არცერთი ამომხტარი ფანჯარა ეკრანის ~60%-ზე დიდი.
- მოთამაშე არასდროს უნდა იყოს გაჭედილი, დაბნეული ან გადატვირთული. ერთი წამითაც კი არა.
განახლება: გააზიარე შენი ყველაზე სასაცილო მომენტები
ახალი განახლება ვერტიკალურად მუშაობს, ნებისმიერი აპიდან სწორად იხსნება, უფრო გლუვი კამერით გდევნის, მძღოლებს აძლევს საკუთარ (ძალიან დრამატულ) ხმებს და საშუალებას გაძლევს შეინახო შენი ყველაზე სასაცილო მომენტები მოკლე კლიპებად: ბინგო რომ გდევნის, ოკადოსთან ახლო შეჯახება, გვიან დაბრუნება და დედასთან შეხვედრა…
…და შემდეგ პირდაპირ WhatsApp-ში, TikTok-ში ან X-ში გააზიარე.
რა ვისწავლე
თუ ამ პოსტიდან არაფერი დაგამახსოვრდება, ეს დაიმახსოვრე:
- შეამოწმე, სად არიან შენი მომხმარებლები რეალურად. არა შენს ლეპტოპზე. ტელეფონზე, იმ აპებიდან, სადაც ხალხი შენს ბმულს გაუზიარებს.
- შენი დაფა მდუმარე მომხმარებლების ხმაა. უკან დაბრუნებები და მიტოვებები უკუკავშირია. წაიკითხე ისე, როგორც შეტყობინებები.
- თუ შენთვის უცნაურია, შენი მომხმარებლებისთვისაც გატეხილია. შეცდომის გვერდი ავლა მე თვითონ გავაკეთე და ვიფიქრე, რომ მხოლოდ მე მემართებოდა. შენი პატარა გვერდის ავლები შენი მოთამაშეების ჩიხებია.
- AI-სთან მუშაობა უნარია. იყავი კონკრეტული, დააწესე წესები და მოითხოვე მტკიცებულება. "ის ამბობს, რომ დასრულებულია" ტესტი არ არის.
- არასდროს გამოუშვა ის, რაც არ შეგიმოწმებია. გადახედვის ბმულები, სწრაფი თამაში ჩემს ტელეფონზე და მზად მყოფი დაბრუნება ყოველ ჯერზე. იმ ერთხელ, როცა ვიჩქარე, დაჭყლეტილი თამაში ეთერში გავიდა.
- გამოუშვი, შემდეგ უსმინე. ერთი კვირის რეალურ მოთამაშეებთან მეტი ვიპოვე, ვიდრე თვეებში მარტო აშენებისას. დიდი შეცდომის პოვნა გაშვებიდან დღეების შემდეგ არ არის მარცხი; სწორედ ამისთვისაა MVP.
- გახადე პირადული. ყველაზე მეტად რაც მოსწონდათ, არასდროს ტექნიკა იყო. ეს იყო ბინგო, "Up NEPA!" და დედის ბარათის ფრაზები.
რა არის შემდეგ
მოთამაშეები ხმას აძლევენ იმას, რაც თამაშში შემდეგ მოვა, და "Up NEPA!" ამჟამად 60%-ით იგებს ხმებს. 💡 ასე რომ, კი, იქნება შუქის დაბრუნების მომენტი. ასევე ჩემს სიაში: მეტი დავალების ტიპი, მეტი მეგობრების თამაში (სუვე დაბრუნდება, როგორც კი ხტომას სწორად მივიღებ) და მეტი მოსაგროვებელი მოგონება.
ბოლო რამდენიმე კვირა დატვირთული იყო, ამიტომ შემდეგ განახლებამდე მოკლე შესვენებას ვიღებ. მაგრამ თამაში ცოცხალია და უფასოდ შეგიძლია თამაში.
👉🏾 ითამაშე Pikin Days: pikindays.com
და კომენტარებში მითხარი: რა არის ყველაზე ნოსტალგიური, რაც გახსოვს შენი ბავშვობის დავალებებიდან? ჩემი არის სახლისკენ სიარული, ხურდის სამჯერ დათვლა და ლოცვა, რომ გამყიდველს არ მოეტყუებინა. 😅












