უკან დაბრუნება
Catlantean 3D: 1993 წლის სტილის შუტერი 256-ფერიანი პალიტრით
SiTech AI Team2 წთ. საკითხავი

Catlantean 3D: 1993 წლის სტილის შუტერი 256-ფერიანი პალიტრით

დეველოპერმა მარკო სტანიჩმა Catlantean 3D-ის პირველი დევლოგი გამოაქვეყნა: პირველი პირის შუტერი, აწყობილი 90-იანების დასაწყისის ტექნიკით — 320x240 გარჩევადობა, 256-ფერიანი პალიტრა და ხელით დაწერილი რენდერინგი.

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

1993 წლის წესები

სამიზნე გარჩევადობაა 320x240 256 ფერით — VGA Mode-X და არა კლასიკური 320x200 Mode 13h, რადგან 320x200 4:3 ეკრანზე არაკვადრატულ პიქსელებს იძლევა. თამაშის ლოგიკა fixed point არითმეტიკას იყენებს, რომ ქცევა ყველა პლატფორმაზე დეტერმინირებული დარჩეს; რენდერინგს კი floating point შეიძლება. დაშვებული პლატფორმული ფენა მხოლოდ კადრის ბუფერს, კლავიატურისა და მაუსის შეყვანას, აუდიო ბუფერსა და ფაილურ სისტემას მოიცავს. პალიტრის რენდერინგში ყოველი პიქსელი ერთი ბაიტია — ინდექსი 256-ფერიან პალიტრაში, ამიტომ ფერის ყოველი არჩევანი გააზრებული უნდა იყოს. 768-ბაიტიანი პალიტრა ინახავს ადგილს გამჭვირვალობისთვის, სუფთა თეთრისა და შავისთვის, დანარჩენს კი სისხლისფერ წითლებს, გასაღებებისა და კარების ფერადი კოდირებისთვის საჭირო მწვანე-ლურჯებს, ძველი ეგვიპტის პაროდია Catlantis-ის უდაბნოს ტონებს და მისი კიბერნეტიკული ოკუპანტების ნაცრისფერებს უთმობს.

განათება შეიდერების გარეშე

Catlantean 3D კლასიკური რეიკასტერია: რუკა კვადრატების ბადეა, ეკრანის ყოველი სვეტი კი DDA ალგორითმით გაივლის, რომ დადგინდეს, სად ხვდება გეომეტრიას. ჩვეულებრივ შეიდერი დაშორებულ გეომეტრიას ფერის ვექტორის კოეფიციენტზე გამრავლებით აბნელებს, პალიტრის რენდერერს კი მხოლოდ ინდექსები აქვს და ყოველი პიქსელისთვის პალიტრის გადაკითხვა ძალიან ნელია. ამიტომ ძრავა წინასწარ ითვლის კოლორმაპს: 32 სიბნელის დონე, თითოეული ფერისთვის 31 უფრო მუქი ვარიანტი, აღებული თავად პალიტრიდან. ყველაზე ახლო შედარება Oklab-ის პერცეპტულ სივრცეში ხდება და არა ევკლიდური მანძილით, რომელიც ყველაფერს ნაცრისფრისკენ მიაქანებდა; მუქი ტონები კი თბილი ელფერისკენ იწევს — პიქსელ-არტში ცნობილი hue shifting ტექნიკა. მუშაობის დროს ძებნა O(1)-ია: სტრიქონის ინდექსი ფრაგმენტის მანძილისა და ხედვის მანძილის ფარდობით მიიღება, ხოლო რადგან კედლები ვერტიკალურია, იატაკი ჰორიზონტალური და სპრაიტები ბრტყელი, ის ერთხელ ითვლება სვეტზე, ერთხელ რიგზე და ერთხელ სპრაიტზე.

აქტივები და ხელსაწყოები

გრაფიკა სამი წყაროდან მოდის: ხელით დახატული სპრაიტები, პითონის სკრიპტებით პროცედურულად აწყობილი ტექსტურები და Blender-ში დარიგებული და ანიმირებული 3D მოდელები, რომლებიც Blender-ის პითონის API-ით სპრაიტების ფურცლებად ირენდერება. რენდერები თავიდან ბუნდოვანი და გახუნებული გამოდიოდა, ამიტომ სტანიჩი კონტრასტისა და კიდეების სიცხადისთვის Blender-ის კომპოზიტორს იყენებს, შემდეგ კი სკრიპტი სურათს პალიტრაზე კვანტიზაციას უკეთებს და თამაშის TEX ფორმატში ალაგებს. მტრების სპრაიტები ყოველი ანიმაციისთვის რვა მიმართულებით ირენდერება. დონეების რედაქტირება Tiled-ში დაიწყო, მაგრამ საკუთარ wxPython რედაქტორზე გადავიდა — უჯრედების მიხედვით განათების მოხატვით, უჯრედის დროშებითა და დონის პირდაპირ გაშვებით; მისი მოდელის ნაწილი pybast-ს ეყრდნობა, პითონის ბაინდინგებს ძრავის შიდა ნაწილებზე.

გამოშვების გეგმები

სტანიჩი Catlantean 3D-ის გამოქვეყნებას 2027 წლის პირველ კვარტალში, დაახლოებით 5–8 დოლარად გეგმავს. კოდი GitHub-ზე ღია წყაროდ გამოვა, თამაშის მონაცემთა არქივი — გრაფიკა, დონეები, ხმები და მუსიკა — კი თამაშის შეძენას მოითხოვს.

SSiTech

SiTech — AI-გაძლიერებული ვებ დეველოპმენტი

ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.