Mosaic
রঙিন ইমোজি-বর্গে সারি ধরে নিজেকে আঁকে এক বিখ্যাত চিত্রকর্ম। স্ক্যানলাইন শেষ হওয়ার আগে কাজটি অনুমান করুন
PlayMemorize Mosaic সম্পর্কে
Mosaic হলো একটি "ছবিটি চিনে নাও" প্যাটার্ন-স্বীকৃতির গেম। একটি উচ্চ-রেজল্যুশন মোজাইক একটি বিখ্যাত পাবলিক-ডোমেইন শিল্পকর্ম আঁকে · Van Gogh-এর Starry Night, Hokusai-এর Great Wave, Munch-এর Scream, Picasso-এর Guernica, একটি Mondrian Composition, একটি Rothko রঙ-ক্ষেত্র · একবারে একটি এলোমেলো পিক্সেল-গুচ্ছ করে, যতক্ষণ না ছবিটি ফুটে ওঠে। আপনার কাজ: ক্যানভাস প্রকাশ শেষ হওয়ার আগে একটি বহুনির্বাচনী তালিকা থেকে ছবিটি বেছে নেওয়া। যত আগে অনুমান করেন, স্কোর তত বেশি, তাই শিল্পের ভাণ্ডারের সঙ্গে দৃষ্টিগত পরিচিতি কাজে দেয়।
ত্রিশটি ক্যানোনিকাল শিল্পকর্ম। তালিকায় আছে দশটি ক্লাসিক আলংকারিক কাজ (Starry Night, The Great Wave, The Scream, The Shipwreck of the Minotaur, Composition (Kandinsky), Picasso-এর ১৯০৭ Self-Portrait, Frida Kahlo-এর Self-Portrait, Woman with a Hat, Seated Nude, Udnie); আরও আটটি আইকনিক আলংকারিক বা শৈলীকৃত কাজ (Composition VII, Guernica, La Muse, Portrait of Dora Maar, Hand with Reflecting Sphere, Rain Princess, Feathers, Roman Mosaic); এবং বারোটি হার্ড-এজ / রঙ-ক্ষেত্র আইকন (Mondrian-এর Composition with Red Blue Yellow + Broadway Boogie Woogie, Malevich-এর Black Square + Black Cross, Rothko-এর Orange-Red ও Yellow-Blue, Albers-এর Homage to the Square in Yellow and Blue, Newman-এর Onement I, Reinhardt-এর Abstract Painting (Black), Kusama-এর Pumpkin, এবং Johns-এর Target)। প্রতিটি রাউন্ড আপনার অনুমানের পর শিল্পী, বছর ও শিল্প-আন্দোলন দেখায় · তাই আপনি একবারে এক রাউন্ড করে শিল্প-ইতিহাসের একটি মানসিক ভাণ্ডার গড়েন।
বিশুদ্ধ HTML5 Canvas। প্রতিটি ছবি প্রায় ১০০ ০০০ সমতল fillRect ব্লক হিসেবে রেন্ডার হয় · মূল ৫ ০০০-সেল প্রোটোটাইপের বিশ গুণ রেজল্যুশন, তাই সিলুয়েট ও তুলির কাজ একটি মোটা গ্রিডে গলে না গিয়ে কোয়ান্টাইজেশনে টিকে থাকে। সেলের রঙগুলো একটি ৪৫-চিপ প্যালেট থেকে নেওয়া ইমোজি-উৎসারিত হেক্স মান (মুন-ক্রিম, স্টোন-গ্রে, টেরাকোটা, পিচ, নাইট-ব্লু, ফার-গ্রিন, …) যা এমনভাবে বাছা যাতে নরম তৈলচিত্রের মধ্য-স্বরগুলো কালোতে না ভেঙে একটি বিশ্বস্ত সহোদরে নামে। প্রতিটি ছবি তার উৎস-অনুপাতও রাখে · ল্যান্ডস্কেপ কাজ ল্যান্ডস্কেপ হিসেবে, পোর্ট্রেট পোর্ট্রেট হিসেবে ফ্রেম হয়।
কোনো ছবি সংরক্ষিত নয়। রিপোজিটরি কেবল কোয়ান্টাইজড প্যালেট-ইনডেক্স স্ট্রিং পাঠায় · প্রতি সেলে একটি base-62 অক্ষর। তালিকা পুনর্গঠন বা বাড়াতে node scripts/build-mosaic-paintings.mjs চালান। আঠারোটি কাজ GitHub-এর পাবলিক ML নিউরাল-স্টাইল-ট্রান্সফার রেফারেন্স রিপো থেকে ডাউনলোড হয়; বাকি বারোটি হার্ড-এজ / রঙ-ক্ষেত্র কাজ বিল্ড স্ক্রিপ্টের ভেতরে ছোট ইনলাইন SVG স্ট্রিং হিসেবে আসে এবং sharp-এর মাধ্যমে স্থানীয়ভাবে রাস্টারাইজ হয়, তাই তারা একটি পৌঁছনো-যায় URL-এর উপর নির্ভর করে না। দুই উৎস-পথই অনুপাত রক্ষা করে প্রায় ১০০ ০০০ সেলে ফিট করতে রিসাইজ করে, নরম মধ্য-স্বরগুলো যাতে একটি রঙিন চিপে নামে সে জন্য সামান্য স্যাচুরেশন বাড়ায়, এবং প্রতিটি পিক্সেলকে অনুভূতিগত OKLab দূরত্ব ব্যবহার করে নিকটতম প্যালেট-এন্ট্রির সঙ্গে মেলায়। আউটপুট সরাসরি paintings.generated.ts-এ যায়।
নির্ধারণমূলক রাউন্ড। একই সিড সবসময় একই ছবি, একই শাফল করা পছন্দ-তালিকা ও একই এলোমেলো প্রকাশ-ক্রম তৈরি করে, তাই সেভ-কোড কাজ করে এবং গোলকধাঁধার রিজিউম-প্রবাহ চিট-প্রতিরোধী থাকে। গোটা গেমটি একটি নিবন্ধিত GameModule, তাই গোলকধাঁধা আপনাকে যেকোনো স্তরে একটি Mosaic মুখোমুখিতে ফেলতে পারে এবং গোলকধাঁধায় আপনি যে ছবি দেখেন তা স্বতন্ত্র পৃষ্ঠায় যা দেখতেন তার সঙ্গে বাইট-অভিন্ন।
PlayMemorize মস্তিষ্ক-প্রশিক্ষণ গেমের পরিবারের অংশ। পুরোপুরি আপনার ব্রাউজারে চলে, প্রোগ্রেসিভ ওয়েব অ্যাপ হিসেবে অফলাইনে কাজ করে।
FAQ
-
Mosaic কী?
Mosaic হলো একটি প্যাটার্ন-স্বীকৃতির স্ট্রিক গেম যা একই সঙ্গে একটি শিল্প-ইতিহাসের প্রাইমার হিসেবে কাজ করে। একটি উচ্চ-রেজল্যুশন মোজাইক একটি বিখ্যাত পাবলিক-ডোমেইন ছবি এলোমেলো পিক্সেল-ক্রমে আঁকে · ছবি প্রকাশ শেষ হওয়ার আগে আপনাকে একটি বহুনির্বাচনী তালিকা থেকে কাজটি শনাক্ত করতে হয়। যত আগে অনুমান করেন স্কোর তত বেশি, এবং প্রতিটি রাউন্ডের পর শিল্পী + বছর + আন্দোলন দেখানো হয়। -
তালিকায় কোন ছবিগুলো আছে?
ত্রিশটি কাজ চার শতাব্দী ও বেশিরভাগ প্রধান আন্দোলন জুড়ে বিস্তৃত। আলংকারিক ক্লাসিক: The Starry Night (Van Gogh, 1889), The Great Wave (Hokusai, 1831), The Scream (Munch, 1893), The Shipwreck of the Minotaur (Turner, 1810), Composition (Kandinsky, 1913), Picasso-এর Self-Portrait (1907), Frida Kahlo-এর Self-Portrait (1940), Woman with a Hat (Matisse, 1905), Seated Nude (Picasso, 1909), Udnie (Picabia, 1913), Composition VII (Kandinsky, 1913), Guernica (Picasso, 1937), La Muse (Picasso, 1935), Portrait of Dora Maar (Picasso, 1937), Hand with Reflecting Sphere (Escher, 1935), Rain Princess (Afremov, 2014), Feathers (Klimt-ধরন, 1908), এবং একটি Roman mosaic (প্রায় ৩য় শতাব্দী)। হার্ড-এজ / রঙ-ক্ষেত্র আইকন: Composition with Red, Blue, and Yellow (Mondrian, 1930), Broadway Boogie Woogie (Mondrian, 1943), Black Square (Malevich, 1915), Black Cross (Malevich, 1915), Orange and Red (Rothko, 1961), Yellow and Blue (Rothko, 1955), Homage to the Square in Yellow and in Blue (Albers, 1959-1965), Onement I (Newman, 1948), Abstract Painting (Reinhardt, 1963), Pumpkin (Kusama, 1990), এবং Target (Johns, 1958)। -
এলোমেলো প্রকাশ কীভাবে কাজ করে?
প্রতিটি রাউন্ড প্রায় ১০০ ০০০ সেলের একটি Fisher-Yates বিন্যাস সিড করে, তারপর সেগুলোকে সেই ক্রমে প্রতি টিকে এক ব্যাচ করে আঁকে। টিক-ব্যবধান কঠিনতা দিয়ে ঠিক হয় (Easy-তে ৫৯০ ms, Medium-এ ৩৯০ ms, Hard-এ ২৪০ ms)। একই সিড সবসময় একই ক্রম পুনরায় চালায়, তাই একটি ভাগ করা লিঙ্ক বা গোলকধাঁধা-রিজিউম ছবিটি ঠিক একইভাবে প্রকাশ করে। -
স্কোর কীভাবে গণনা হয়?
রাউন্ড শুরু হয় ১ ০০০ পয়েন্টে। যত বেশি সেল প্রকাশ পায় স্কোর তত রৈখিকভাবে কমে: স্কোর = ১ ০০০ × (অবশিষ্ট সেল / মোট সেল)। প্রথম দেখাতেই অনুমান করলে প্রায় পুরো ১ ০০০ পান; শেষ সেলে অনুমান করলে ০ পান। একটি ভুল অনুমান সবসময় ০ স্কোর করে এবং স্ট্রিক শেষ করে। -
উৎস ছবিগুলো কি রিপোতে সংরক্ষিত আছে?
না · কেবল কোয়ান্টাইজেশনের ফল। প্রতিটি ছবি প্রায় ১০০ ০০০ base-62 অক্ষরে (প্রতি সেলে একটি) সংকুচিত হয় যা রানটাইমে প্রতি-সেল হেক্স রঙে ডিকোড হয়। আঠারোটি কাজ বিল্ড-সময়ে GitHub-এর পাবলিক ML নিউরাল-স্টাইল-ট্রান্সফার রেফারেন্স রিপো থেকে URL-আনীত হয়। বাকি বারোটি · Mondrian, Malevich, Rothko, Albers, Newman, Reinhardt, Kusama, Johns · বিল্ড স্ক্রিপ্টের ভেতরে ছোট ইনলাইন SVG স্ট্রিং হিসেবে আসে এবং sharp-এর মাধ্যমে স্থানীয়ভাবে রাস্টারাইজ হয়, তাই তাদের কোনো নেটওয়ার্ক লাগে না। দুই পথই উৎস-অনুপাত রক্ষা করে প্রায় ১০০ ০০০ সেলে ফিট করতে রিসাইজ করে, নরম তৈলচিত্রের মধ্য-স্বরগুলো যাতে কালোর বদলে রঙিন প্যালেট-এন্ট্রিতে নামে সে জন্য সামান্য স্যাচুরেশন বাড়ায়, এবং প্রতিটি পিক্সেলকে অনুভূতিগত OKLab দূরত্ব ব্যবহার করে নিকটতম প্যালেট-রঙের সঙ্গে মেলায়। ফলাফল একটি ছোট TypeScript ডেটা মডিউল · সাইট কখনো উৎস-পিক্সেল পাঠায় না। -
নয়টি ইমোজি বর্গের বদলে ৪৫-চিপ প্যালেট কেন?
মূল প্রোটোটাইপ নয়টি Unicode 12 রঙ-বর্গ ইমোজি ব্যবহার করত (🟥 🟧 🟨 🟩 🟦 🟪 🟫 ⬛ ⬜)। নয়টি সমতল আভা একই চিপে বহু ছায়া ভেঙে ফেলত · ত্বকের স্বর কমলা হয়ে যেত, আকাশ-নীল ও মধ্য-নীল ও নাইট-নীল সবই 🟦-তে পড়ত, এবং নরম মধ্য-ধূসর কালো হয়ে যেত। বর্তমান ৪৫-চিপ প্যালেট এমন ইমোজি থেকে অতিরিক্ত মধ্য-স্বর নেয় যাদের Twemoji রেন্ডারিং দূর থেকে একটি নির্দিষ্ট ছায়া হিসেবে পড়ে · 🌕 মুন-ক্রিম, 🦴 আইভরি, 🌫️ ফগ-গ্রে, 🪨 স্টোন, 🐋 স্লেট, ⚱️ চারকোল, ⚫ জেট, 🍑 পিচ, 🏜️ স্যান্ড, 🦌 ফন, 🪵 উড, 🍂 রাসেট, 🍫 চকলেট, 🥬 লাইম, 🍵 মাচা, 🪺 খাকি, 🌲 ফার, 🌊 টিল, 🌌 নাইট-ব্লু, 🪻 ল্যাভেন্ডার, 🍇 গ্রেপ, 🌹 রোজ, 🌷 ম্যাজেন্টা, 🍷 ওয়াইন। বিল্ড যাচাই করে যে প্রতিটি চিপ আসলে তালিকা জুড়ে অন্তত একটি সেল দিয়ে বাছা হয়েছে, তাই কোনো স্লট নষ্ট হয় না। -
আমি কি অফলাইনে খেলতে পারি?
হ্যাঁ। PlayMemorize একটি প্রোগ্রেসিভ ওয়েব অ্যাপ এবং Mosaic অফলাইন প্রি-ক্যাশের অংশ। একবার লোড হলে প্রতিটি রাউন্ড একটি সিড থেকে স্থানীয়ভাবে তৈরি হয় · কোনো নেটওয়ার্ক লাগে না।