Mengembangkan Just Shapes & Beats Anda dan bagaimana semuanya dimulai

Sedikit tentang diri Anda

Halo, saya berusia 16 tahun dan saya suka bermain Just Shapes & Beats (JSAB). Suatu hari saya belajar tentang permainan seperti JSAB. Saya sangat asyik dengan bagian gameplay, para pengembang membuat lebih dari 30 level dari bentuk geometris sederhana - itu brilian! Tapi saya tidak ingin bermain begitu saja, saya ingin membuat sesuatu sendiri. Dan karena JSAB memiliki editor level, tetapi telah dalam pengujian pra-alfa selama lebih dari 2 tahun, dan saya ingin membuat level, saya memutuskan untuk membuat JSAB saya sendiri. Sekarang mari kita ke awal.





Permulaan dimulai

Karena saya ingin membuat game sendiri untuk waktu yang lama, tetapi saya tidak memiliki ide sendiri, saya memutuskan untuk membuat klon JSAB, tetapi menambahkan sesuatu milik saya sendiri di sana. Tentu saja, saya memilih mesin Unity, karena saya sudah lama tertarik padanya dan setidaknya memiliki pengalaman bekerja dengannya, meskipun kecil. Saya memutuskan untuk membuat JSAB untuk perangkat seluler, karena saya sendiri ingin bermain di mana pun saya berada. Awalnya, skema warna game saya tidak sama dengan aslinya, semuanya monokrom.





Semuanya terlihat seperti ini. Kontrolnya juga berbeda, pemain dikendalikan oleh mouse atau dengan menyentuh layar dan tidak ada cara untuk berlari.





Bagian teknis

Mari kita turun ke bagian teknis permainan, dan mulai dengan membuat objek.





Pembuatan objek

Semua objek dibuat melalui Instantiate, yang ternyata nantinya berdampak besar pada pengoptimalan. Bayangkan saja situasi ini





public GameObject Obj;

private void Start(){
  for(int i = 0; i < 100; i++){   
		GameObject.Instantite(Obj);
  }
}
      
      



, , . .





, . , . JSON , , .





{
  attacks: [
    {
      "attackType": "DotCircle",
      "time": "1,0828",
      "dotCount": "20"
    },
    {
      "attackType": "Beam",
      "time": "3,06713",
      "width": "50"
    }
  ]
}
      
      



JSON Update .





. , , -. . , . Unity





Animation anim = GetComponent<Animation>();
AnimationCurve curve;

// create a new AnimationClip
AnimationClip clip = new AnimationClip();
clip.legacy = true;

// create a curve to move the GameObject and assign to the clip
Keyframe[] keys;
keys = new Keyframe[3];
keys[0] = new Keyframe(0.0f, 0.0f);
keys[1] = new Keyframe(1.0f, 1.5f);
keys[2] = new Keyframe(2.0f, 0.0f); 
curve = new AnimationCurve(keys);
clip.SetCurve("", typeof(Transform), "localPosition.x", curve);

// update the clip to a change the red color
curve = AnimationCurve.Linear(0.0f, 1.0f, 2.0f, 0.0f);
clip.SetCurve("", typeof(Material), "_Color.r", curve);

// now animate the GameObject
anim.AddClip(clip, clip.name);
anim.Play(clip.name);
      
      



X .





, , . .





, , . , , . C# . , . , , . π 180, , Unity . (AngleInDegree) .





public float AngleInDegree = 90f;

private void Start(){
  float cos = Mathf.Cos(AngleInDegree * Mathf.Deg2Rad);
  float sin = Mathf.Sin(AngleInDegree * Mathf.Deg2Rad);
}
      
      



" "

- . , JSON . (, , ). , . Playable ( , ..) AudioSource' () .





:





, , Chronos ( ).





Saya telah memanfaatkan sepenuhnya kemampuan timeline, saya mengikat tombol keyboard yang saya butuhkan ke serangan yang saya butuhkan dan dengan demikian membuat level. Saya juga ingin mengucapkan terima kasih kepada mereka yang membaca ini, saya harap setidaknya sedikit menarik! Sebentar lagi akan ada bagian kedua, di mana saya akan berbicara tentang apa yang saya capai selama hampir 3 bulan pengembangan dan sedikit tentang tahap pengembangan saat ini. Anda juga dapat mengunjungi saluran saya untuk mengikuti proses pengembangan, dan saya juga memiliki server perselisihan .








All Articles