Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Xamarinで最終的に ソシャゲーを作った話

31c721f10a381c351e1d84e05b9627fd?s=47 ueda megumu
December 09, 2019

Xamarinで最終的に ソシャゲーを作った話

2019/12/09 JXUGでお話しした内容です

31c721f10a381c351e1d84e05b9627fd?s=128

ueda megumu

December 09, 2019
Tweet

Transcript

  1. XamarinͰ࠷ऴతʹ ιγϟήʔΛ࡞ͬͨ࿩ ্ాܙ

  2. ࣗݾ঺հ ্ాܙɹ @megyo9 ▸ ෱ԬࡏॅɹSIerۈ຿ ▸ QiitaͷXamarinλάͷϥϯΩϯάͰ2൪ʂ ▸ ۀ຿Ͱ࢖͍ͬͯΔٕज़ ▸

    Windows Form / WPF / Xamarin ▸ Angular / React / Knockout, SCSS/ LESS ▸ Serverless Framework (AWS) ▸ ܾͯ͠࢖͍͜ͳͯ͠ΔΘ͚Ͱ͸ͳ͍Ͱ ͢ɾɾɾ
  3. ࠓ೔ͷ಺༰ XamarinͰ࠷ऴతʹιγϟήʔΛ࡞ͬͨ࿩ ▸ Qiitaʹ౤ߘͨ͠࿩Ͱ͢

  4. ୈ̍࿩ ࢝·Γ͸ಥવʹ

  5. ୈ̍࿩ ࢝·Γ͸ಥવʹ

  6. ୈ̍࿩ ࢝·Γ͸ಥવʹ ೋ໊ͭΛදࣔ͢Δ͚ͩͷΞϓϦ͸ Ͳ͏ͩΖ͏͔ʁ

  7. ୈ̎࿩ ։ൃ ▸ ʮAͳBʯͱ͍͏දهʹͳΔΑ͏ʹAͱBͷϦετΛ༻ҙ ▸ ݾͷਥೋපͷݶΓΛਚͯ͘͠೧Γग़͠ɺ૊Έ߹Θͤ૯਺ 2500Ҏ্·Ͱߟ͑ͨ ࠇ͖ ࣫ࠇͷ ҉ࠇͷ

    ৗҋͷ ڰઓ࢜ ຐԦ ೼Ԧ ڰؾ ×
  8. ୈ̏࿩ ܾઓ ▸ ׬੒ͨ͠ͷͰ৹ࠪʹ౤͛Δ

  9. ୈ̐࿩ ৹ࠪͷߦํ ▸ NG

  10. ୈ̑࿩ ωόʔΪϒΞοϓ ▸ Կ͔ػೳΛ௥Ճ͢Δඞཁ͕͋Δ

  11. ୈ̑࿩ ωόʔΪϒΞοϓ ▸ Կ͔ػೳΛ௥Ճ͢Δඞཁ͕͋Δ ▸ ඞࡴٕΛ௥Ճ

  12. ୈ̒࿩ Ճ଎͢Δ։ൃ ▸ ಉ͡ઃܭͰϦετΛ௥Ճ ▸ ͍ͭͰʹաڈཤྺ΋௥Ճ

  13. ୈ̓࿩ ܾઓ࠶ͼ ▸ ΞϓϦ໊ΛʮEternal Glowʯʹ໊લΛมߋ ετΞʹਃ੥ͨ͠ΞϓϦઆ໌จ

  14. ୈ̔࿩ ৹ࠪͷઌʹ͋Δ΋ͷ ▸ ৹ࠪʹ௨ͬͨ

  15. ୈ̔࿩ ৹ࠪͷઌʹ͋Δ΋ͷ ▸ ৹ࠪʹ௨ͬͨ ▸ ΋͏1ݸɺ̑W1Hͷ༧ݴΞϓϦΛ࡞Δ΋ ৹ࠪ௨Δ When Who Where

    Why How What
  16. ୈ̔࿩ ৹ࠪͷઌʹ͋Δ΋ͷ ▸ ৹ࠪʹ௨ͬͨ ▸ ΋͏1ݸɺ̑W1Hͷ༧ݴΞϓϦΛ࡞Δ΋ ৹ࠪ௨Δ ݁࿦ɿ͠ΐ΅͍ΞϓϦͰ΋৹ࠪʹ௨Δ

  17. ୈ̔࿩ ৹ࠪͷઌʹ͋Δ΋ͷ ʮ͠ΐ΅͍ʯͷཁ݅ʹ σβΠϯ͕͋ͬͨͷ͔΋

  18. ୈ̕࿩ ڥք஋ςετ ▸ ৽نΞϓϦ͕͠ΐ΅ͯ͘΋OK

  19. ୈ̕࿩ ڥք஋ςετ ▸ ৽نΞϓϦ͕͠ΐ΅ͯ͘΋OK ▸ Ͱ͸ΞοϓσʔτͰผ෺(ιγϟήʔ)ʹͨ͠ΒͲ͏ͳΔ͔ʁ

  20. ୈ̕࿩ ڥք஋ςετ ▸ ৽نΞϓϦ͕͠ΐ΅ͯ͘΋OK ▸ Ͱ͸ΞοϓσʔτͰผ෺(ιγϟήʔ)ʹͨ͠ΒͲ͏ͳΔ͔ʁ

  21. ୈ̕࿩ ڥք஋ςετ ▸ Ͳ͏͍͏ήʔϜʹ͢Δͷ͔݁ߏ೰Μͩ ▸ ͦ΋ͦ΋ιʔγϟϧήʔϜɺ΄΅ͨ͜͠ͱͳ͍ ▸ ͩΜͩΜϑϨϯυΛ੾͍ͬͯͬͯ࠷ޙ͸ҰਓʹͳΔιʔ γϟϧήʔϜͱ͔ʁ ▸

    ٯʹɺͩΜͩΜΈΜͳ͕ࣗ෼ʹͳͬͯ࠷ޙ͸ΈΜͳࣗ෼ʹ ͳͳΔιʔγϟϧήʔϜͱ͔ʁ
  22. ୈ̕࿩ ڥք஋ςετ ▸ Ͳ͏͍͏ήʔϜʹ͢Δͷ͔݁ߏ೰Μͩ ▸ ͦ΋ͦ΋ιʔγϟϧήʔϜɺ΄΅ͨ͜͠ͱͳ͍ ▸ ͩΜͩΜϑϨϯυΛ੾͍ͬͯͬͯ࠷ޙ͸ҰਓʹͳΔιʔ γϟϧήʔϜͱ͔ʁ ▸

    ٯʹɺͩΜͩΜΈΜͳ͕ࣗ෼ʹͳͬͯ࠷ޙ͸ΈΜͳࣗ෼ʹ ͳΔιʔγϟϧήʔϜͱ͔ʁ ࣗ෼Ͱݴͬͯͯҙຯ͕Θ͔Βͳ͍ɾɾɾ
  23. ୈ̍̌࿩ શ਎શྶ ▸ ͱΓ͋͑ͣֆΛඳ͍ͯΞϓϦΠϝʔδΛ๲Β·ͤΔ

  24. ୈ̍̌࿩ શ਎શྶ ▸ ͱΓ͋͑ͣ࢓༷Λඳ͍ͯΞϓϦΠϝʔδΛ๲Β·ͤΔ Adobe XD ͸ͨͩσβΠϯΛඳ͚ͩ͘Ͱͳ͘จষ΋ؾ࣋ͪྑ͘ॻ͚Δ

  25. ୈ̍̌࿩ શ਎શྶ ▸ ΫϥΠΞϯτɺαʔόʔɺΠϥετɺԻָɺԻ੠Λશͯ࡞੒ ▸ ։ൃظؒ͸໿̏ϲ݄ ▸ ͜Ε·Ͱʹ࡞੒ͨ͠ΞϓϦͷ͓Αͦ90ഒͷ։ൃظؒ

  26. ୈ̍̌࿩ શ਎શྶ ▸ αʔόʔ ▸ σʔλͷอଘɺ௨஌͸Firebaseʹ͢Δ͜ͱʹ ▸ αʔόʔϨεʹ͍ͨ͠͠ɺՄೳͳݶΓFunctions͢Βॻ͖ͨ͘ͳ͍ ▸ Functions૬౰ͳ͠Ͱσʔλߋ৽Ͱ͖Δͷ͸FireStore͔AppSync

    ͙Β͍ ▸ AppSync͸εΩʔϚఆ͕ٛ݁ߏखؒͩ͠ɺResolver→SNS or Pinpoint΋खؒ
  27. ୈ̍̌࿩ શ਎શྶ ΫϥΠΞϯτଆͷ σʔλอଘॲཧྫ Xamarin.Formsͷܕ͔ΒiOSͷܕʹม׵͢Δͷ͕গ͠໘౗

  28. ୈ̍̌࿩ શ਎શྶ σʔλߋ৽࣌ͷ Notificationૹ৴ྫ

  29. ୈ̍̌࿩ શ਎શྶ Update Notification Update Trigger Send ςʔϒϧ2͚ͭͩ ୭͔ͱઓ͏ ઓಆ͕͋ͬͨࢫͷ௨஌

  30. ୈ̍̌࿩ શ਎શྶ ▸ ઓಆ݁Ռͷॻ͖ࠐΈʢ͔ͳΓద౰ઃܭˍ࣮૷ʣ ▸ ઓಆͨ͠ਓ͕ࣗ෼Ͱ݁ՌΛॻ͖ࠐΜͰอଘʢಁաతʹϦ ϞʔτͷFireStoreʹ΋อଘʣ ▸ อଘΛτϦΨʔʹFunctions͕ಈ͍ͯରઓ૬खʹ NotificationΛඈ͹͢

    ▸ Silent NotificationΛ࢖֤ͬͯ୺຤ࣗ෼ͰόονॲཧΛ΍ͬ ͯ΋Β͏͜ͱ΋࣮͸ݕ౼ͯͨ͠ɾɾɾ
  31. ୈ̍̌࿩ શ਎શྶ ▸ ར༻ϥΠϒϥϦ౳

  32. ୈ̍̌࿩ શ਎શྶ ▸ Πϥετ ▸ ֤18छͷཱͪֆ ▸ iPad ProͰ͓ֆඳ͖ ΩϟϥΫλը૾

    ଐੑʹԠͨ͡৭ ଐੑʹΑͬͯΩϟϥ ͷ৭͕มΘΔ
  33. ୈ̍̌࿩ શ਎શྶ https://www.pinterest.jp/pin/804596289654339946/ ▸ PinteresͰݟ͔͚ͨσβ Πϯ͕ؾʹೖͬͨͷͰ ͻΐͬ͜Γ͸ΜελΠϧ ͷΠϥετʹ

  34. ୈ̍̌࿩ શ਎શྶ https://www.pinterest.jp/pin/804596289654339946/ ▸ PinteresͰݟ͔͚ͨσβ Πϯ͕ؾʹೖͬͨͷͰ ͻΐͬ͜Γ͸ΜελΠϧ ͷΠϥετʹ ීஈ͔ΒσβΠϯͷετοΫΛ ࡞͓ͬͯ͘ͷ͸େࣄ

  35. ୈ̍̌࿩ શ਎શྶ ▸ Իָ/Ի੠ ▸ ̑छྨͷԻָ ▸ جຊతʹGarageBandͷϧʔϓૉࡐฒ΂͚ͨͩ ▸ ̑छྨͷԻ੠

    ▸ ࣗ෼ͱಉ྅ͷ੠ ▸ Adobe AuditionͰՃ޻
  36. ୈ̍̌࿩ શ਎શྶ ؾ෼͸εʔύʔϝσΟΞΫϦΤΠλʔ

  37. ୈ̍̌࿩ શ਎શྶ σϞ

  38. ୈ̍̍࿩ ϥάφϩΫ ▸ ৹ࠪʹ౤͛Δ ετΞʹਃ੥ͨ͠ΞϓϦઆ໌จ

  39. ୈ̍̎࿩ ϋοϐʔΤϯυ ▸ ৹ࠪʹ௨Δ

  40. ୈ̍̏࿩ ֶͼಘͨ΋ͷ ▸ Xamarinʹ͍ͭͯ ▸ ਖ਼௚ɺήʔϜ։ൃʹ͸࢖Θͳͯ͘΋ྑ͍͔΋ ▸ WPFͱ͔Silverlight΍ͬͯͨ਎ͱͯ͠͸ࠓͰ΋HTML/CSS ΑΓ͸Xamlͷํ͕ॻ͖΍͍͢ ▸

    pngͷಁա΍Lottie౳Λ࢖͑͹ɺ΋ͬͱྑ͍ݟͤํ͸Ͱ͖ ͦ͏ͳؾ͕͢Δ
  41. ୈ̍̏࿩ ֶͼಘͨ΋ͷ ▸ ήʔϜੑʹ͍ͭͯ ▸ ੒௕ੑ͕ͳ͍ͷ͸ָ͘͠ͳ͍ ▸ ௨஌͕དྷΔͷ͸ָ͍͠ ▸ ݟͯΔ͚ͩˍΞχϝʔγϣϯʹ๡͍͠ઓಆ͸੝Γ্͕Βͳ͍

    ▸ ճ਺੍ݶʴ޿ࠂ͸ήʔϜੑͱͯ͠͸େࣄ ▸ ϧʔϓԻ࡞Δͷ͸؆୯ ▸ Ի੠͸ࣗ෼Ͱ΋ҙ֎ͱ͍͚Δ
  42. None
  43. ࣍ճ༧ࠂ FNO͸Τλʔφϧ

  44. ࣍ճ༧ࠂ FNO͸Τλʔφϧ ▸ AndroidରԠ ▸ ݩʑɺFirebaseपΓҎ֎͸શͯXamarin.FormsͰॻ͍ͯΔ ▸ ήʔϜੑͷ௥ٻ ▸ ੒௕ͷ͋ΔήʔϜʢνʔϜઓɺΫϥενΣϯδʣ

    ▸ ௨஌͔Β൓ܸ ▸ ΋ͬͱ্खͳֆ ▸ BGMʹՎΛೖΕ͍ͨ