Main Page: Difference between revisions

From Virtujoy Documentation
No edit summary
No edit summary
Line 1: Line 1:
<h2>Web Sensor API</h2>
Dokumentasi penelitian dan pengembangan proyek capstone. __TOC__
'''Sensor API''' mengekspos fungsionalitas sensor device hardware.[https://developer.mozilla.org/en-US/docs/Web/API/Sensor_APIs] Mungkin kita bisa mengembangkan web app yang mengumpulkan data sensor dan mengirimkannya ke server game?
 
<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.