Wednesday, November 6, 2013

როგორ იწრთობოდა.. ანუ ითარგმნებოდა თამაში.

პოსტი იწერება AcidLabz ის გამოცდილების გაზიარების ფარგლებში.

თამაშის თარგმნისას სულ პირველი, რაც ყველაზე მეტად გჭირდებათ, ნებისყოფაა. ნებისყოფა თუ გეყოფათ, ყველაფერი გამოვა. თქვენ რა თქმა უნდა ვერასოდეს წარმოიდგენთ, რომ "Marry Farm" - სადაც თითქმის არაფერი ნაწერი გამოდის, დაახლოებით 200 სტრიქონი მაინც იქნება ბანალურად სათარმგნი და შრიფტის პრობლემები ხომ ცალკე თემაა. თუმცა მოდი მივყვეთ თანამიმდევრულად და ჩავთვალოთ, რომ ნებისყოფა გვაქვს უზარმაზარი.


ბევრჯერ გაიგებდით, რომ თამაშისთვის უნივერსალური სათარგმნი საშუალება არ არსებობს. ყველა თამაშს საკუთარი მიდგომა უნდა. თუმცა მე მაქვს ერთი გამოცდილი ხერხი, რომელიც ყოვლთვის მუშაობს - რუსიფიკატორი. მაგალითისთვის Stalker-ის თარგმნის პროცესს მოვიყვან. ორიგინალი თამაში ინგლისურად მქონდა. შემდეგ ვნახე რუსიფიკატორი. რუსიფიკატორში მოცემულია ხოლმე ის ფაილები, რომლებიც უნდა შეიცვალოს, რომ ტექსტები გარუსულდეს. თუმცა აქ ერთი უხერხულობა რჩება კიდე: ინგლისური და რუსული ენა შედის ANSII კოდირებაში (მემგონი ასე ქვია) და სულ არ ჭირდება შრიფტები, ისედაც ყველა კომპშია. ქართული კი უნიკოდში შედის და პირდაპირ ჩანაცვლება რუსული ტექსტის ქართულით არ გამოდის.


გავაგრძელოთ სტალკერზე საუბარი, რამეთუ ეს პროექტი ჩემი ცხოვრების ნაწილი გახდა. შრიფტების ორი ვარიანტი არსებობს - 1. სისტემური და 2. დახატული. სისტემური შრიფტები კომპს მოყვება ან თამაში აყენებს თვითონ. თამაშის რომელიღაც ფაილში იქნება მითითება, რომ ეს პროგრამა იყენებს ამა და ამ შრიფტსო. აი მაგალითად Half-Life 2 -ზე რომ ვმუშაობდი, სწორედ ასეთი შემთხვევა იყო. გაგიჩნდებათ შეკითხვა: საიდან გაიგე რომელ ფაილში ეწერა შრიფტებზე ინფორმაციაო. ჰოდა აი სწორედ აქაა საჭირო ნებისყოფა: უნდა გუგლოთ, ინტუიცია გამოიყენოთ, შეამოწმოთ თამაშის ფაილები და შეიძლება გაგიმართლოთ. ახლა ზუსტად არ მახსოვს, მაგრამ დაახლოებით ასეთი ჩანაწერი ქონდა ჰალფ ლაიფს ერთ ერთ ტექსტურ ფაილში: Font1 = HalfLife, Font2 = Arial - და აი აქ მივხვდი, რომ მივაგენი. :)


როგორც წესი თამაშში გვხვდება ხოლმე მეორე ვარიანტი, დახატული შრიფტები. არ ვიცი რატომ, ალბათ უფრო ნაკლები სიჩქარე ჭირდება მათ გამოტანას. მოკლედ, DDS ფაილია ან PNG - მასთან ერთად აუცილებლად იქნება მეორე ფაილიც, სადაც მითითებული იქნება თითოეული ასოს კოორდინატი. სტალკერის შემთხვევაში იყო შრიფტების აუარება კომბინაცია ეკრანის კონკრეტული ზომებისათვის. მე გავაკეთე 1024 წერტილზე სამუშაო შრიფტები და სადღაც 1 თვე დამჭირდა ბოლოში გასასვლელად. გადაბმულად რომ მემუშავა, 2 დღეში მოვრჩებოდი, მაგრამ ენთუზიაზმზე სამუშაოდ ეს კარგი დროა. მოკლედ, ამ DDS ფაილს მოყვა მეორე ტექსტური ფაილი, სადაც ეწერა ასოს კოდი ANSII კოდირებაში (მაგალითად Space არის 32 სიმბოლო), მისი საწყისი კოორდინატები (X და Y), ასევე მისი საბოლოო კოორდინატები. ძალიან კარგი პროგრამაა Paint ამ შემთხვევაში. აი ნახეთ, კურსორი რომ დაგყავთ ეკრანზე, დაბლა მარცხენა კუთხეში ეწერება მისი კოორდინატები. იღებთ ამ შრიფტების სურათს (ზედა სურათზე როგორიცაა), აგდებთ ფოტოშოპში, გადაახატავთ ქართულ ასოებს, ინახავთ იგივე პარამეტრებით (სხვათა შორის DDS-ს დაჭირდა გამჭვირვალობის მითითება, რადგან ეს დირექტიქსის ფორმატია), მერე ავსებთ იმ კოორდინატების ფაილს და ეგაა!


