Main Page: Difference between revisions
From Virtujoy Documentation
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
<h2> | Dokumentasi penelitian dan pengembangan proyek capstone. __TOC__ | ||
<h2>Apa yang hendak kita buat?</h2> | |||
<b>Ringkasnya:</b> Game PC yang menggunakan smartphone sebagai perangkat input (input peripheral). | |||
<b>Why pick this topic?</b> | |||
* Mahasiswa tertarik mengerjakan sesuatu yang berhubungan erat dengan HCI/IMK. | |||
* Smartphone modern dilengkapi dengan aneka sensor. Sensor-based input bisa jadi lebih baik dalam memperkirakan gerakan pemain ketimbang webcam-based input (≫ refer to proyek MDH). | |||
* Memenuhi persyaratan AI untuk capstone. Data sensor bisa dijadikan input bagi model ML, yang mencoba memprediksi gerakan yang user lakukan (memukul, melempar, dst.). | |||
* Memenuhi persyaratan fungsi pengendalian hardware untuk capstone. | |||
* Terdapat potensi signifikan untuk pemanfaatan reinforcement learning (≫ mencegah complaint proyek terlalu sederhana dari dosen). | |||
<b>Why not pick this topic?</b> | |||
* Apparently proyek non-deep-learning mendapatkan skor yang lebih rendah? Mungkin saja deep learning tidak dibutuhkan untuk use case game ini. | |||
* Bahkan, bisa jadi rekognisi gerakan pemain sebetulnya tidak memerlukan machine learning sama sekali. Diperlukan pendalaman lebih lanjut untuk menentukan bila sistem rule-based sebenarnya sudah sangat oke untuk use case kita. | |||
<b>Things to note about:</b> | |||
* Game yang mau dibuat 3D (supaya keren). | |||
<h2>Game engine</h2> | |||
Godot. | |||
<h2>Sensor API</h2> | |||
<h3>Web</h3> | |||
Sensor API pada web mengekspos fungsionalitas sensor device hardware.[https://developer.mozilla.org/en-US/docs/Web/API/Sensor_APIs] | |||
* LinearAccelerationSensor (percepatan tanpa gravitasi, pada sumbu XYZ) | |||
* OrientationSensor (orientasi XYZW, alias quarternion) | |||
Di sini, kita bisa mengembangkan web app yang mengumpulkan data sensor dan mengirimkannya ke server game. | |||
Catatan: Sensor API hanya didukung browser tertentu (misalnya Chrome). | Catatan: Sensor API hanya didukung browser tertentu (misalnya Chrome). | ||
| Line 32: | Line 59: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<h3>Native mobile (Android)</h3> | |||
Di satu sisi, Android juga memiliki Sensor API.[https://developer.android.com/reference/android/hardware/Sensor] Namun, pengembangan native mobile app jauh lebih menyusahkan ketimbang web app. | |||
<h3>Kesimpulan</h3> | |||
Pilih web bila memungkinkan. | |||
<h2></h2> | |||
Revision as of 12:09, 13 September 2025
Dokumentasi penelitian dan pengembangan proyek capstone.
Apa yang hendak kita buat?
Ringkasnya: Game PC yang menggunakan smartphone sebagai perangkat input (input peripheral).
Why pick this topic?
- Mahasiswa tertarik mengerjakan sesuatu yang berhubungan erat dengan HCI/IMK.
- Smartphone modern dilengkapi dengan aneka sensor. Sensor-based input bisa jadi lebih baik dalam memperkirakan gerakan pemain ketimbang webcam-based input (≫ refer to proyek MDH).
- Memenuhi persyaratan AI untuk capstone. Data sensor bisa dijadikan input bagi model ML, yang mencoba memprediksi gerakan yang user lakukan (memukul, melempar, dst.).
- Memenuhi persyaratan fungsi pengendalian hardware untuk capstone.
- Terdapat potensi signifikan untuk pemanfaatan reinforcement learning (≫ mencegah complaint proyek terlalu sederhana dari dosen).
Why not pick this topic?
- Apparently proyek non-deep-learning mendapatkan skor yang lebih rendah? Mungkin saja deep learning tidak dibutuhkan untuk use case game ini.
- Bahkan, bisa jadi rekognisi gerakan pemain sebetulnya tidak memerlukan machine learning sama sekali. Diperlukan pendalaman lebih lanjut untuk menentukan bila sistem rule-based sebenarnya sudah sangat oke untuk use case kita.
Things to note about:
- Game yang mau dibuat 3D (supaya keren).
Game engine
Godot.
Sensor API
Web
Sensor API pada web mengekspos fungsionalitas sensor device hardware.[1]
- LinearAccelerationSensor (percepatan tanpa gravitasi, pada sumbu XYZ)
- OrientationSensor (orientasi XYZW, alias quarternion)
Di sini, kita bisa mengembangkan web app yang mengumpulkan data sensor dan mengirimkannya ke server game.
Catatan: Sensor API hanya didukung browser tertentu (misalnya Chrome).
<ul>
<li id="gyroscope-x"></li>
<li id="gyroscope-y"></li>
<li id="gyroscope-z"></li>
</ul>
if (typeof Gyroscope === "undefined") {
alert("Gyroscope API not supported on this device/browser.")
}
else {
const gyroscope = new Gyroscope({ frequency: 60 });
const gyroscopeLabelX = document.querySelector("#gyroscope-x");
const gyroscopeLabelY = document.querySelector("#gyroscope-y");
const gyroscopeLabelZ = document.querySelector("#gyroscope-z");
gyroscope.addEventListener("reading", (e) => {
gyroscopeLabelX.innerText = `Angular velocity along the X-axis ${gyroscope.x}`;
gyroscopeLabelY.innerText = `Angular velocity along the Y-axis ${gyroscope.y}`;
gyroscopeLabelZ.innerText = `Angular velocity along the Z-axis ${gyroscope.z}`;
});
gyroscope.start();
}
Native mobile (Android)
Di satu sisi, Android juga memiliki Sensor API.[2] Namun, pengembangan native mobile app jauh lebih menyusahkan ketimbang web app.
Kesimpulan
Pilih web bila memungkinkan.