{"id":2204,"date":"2026-09-09T09:20:45","date_gmt":"2026-09-09T09:20:45","guid":{"rendered":"https:\/\/socs.binus.ac.id\/game\/?p=2204"},"modified":"2026-09-11T13:02:03","modified_gmt":"2026-09-11T13:02:03","slug":"game-dengan-grafik-ps1-di-godot-manfaatkan-add-on-open-source-untuk-visual-retro","status":"publish","type":"post","link":"https:\/\/socs.binus.ac.id\/game\/2026\/09\/09\/game-dengan-grafik-ps1-di-godot-manfaatkan-add-on-open-source-untuk-visual-retro\/","title":{"rendered":"Grafik PS1 di Godot, Manfaatkan Add-on Open Source untuk Visual Retro"},"content":{"rendered":"<div class=\"qMYqUG_convSearchResultHighlightRoot\" style=\"text-align: left\">\n<div class=\"\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-is-intersecting=\"true\">\n<section class=\"text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-testid=\"conversation-turn-14\" data-turn=\"assistant\">\n<div class=\"text-base my-auto mx-auto pb-8 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" data-conversation-screenshot-content=\"\">\n<div class=\"flex max-w-full flex-col gap-4 grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;]:mt-1\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"20acb514-28dd-43f2-9e0a-5deff6a1e4f0\" data-turn-start-message=\"true\" data-message-model-slug=\"gpt-5-6\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden\">\n<div class=\"fbskMG_root markdown prose dark:prose-invert wrap-break-word w-full dark markdown-new-styling\">\n<p data-start=\"85\" data-end=\"383\">Gaya visual\u00a0game\u00a0era PlayStation 1 masih memiliki daya tarik tersendiri. Tekstur beresolusi rendah, warna terbatas, serta gerakan vertex yang patah-patah membuat visual PS1 terasa unik. Kini, developer dapat menghadirkan kembali karakteristik tersebut dalam\u00a0game\u00a0modern menggunakan Godot 4.<\/p>\n<p data-start=\"385\" data-end=\"638\">Calin P. mengembangkan\u00a0godot-psxlike, sebuah add-on open source untuk meniru berbagai karakteristik rendering PlayStation 1 di Godot. Proyek ini lahir dari pengalamannya saat membuat emulator PS1 bernama P-chan.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"12qtwsr\" data-start=\"640\" data-end=\"676\">Mengapa Grafik PS1 Terlihat Unik?<\/h1>\n<h1><span style=\"font-size: 12pt\"><em><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2206 size-full\" src=\"https:\/\/socs.binus.ac.id\/game\/wp-content\/uploads\/sites\/2\/2026\/09\/image_2026-09-09_161937052.png\" alt=\"\" width=\"769\" height=\"474\" \/>Source:<a href=\"https:\/\/jettelly.com\/blog\/recreating-the-ps1-s-rendering-quirks-in-godot\"> https:\/\/jettelly.com\/blog\/recreating-the-ps1-s-rendering-quirks-in-godot<\/a><\/em><\/span><\/h1>\n<div class=\"qMYqUG_convSearchResultHighlightRoot\" style=\"text-align: left\">\n<div class=\"\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-is-intersecting=\"true\">\n<section class=\"text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-testid=\"conversation-turn-14\" data-turn=\"assistant\">\n<div class=\"text-base my-auto mx-auto pb-8 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" data-conversation-screenshot-content=\"\">\n<div class=\"flex max-w-full flex-col gap-4 grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;]:mt-1\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"20acb514-28dd-43f2-9e0a-5deff6a1e4f0\" data-turn-start-message=\"true\" data-message-model-slug=\"gpt-5-6\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden\">\n<div class=\"fbskMG_root markdown prose dark:prose-invert wrap-break-word w-full dark markdown-new-styling\">\n<p data-start=\"678\" data-end=\"839\">Tampilan\u00a0game\u00a0PS1 tidak hanya berasal dari tekstur beresolusi rendah. Hardware konsol tersebut menggunakan pendekatan rendering yang berbeda dari GPU modern.<\/p>\n<p data-start=\"841\" data-end=\"1036\">PS1 memiliki GPU dengan kemampuan rendering yang jauh lebih terbatas. Konsol ini juga tidak menggunakan depth buffer modern. Sebaliknya, CPU mengatur urutan polygon sebelum mengirimkannya ke GPU.<\/p>\n<p data-start=\"1038\" data-end=\"1218\">Keterbatasan tersebut menghasilkan berbagai artefak visual. Menariknya, developer modern justru sering memanfaatkan artefak itu sebagai bagian dari identitas visual\u00a0game\u00a0retro.<\/p>\n<p data-start=\"1220\" data-end=\"1437\">Karena itu, developer tidak cukup hanya menurunkan resolusi tekstur. Untuk mendapatkan tampilan PS1 yang lebih meyakinkan,\u00a0game\u00a0juga perlu meniru cara hardware lama menangani vertex, tekstur, warna, dan kedalaman.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"1yszita\" data-start=\"1439\" data-end=\"1485\">Add-on Godot untuk Membuat Game Bergaya PS1<\/h1>\n<div class=\"qMYqUG_convSearchResultHighlightRoot\" style=\"text-align: left\">\n<div class=\"\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-is-intersecting=\"true\">\n<section class=\"text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-testid=\"conversation-turn-14\" data-turn=\"assistant\">\n<div class=\"text-base my-auto mx-auto pb-8 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" data-conversation-screenshot-content=\"\">\n<div class=\"flex max-w-full flex-col gap-4 grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;]:mt-1\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"20acb514-28dd-43f2-9e0a-5deff6a1e4f0\" data-turn-start-message=\"true\" data-message-model-slug=\"gpt-5-6\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden\">\n<div class=\"fbskMG_root markdown prose dark:prose-invert wrap-break-word w-full dark markdown-new-styling\">\n<p data-start=\"1487\" data-end=\"1645\">Calin P. membuat\u00a0godot-psxlike\u00a0untuk Godot 4. Add-on ini menghadirkan beberapa karakteristik rendering PS1 ke dalam workflow pengembangan\u00a0game\u00a0modern.<\/p>\n<p data-start=\"1647\" data-end=\"1777\">Sistemnya tidak hanya mengandalkan post-processing. Add-on tersebut menangani beberapa bagian rendering secara langsung, termasuk:<\/p>\n<ul data-start=\"1779\" data-end=\"1903\">\n<li data-section-id=\"uakf94\" data-start=\"1779\" data-end=\"1803\">Affine texture mapping<\/li>\n<li data-section-id=\"14dhh98\" data-start=\"1804\" data-end=\"1821\">Vertex snapping<\/li>\n<li data-section-id=\"1j2s5tg\" data-start=\"1822\" data-end=\"1843\">Flat triangle depth<\/li>\n<li data-section-id=\"19h74um\" data-start=\"1844\" data-end=\"1855\">Dithering<\/li>\n<li data-section-id=\"15feqrw\" data-start=\"1856\" data-end=\"1873\">Color reduction<\/li>\n<li data-section-id=\"1soupmg\" data-start=\"1874\" data-end=\"1903\">Pencahayaan berbasis vertex<\/li>\n<\/ul>\n<p data-start=\"1905\" data-end=\"2148\">Pendekatan ini membuat developer dapat membangun\u00a0game\u00a0dengan tampilan PS1 tanpa harus menggunakan hardware lama. Repository proyek tersebut juga tersedia secara open source dan menggunakan lisensi MIT.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"30v0fm\" data-start=\"2150\" data-end=\"2208\">Affine Texture Mapping Membuat Tekstur Game Lebih Retro<\/h1>\n<h1><span style=\"font-size: 12pt\"><em><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2205 size-full\" src=\"https:\/\/socs.binus.ac.id\/game\/wp-content\/uploads\/sites\/2\/2026\/09\/image_2026-09-09_161917185.png\" alt=\"\" width=\"1184\" height=\"641\" \/>Source:<a href=\"https:\/\/jettelly.com\/blog\/recreating-the-ps1-s-rendering-quirks-in-godot\"> https:\/\/jettelly.com\/blog\/recreating-the-ps1-s-rendering-quirks-in-godot<\/a><\/em><\/span><\/h1>\n<div class=\"qMYqUG_convSearchResultHighlightRoot\" style=\"text-align: left\">\n<div class=\"\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-is-intersecting=\"true\">\n<section class=\"text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-testid=\"conversation-turn-14\" data-turn=\"assistant\">\n<div class=\"text-base my-auto mx-auto pb-8 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" data-conversation-screenshot-content=\"\">\n<div class=\"flex max-w-full flex-col gap-4 grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;]:mt-1\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"20acb514-28dd-43f2-9e0a-5deff6a1e4f0\" data-turn-start-message=\"true\" data-message-model-slug=\"gpt-5-6\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden\">\n<div class=\"fbskMG_root markdown prose dark:prose-invert wrap-break-word w-full dark markdown-new-styling\">\n<p data-start=\"2210\" data-end=\"2350\">Salah satu ciri khas\u00a0game\u00a0PS1 adalah tekstur yang terlihat bergeser atau melengkung ketika permukaan objek bergerak menjauh dari kamera.<\/p>\n<p data-start=\"2352\" data-end=\"2524\">GPU modern biasanya menggunakan perspective correction untuk mengatur koordinat tekstur. PS1 menggunakan pendekatan berbeda yang dikenal sebagai\u00a0affine texture mapping.<\/p>\n<p data-start=\"2526\" data-end=\"2678\">Calin meniru efek tersebut dengan mengubah cara sistem menangani koordinat UV. Teknik ini mengurangi koreksi perspektif yang biasa dilakukan GPU modern.<\/p>\n<p data-start=\"2680\" data-end=\"2769\">Hasilnya, tekstur dapat menampilkan distorsi yang lebih mirip dengan\u00a0game\u00a03D era PS1.<\/p>\n<p data-start=\"2771\" data-end=\"3017\">Efek ini juga menjadi salah satu alasan mengapa permukaan pada\u00a0game\u00a0PS1 terlihat sedikit \u201cwobbly\u201d. Distorsi tersebut mungkin terlihat sebagai kekurangan pada teknologi lama. Namun, kini efek yang sama justru membantu membangun estetika retro.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"1t0qoqo\" data-start=\"3019\" data-end=\"3062\">Vertex Wobble Menjadi Ciri Khas Game PS1<\/h1>\n<div class=\"qMYqUG_convSearchResultHighlightRoot\" style=\"text-align: left\">\n<div class=\"\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-is-intersecting=\"true\">\n<section class=\"text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-testid=\"conversation-turn-14\" data-turn=\"assistant\">\n<div class=\"text-base my-auto mx-auto pb-8 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" data-conversation-screenshot-content=\"\">\n<div class=\"flex max-w-full flex-col gap-4 grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;]:mt-1\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"20acb514-28dd-43f2-9e0a-5deff6a1e4f0\" data-turn-start-message=\"true\" data-message-model-slug=\"gpt-5-6\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden\">\n<div class=\"fbskMG_root markdown prose dark:prose-invert wrap-break-word w-full dark markdown-new-styling\">\n<p data-start=\"3064\" data-end=\"3142\">Selain tekstur, posisi vertex juga berperan besar dalam tampilan\u00a0game\u00a0PS1.<\/p>\n<p data-start=\"3144\" data-end=\"3306\">GPU modern dapat memproses posisi objek dengan presisi tinggi. Sebaliknya, godot-psxlike memproyeksikan vertex ke layar lalu melakukan snapping ke pixel terdekat.<\/p>\n<p data-start=\"3308\" data-end=\"3480\">Ketika kamera bergerak, posisi vertex dapat berpindah secara bertahap. Pergerakan tersebut menghasilkan efek\u00a0vertex wobble\u00a0yang terlihat seperti objek sedikit bergetar.<\/p>\n<p data-start=\"3482\" data-end=\"3643\">Efek ini membuat visual\u00a0game\u00a0terasa lebih kasar dan tidak stabil. Justru karena itulah vertex wobble menjadi salah satu elemen penting dalam gaya visual PS1.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"1lf1pbv\" data-start=\"3645\" data-end=\"3695\">Game PS1 Tidak Mengandalkan Depth Buffer Modern<\/h1>\n<div class=\"qMYqUG_convSearchResultHighlightRoot\" style=\"text-align: left\">\n<div class=\"\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-is-intersecting=\"true\">\n<section class=\"text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-testid=\"conversation-turn-14\" data-turn=\"assistant\">\n<div class=\"text-base my-auto mx-auto pb-8 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" data-conversation-screenshot-content=\"\">\n<div class=\"flex max-w-full flex-col gap-4 grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;]:mt-1\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"20acb514-28dd-43f2-9e0a-5deff6a1e4f0\" data-turn-start-message=\"true\" data-message-model-slug=\"gpt-5-6\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden\">\n<div class=\"fbskMG_root markdown prose dark:prose-invert wrap-break-word w-full dark markdown-new-styling\">\n<p data-start=\"3697\" data-end=\"3833\">PS1 juga memiliki pendekatan berbeda dalam menangani kedalaman objek. Konsol tersebut tidak menggunakan depth buffer seperti GPU modern.<\/p>\n<p data-start=\"3835\" data-end=\"4047\">Sistem rendering lebih mengandalkan urutan polygon untuk menentukan objek yang tampil di depan. Akibatnya, satu triangle terkadang dapat menutupi triangle lain meskipun posisi geometrinya tidak sepenuhnya sesuai.<\/p>\n<p data-start=\"4049\" data-end=\"4239\">Godot-psxlike mencoba mendekati perilaku tersebut dengan menggunakan satu nilai depth untuk setiap triangle. Teknik ini dapat menghasilkan artefak yang mengingatkan pemain pada\u00a0game\u00a0PS1.<\/p>\n<p data-start=\"4241\" data-end=\"4453\">Namun, developer dan artist perlu memperhatikan ukuran polygon. Polygon yang terlalu besar dapat menghasilkan artefak berlebihan. Karena itu, pengaturan mesh tetap penting ketika membuat\u00a0game\u00a0dengan gaya PS1.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"1ojtydh\" data-start=\"4455\" data-end=\"4486\">Warna Terbatas dan Dithering<\/h1>\n<div class=\"qMYqUG_convSearchResultHighlightRoot\" style=\"text-align: left\">\n<div class=\"\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-is-intersecting=\"true\">\n<section class=\"text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-testid=\"conversation-turn-14\" data-turn=\"assistant\">\n<div class=\"text-base my-auto mx-auto pb-8 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" data-conversation-screenshot-content=\"\">\n<div class=\"flex max-w-full flex-col gap-4 grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;]:mt-1\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"20acb514-28dd-43f2-9e0a-5deff6a1e4f0\" data-turn-start-message=\"true\" data-message-model-slug=\"gpt-5-6\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden\">\n<div class=\"fbskMG_root markdown prose dark:prose-invert wrap-break-word w-full dark markdown-new-styling\">\n<p data-start=\"4488\" data-end=\"4643\">Rendering PS1 juga memiliki keterbatasan warna. Implementasi godot-psxlike menggunakan resolusi 320 \u00d7 240 dan membatasi setiap channel RGB hingga lima bit.<\/p>\n<p data-start=\"4645\" data-end=\"4781\">Add-on tersebut juga menyediakan opsi\u00a04\u00d74 dithering. Sistem ini menerapkan pola dithering pada mesh sebelum mengurangi jumlah warna.<\/p>\n<p data-start=\"4783\" data-end=\"4921\">Kombinasi resolusi rendah, warna terbatas, dan dithering membantu menciptakan tampilan\u00a0game\u00a0yang lebih dekat dengan era PlayStation 1.<\/p>\n<p data-start=\"4923\" data-end=\"5118\">Dithering juga dapat membantu mengurangi kesan gradasi warna yang terlalu halus. Dengan begitu, developer bisa mempertahankan tampilan retro tanpa harus mengandalkan tekstur yang sangat kompleks.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"1mcg5d6\" data-start=\"5120\" data-end=\"5162\">Pencahayaan Game Dibuat Lebih Sederhana<\/h1>\n<div class=\"qMYqUG_convSearchResultHighlightRoot\" style=\"text-align: left\">\n<div class=\"\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-is-intersecting=\"true\">\n<section class=\"text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-testid=\"conversation-turn-14\" data-turn=\"assistant\">\n<div class=\"text-base my-auto mx-auto pb-8 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" data-conversation-screenshot-content=\"\">\n<div class=\"flex max-w-full flex-col gap-4 grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;]:mt-1\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"20acb514-28dd-43f2-9e0a-5deff6a1e4f0\" data-turn-start-message=\"true\" data-message-model-slug=\"gpt-5-6\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden\">\n<div class=\"fbskMG_root markdown prose dark:prose-invert wrap-break-word w-full dark markdown-new-styling\">\n<p data-start=\"5164\" data-end=\"5225\">Lighting juga memengaruhi tampilan akhir sebuah\u00a0game\u00a0PS1.<\/p>\n<p data-start=\"5227\" data-end=\"5372\">Godot-psxlike menghitung directional light dan point light pada setiap vertex. Sistem kemudian mencampurkan warna tersebut di sepanjang triangle.<\/p>\n<p data-start=\"5374\" data-end=\"5548\">Hasilnya, pencahayaan terlihat lebih kasar daripada lighting pada\u00a0game\u00a0modern. Perubahan shading tetap terlihat, tetapi transisinya tidak sehalus sistem rendering modern.<\/p>\n<p data-start=\"5550\" data-end=\"5712\">Pendekatan tersebut justru membantu mempertahankan nuansa retro. Developer masih dapat menggunakan cahaya yang bergerak sambil mempertahankan karakter visual PS1.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"19mskp2\" data-start=\"5714\" data-end=\"5748\">Membawa Gaya PS1 ke Game Modern<\/h1>\n<div class=\"qMYqUG_convSearchResultHighlightRoot\" style=\"text-align: left\">\n<div class=\"\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-is-intersecting=\"true\">\n<section class=\"text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-testid=\"conversation-turn-14\" data-turn=\"assistant\">\n<div class=\"text-base my-auto mx-auto pb-8 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" data-conversation-screenshot-content=\"\">\n<div class=\"flex max-w-full flex-col gap-4 grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;]:mt-1\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"20acb514-28dd-43f2-9e0a-5deff6a1e4f0\" data-turn-start-message=\"true\" data-message-model-slug=\"gpt-5-6\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden\">\n<div class=\"fbskMG_root markdown prose dark:prose-invert wrap-break-word w-full dark markdown-new-styling\">\n<p data-start=\"5750\" data-end=\"5866\">Teknik ini cocok untuk developer yang ingin membuat\u00a0game\u00a0dengan gaya visual retro tanpa menggunakan konsol lama.<\/p>\n<p data-start=\"5868\" data-end=\"6030\">Godot 4 menyediakan lingkungan pengembangan modern. Sementara itu, godot-psxlike membantu menghadirkan berbagai keterbatasan rendering yang menjadi ciri khas PS1.<\/p>\n<p data-start=\"6032\" data-end=\"6119\">Developer dapat menggunakan pendekatan tersebut untuk berbagai genre\u00a0game, seperti:<\/p>\n<ul data-start=\"6121\" data-end=\"6190\">\n<li data-section-id=\"1mw45v6\" data-start=\"6121\" data-end=\"6129\">Horror<\/li>\n<li data-section-id=\"1wheyiu\" data-start=\"6130\" data-end=\"6141\">Adventure<\/li>\n<li data-section-id=\"2yi4ec\" data-start=\"6142\" data-end=\"6150\">Puzzle<\/li>\n<li data-section-id=\"1waeqqe\" data-start=\"6151\" data-end=\"6159\">Action<\/li>\n<li data-section-id=\"1aiz6uw\" data-start=\"6160\" data-end=\"6170\">Survival<\/li>\n<li data-section-id=\"1qhxo22\" data-start=\"6171\" data-end=\"6190\">Experimental game<\/li>\n<\/ul>\n<p data-start=\"6192\" data-end=\"6394\">Menariknya, keterbatasan visual juga dapat menjadi bagian dari identitas sebuah\u00a0game. Developer tidak perlu mengejar grafis realistis jika gaya visual retro justru lebih sesuai dengan konsep proyek.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"b2wex5\" data-start=\"6396\" data-end=\"6458\">Teknik Rendering Ini Digunakan dalam STAR BREW: OVEREXTRACT<\/h1>\n<div class=\"qMYqUG_convSearchResultHighlightRoot\" style=\"text-align: left\">\n<div class=\"\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-is-intersecting=\"true\">\n<section class=\"text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-testid=\"conversation-turn-14\" data-turn=\"assistant\">\n<div class=\"text-base my-auto mx-auto pb-8 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" data-conversation-screenshot-content=\"\">\n<div class=\"flex max-w-full flex-col gap-4 grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;]:mt-1\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"20acb514-28dd-43f2-9e0a-5deff6a1e4f0\" data-turn-start-message=\"true\" data-message-model-slug=\"gpt-5-6\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden\">\n<div class=\"fbskMG_root markdown prose dark:prose-invert wrap-break-word w-full dark markdown-new-styling\">\n<p data-start=\"6460\" data-end=\"6592\">Teknik rendering tersebut juga muncul dalam\u00a0STAR BREW: OVEREXTRACT, sebuah game puzzle dengan visual yang terinspirasi dari PS1.<\/p>\n<p data-start=\"6594\" data-end=\"6755\">Game ini mengajak pemain membuat kopi pour-over dengan tampilan retro. Calin menggunakan pendekatan rendering yang sama untuk mempertahankan karakter visual PS1.<\/p>\n<p data-start=\"6757\" data-end=\"6931\">Contoh tersebut menunjukkan bahwa teknik PS1 tidak hanya cocok untuk eksperimen teknologi. Developer juga dapat menggunakannya sebagai bagian dari pipeline produksi\u00a0game.<\/p>\n<p data-start=\"6933\" data-end=\"7098\">Dengan pendekatan yang tepat, efek seperti vertex wobble, affine texture mapping, dan warna terbatas dapat menjadi bagian penting dari art direction sebuah\u00a0game.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"wpxq7k\" data-start=\"7100\" data-end=\"7157\">Open Source dan Berguna untuk Belajar Game Development<\/h1>\n<div class=\"qMYqUG_convSearchResultHighlightRoot\" style=\"text-align: left\">\n<div class=\"\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-is-intersecting=\"true\">\n<section class=\"text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-testid=\"conversation-turn-14\" data-turn=\"assistant\">\n<div class=\"text-base my-auto mx-auto pb-8 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" data-conversation-screenshot-content=\"\">\n<div class=\"flex max-w-full flex-col gap-4 grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;]:mt-1\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"20acb514-28dd-43f2-9e0a-5deff6a1e4f0\" data-turn-start-message=\"true\" data-message-model-slug=\"gpt-5-6\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden\">\n<div class=\"fbskMG_root markdown prose dark:prose-invert wrap-break-word w-full dark markdown-new-styling\">\n<p data-start=\"7159\" data-end=\"7375\">Salah satu kelebihan godot-psxlike adalah sifatnya yang open source. Developer dapat mempelajari implementasi shader dan berbagai teknik rendering yang digunakan proyek tersebut.<\/p>\n<p data-start=\"7377\" data-end=\"7500\">Proyek ini juga dapat menjadi referensi bagi\u00a0game developer\u00a0yang ingin memahami hubungan antara hardware dan rendering.<\/p>\n<p data-start=\"7502\" data-end=\"7711\">Dengan mempelajari affine texture mapping, vertex snapping, dithering, flat triangle depth, dan lighting berbasis vertex, developer bisa memahami mengapa visual\u00a0game\u00a0lama terlihat berbeda dari game modern.<\/p>\n<p data-start=\"7713\" data-end=\"8015\">Pendekatan serupa juga muncul dalam berbagai proyek shader PS1 untuk Godot. Beberapa implementasi lain menyediakan fitur seperti vertex snapping, affine texture mapping, color reduction, dithering, dan fog untuk membantu developer menciptakan\u00a0game\u00a0bergaya PS1.<\/p>\n<hr \/>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<h1 style=\"text-align: left\" data-section-id=\"1806px6\" data-start=\"8017\" data-end=\"8030\">Kesimpulan<\/h1>\n<div class=\"qMYqUG_convSearchResultHighlightRoot\">\n<div class=\"\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-is-intersecting=\"true\">\n<section class=\"text-token-text-primary w-full focus:outline-none has-data-writing-block:pointer-events-none [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-turn-id-container=\"request-6a562966-bb5c-83ec-810d-4d6899b64bca-1\" data-testid=\"conversation-turn-14\" data-turn=\"assistant\">\n<div class=\"text-base my-auto mx-auto pb-8 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" data-conversation-screenshot-content=\"\">\n<div class=\"flex max-w-full flex-col gap-4 grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;]:mt-1\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"20acb514-28dd-43f2-9e0a-5deff6a1e4f0\" data-turn-start-message=\"true\" data-message-model-slug=\"gpt-5-6\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden\">\n<div class=\"fbskMG_root markdown prose dark:prose-invert wrap-break-word w-full dark markdown-new-styling\">\n<p style=\"text-align: left\" data-start=\"8032\" data-end=\"8322\">godot-psxlike\u00a0menunjukkan bahwa developer dapat membawa kembali karakteristik rendering PS1 ke dalam\u00a0game\u00a0modern berbasis Godot 4. Add-on ini tidak sekadar menurunkan resolusi gambar. Sistemnya juga meniru berbagai keterbatasan hardware yang membentuk estetika visual PlayStation 1.<\/p>\n<p style=\"text-align: left\" data-start=\"8324\" data-end=\"8530\">Mulai dari\u00a0affine texture mapping,\u00a0vertex wobble, flat triangle depth, warna terbatas, dithering, hingga pencahayaan sederhana, setiap teknik membantu menciptakan visual retro yang lebih meyakinkan.<\/p>\n<p style=\"text-align: left\" data-start=\"8532\" data-end=\"8798\">Bagi kamu yang tertarik dengan\u00a0game development, Godot, technical art, atau rendering, proyek ini bisa menjadi referensi menarik. Kamu juga dapat mempelajari bagaimana keterbatasan hardware lama justru menghasilkan gaya visual yang masih populer sampai sekarang.<\/p>\n<p style=\"text-align: left\" data-start=\"8800\" data-end=\"8936\" data-is-last-node=\"\" data-is-only-node=\"\">Informasi lebih lanjut mengenai teknik tersebut dan add-on godot-psxlike dapat kamu lihat melalui\u00a0<span class=\"contents\" data-content-reference-start=\"8839\" data-content-reference-end=\"8965\"><span class=\"\" data-state=\"closed\"><a class=\"decorated-link\" href=\"https:\/\/jettelly.com\/blog\/recreating-the-ps1-s-rendering-quirks-in-godot?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noopener\">artikel Jettelly tentang rendering PS1 di Godot<\/a><\/span><\/span>.<\/p>\n<p style=\"font-size: 11pt;margin-top: 40px;padding-top: 20px;border-top: 1px solid #eee\">Referensi:<br \/>\n<a href=\"https:\/\/x.com\/jettelly\/status\/2095602933781913803\">X.com<\/a><br \/>\n<a href=\"https:\/\/socs.binus.ac.id\/game\/\">Game Application and Technology<\/a><\/p>\n<p><!-- Author Box --><\/p>\n<div style=\"flex-wrap: wrap;justify-content: space-between;background: linear-gradient(135deg, #fb8e16 0%, #e86c00 100%);padding: 20px;border-radius: 15px;color: white;margin: 50px 0\">\n<p style=\"color: white\"><!-- Author --><\/p>\n<div style=\"flex: 1;min-width: 250px;align-items: center;margin-bottom: 10px\">\n<div style=\"width: 70px;height: 70px;border-radius: 50%;background: white;margin-right: 15px;overflow: hidden;border: 2px solid white;flex-shrink: 0\">\n<h1><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1143\" src=\"https:\/\/socs.binus.ac.id\/game\/wp-content\/uploads\/sites\/2\/2026\/03\/image_2026-03-09_152905006.png\" alt=\"\" width=\"1864\" height=\"2056\" \/><\/h1>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1043 size-full\" src=\"https:\/\/socs.binus.ac.id\/game\/wp-content\/uploads\/sites\/2\/2026\/02\/image011.png\" alt=\"Kelvin\" width=\"570\" height=\"570\" \/><\/p>\n<\/div>\n<h3 style=\"margin: 0 0 3px;font-size: 16px\">Eduard Sutanto<\/h3>\n<p style=\"margin: 0;font-size: 13px;font-weight: 600\">Author<\/p>\n<p style=\"margin: 0;font-size: 12px;opacity: 0.9\">Content Creator Intern @BINUS Game Application &amp; Technology<\/p>\n<p style=\"color: white\"><!-- Editor --><\/p>\n<div style=\"flex: 1;min-width: 250px;align-items: center;padding-top: 20px;border-top: 1px solid #eee\">\n<div style=\"width: 70px;height: 70px;border-radius: 50%;background: white;margin-right: 15px;overflow: hidden;border: 2px solid white;flex-shrink: 0\"><img decoding=\"async\" style=\"width: 100%;height: 100%;object-fit: cover\" src=\"https:\/\/socs.binus.ac.id\/game\/wp-content\/uploads\/sites\/2\/2025\/07\/Fajar.jpg\" alt=\"Muhamad Fajar\" \/><\/div>\n<div>\n<h3 style=\"margin: 0 0 3px;font-size: 16px\">Muhamad Fajar<\/h3>\n<p style=\"margin: 0;font-size: 13px;font-weight: 600\">Editor<\/p>\n<p style=\"margin: 0;font-size: 12px;opacity: 0.9\">Lecturer @BINUS Game Application Technology<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Gaya visual\u00a0game\u00a0era PlayStation 1 masih memiliki daya tarik tersendiri. Tekstur beresolusi rendah, warna terbatas, serta gerakan vertex yang patah-patah membuat visual PS1 terasa unik. Kini, developer dapat menghadirkan kembali karakteristik tersebut dalam\u00a0game\u00a0modern menggunakan Godot 4. Calin P. mengembangkan\u00a0godot-psxlike, sebuah add-on open source untuk meniru berbagai karakteristik rendering PlayStation 1 di Godot. Proyek ini lahir dari [&hellip;]<\/p>\n","protected":false},"author":704,"featured_media":2206,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-2204","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-article"],"_links":{"self":[{"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/posts\/2204","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/users\/704"}],"replies":[{"embeddable":true,"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/comments?post=2204"}],"version-history":[{"count":2,"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/posts\/2204\/revisions"}],"predecessor-version":[{"id":2228,"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/posts\/2204\/revisions\/2228"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/media\/2206"}],"wp:attachment":[{"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/media?parent=2204"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/categories?post=2204"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/socs.binus.ac.id\/game\/wp-json\/wp\/v2\/tags?post=2204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}