შეიძლება მეორე ვარიანტიც, რომელიც საერთოდ არაა რეკომენდირებული, მაგრამ გასართობად წავა: ვიღებთ მარტო შრიფტების სურათს და ვცდილობთ "ჩავტენოთ" ქართული ასოები. ეს ცუდია იმის გამო, რომ მაგალითად ლათინური "l" მეტისმეტად ვიწროა ქართული "ლ"-ს ჩასატევად. ასევე რთულია განიერი "m"-ს ადგილას ვიწრო "მ" ჩაეტიოს. საერთო ჯამში თამაში გაქართულდება, მაგრამ აჩხა-ბაჩხა გამოვა ასოები და მოგეშლება ნერვები კაცს.


შრიფტებს რომ მიხედავ ასე თუ ისე, წინ გაცილებით დიდი სამუშაოა დარჩენილი - ტექსტის თარგმნა. სტალკერს 3000 - 3500 სტრიქონი აქვს სათარგმნი. ეს ბევრი არაა, თუ Half-Life 2 ის 5000-მდე სტრიქონს გავიხსენებთ. ყველაზე ადვილი მეჩვენება Plants vs Zombies თარგმანი - მოკლე ფრაზები იყო და სახალისო. მანდ უფრო პრობლემა მცენარეების სახელებზე იყო. მაგალითად Sun Mushroom - სოკომზისა - კარგად ჟღერს. ისევე როგორც Tall Nut - მაღალი კაკლის ნაცვლად გრძელკაკალა. ანუ თარგმანში მთავარია არა პირდაპირი თარგმანი, არამედ სულის შენარჩუნება. პირდაპირი თარგმანის დროს ძალიან მეცნიერული და მშრალი გამოდის ხოლმე ტექსტები. ჩემს პრაქტიკაში მასეა ყოველთვის. აი Assasin's Creed 2 ს რომ ვთარგმნიდი, ხომ ჩავათავებდი ტექსტს, მერე წავითამაშებდი რომ გამეგო, რამდენად ჯდება კონტექსტში ეს ჩემი თარგმანი. Max Payne 2 ზე არ გავაკეთეთ ასე, ხოდა რა გამოვიდა? მაქსი გამოვიდა ლიფტიდან, ლეიტენანტი მიუბრუნდა და ეუბნება: "შენ ეს შეძელი!" - "You did it!" - არადა სინამდვილეში "ეს შენ ჩაიდინე!" უნდა ყოფილიყო.


ასეთი შეცდომების გასასწორებლად საჭიროა ბეტა ტესტინგი. ფორუმ.გე -ზე თამაშების განყოფილებაში ძალიან ჯიგარი ხალხია, ტესტირებაზე უარს არ ამბობენ ხოლმე. მთავარია კარგი თამაში და კარგი ნათარგმნი იყოს. ხოდა თუ არ გამოვა ეს ამბავი, მაშინ თქვენ თვითონ უნდა დატესტოთ - გადაითამაშეთ და ტექსტებს მიაქციეთ ყურადღება. პრინციპში სულ ესაა, მთელი ფილოსოფია. შეიძლება ერთიანი საინსტალაციო გაკეთდეს, როგორც მე გავაკეთე სტალკერისთვის პაჩის სახით. სხვათა შორის აი ეს ლინკი ნახეთ, ამაზე მხიარული ფერმაა და 2009 წლის აქაჩული კია, მარა ლინკი მაინც მუშაობს. კარგი სამუშაო რამეა, გამოდგება დასაწყისისთვის.

No comments: