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

GDC2017に関する報告

Fadis
April 18, 2017

 GDC2017に関する報告

2月末にサンフランシスコで行われたGame Developers Conferenceのセッションの様子を大雑把に解説します

Fadis

April 18, 2017
Tweet

More Decks by Fadis

Other Decks in Programming

Transcript

  1. DirectX12 And (how to avoid) Death by a Thousand Cuts

    ͜ͷηογϣϯͷൃදऀ Jurjen Katsman (Nixxes) GDC VaultͷURL http://www.gdcvault.com/play/1024384/Advanced-Graphics- Tech-How-to
  2. Advanced Graphics Tech: Moving to DirectX 12: Lessons Learned ͜ͷηογϣϯͷൃදऀ

    Tiago Rodrigues (Ubisoft Montreal) GDC VaultͷURL http://www.gdcvault.com/play/1024386/Advanced-Graphics- Tech-Moving-to
  3. %JSFDU9͔ͦΕҎલ͔Ͱ ߴϨΠϠʔͷίʔυΛ෼͚ͨ͘ͳ͍ Ϧιʔε Ϧιʔε Ϧιʔε ύε ύε ύε ύε Ϧιʔε

    ࠓ·Ͱ௨ΓඞཁͳύεͱϦιʔεΛྻڍͨ͠Β (16Ͱޮ཰ྑ͘૸ΔίϚϯυϦετ͕ग़དྷͯ΄͍͠ 1SPEVDFS4ZTUFN
  4. ಉ࣌ʹ࢖ΘΕΔࣄ͕ͳ͍ෳ਺ͷϦιʔε͸ ಉ͡ϝϞϦʹ഑ஔͯ͠΋໰୊ͳ͍ Ϧιʔε Ϧιʔε Ϧιʔε ύε ύε ύε ύε Ϧιʔε

    ϦιʔεͱϦιʔεͱϦιʔε͸ ੜଘظ͕ؒॏͳ͍ͬͯͳ͍ͨΊ ಉ͡ϝϞϦΛ࢖͍ճ͢ࣄ͕ग़དྷΔ ෳ਺ͷϦιʔε͸ಉ͡ΞυϨεʹͳΔͨΊ ࣝผࢠΛΤϯδϯଆͰৼͬͯ۠ผ͢Δ
  5. $PNQVUF (SBQIJDT ҟͳΔΩϡʔͱͷؒͰσʔλΛड͚Θͨ͢ʹ͸ ಉظΛߦ͏ඞཁ͕͋Δ Ϧιʔε Ϧιʔε ύε ύε ࣗಈͰڬ·ΔಉظͰ͸ྑ͍ϖΞϦϯάʹͳΔͱ͸ݶΒͳ͍ ύε

    ύε ϑ Σ ϯ ε ଴ ػ ϑ Σ ϯ ε ଴ ػ Ϣʔβ͕ಉظλΠϛϯάΛ໌ࣔͰ͖ΔΑ͏ʹͨ͠ ͜Ε͕͋Δ৔߹ॏෳ͢Δࣗಈಉظ͸࡟আ͞ΕΔ
  6. ෆඞཁͳόϦΞͷճආ ࣌ؒ 4.$6 ύε ύε ύε ύε Ϧιʔε ॻ͘લʹಡΜͰ͠·ͬͨ %JSFDU9͸ಛʹԿ΋ཁٻ͞Εͳ͍ͱ

    લͷύεͷ׬ྃΛ଴ͨͣʹ ࣍ͷύεΛ࣮ߦͯ͠͠·͏ όϦΞͰ ϦιʔεͷಡΈॻ͖ॱংΛอূ Ͱ΋όϦΞ଴ػ͸ ϋʔυ΢ΣΞʹΑͬͯ͸ੌ͘஗͍
  7. Shader Input Group Include Test2; ShaderInputGroup Test<BindTo=DefaultLayout::Frame> { static const

    uint testValue = 3; float4 value; Texture2D<float4> tex0; <Default=Black2D> RWTexture2D<float4> uav0; SamplerState sampler; <StaticSampler=PointWrap> SamplerState dynamicSampler; Test2 subType; } ͜Μͳ%4-͔Β$ ͱ)-4-ͷίʔυΛੜ੒͢Δ %JSFDU9ͳΒ 3PPU4JHOBUVSFͷ࡞੒ͱ੾Γସ͑ͷҝͷίʔυ %JSFDU9ͳΒ ద౰ͳεϩοτΛબΜͰ஋Ληοτ͢Δίʔυ ఆ਺ Ϧιʔε αϯϓϥ ଞͷ৔ॴͰఆٛ͞ΕͨSIGΛ಺แͰ͖Δ
  8. Shader Input Group #include “sig/test.h” void GfxTestProducer::CompileParams(GfxDevice& device) { sig::Test

    test; test.SetValue(ubiVector4(1.0f,2.0f,3.0f,4.0f)); test.SetTex0(testTexture); test.SetUav0(testUAV); m_CompiledTestParams = test.Compile(device); // … cmdList.SetShaderInputGroup(m_CompiledPassParas); } ੜ੒͞ΕͨΫϥεͷΠϯελϯεʹରͯ͠ ஋Ληοτ 3PPU4JHOBUVSFΛ࡞੒ %JSFDU9ͩͬͨΒԿ΋͠ͳ͍ 4FU(SBQIJDT3PPU4JHOBUVSF %JSFDU9ͩͬͨΒ͜͜Ͱ஋ͷηοτͱϦιʔεͷόΠϯυ "1*͕ҧͬͯ΋ಉ͡Α͏ʹ஋ΛηοτͰ͖Δ
  9. Shader Input Group #include “sig/test.hlsl” void main() { uint2 index

    = (uint2)g_Test.GetValue().xy; float4 value = testFunc(index, testFunc.GetSubType); g_Test.GetUav0()[index] = value; } float4 testFunc(in int2 index, in Test2 test2) { return test2.GetTex0()[index]; } "1*͕ҧͬͯ΋ಉ͡Α͏ʹ஋ʹΞΫηεͰ͖Δ
  10. Async Compute: Deep Dive ͜ͷηογϣϯͷൃදऀ Alex Dunn(NVIDIA), Stephan Hodes(AMD) GDC

    VaultͷURL http://www.gdcvault.com/play/1024385/Advanced-Graphics- Tech-Async-Compute
  11. NVIDIA GPUݻ༗ͷ஫ҙ఺ (16 σΟεΫϦϓλ ώʔϓ σΟεΫϦϓλ ώʔϓ σΟεΫϦϓλ ώʔϓ σΟεΫϦϓλ

    ώʔϓ GPU্ͷ σΟεΫϦϓλώʔϓ͸1ͭ ೖΕସ͑ʹ͸ લͷλεΫͷ׬ྃΛ଴ͭඞཁ͕͋Δ API্͸زͭͰ΋࡞ΕΔ
  12. NVIDIA GPUݻ༗ͷ஫ҙ఺ (16 σΟεΫϦϓλ ϓʔϧ σΟεΫϦϓλ ώʔϓ σΟεΫϦϓλ ώʔϓ σΟεΫϦϓλ

    ώʔϓ υϥΠό͸σΟεΫϦϓλώʔϓΛ ଋͶΔ͜ͱͰ੾Γସ͑Λճආ͢Δ
  13. ಉظ Handshake ࣌ؒ 4.$6 λεΫ ಉ ظ λεΫ λεΫ ಉ

    ظ ϖΞϦϯά͍ͨ͠λεΫͷ ։࢝ͱऴྃͷ྆ํͰಉظΛߦ͏ ར఺: ϖΞϦϯά͕׬શʹ༧ଌՄೳ
  14. ಉظ Handshake ࣌ؒ 4.$6 λεΫ ಉ ظ λεΫ λεΫ ಉ

    ظ ܽ఺: ͍͘Β͔ͷඇಉظ࣮ߦͷػձͷ૕ࣦ جຊతʹ͸Handshake͕ਪ঑͞ΕΔ͕ Fire-and-ForgetͰಉظͷ࡟ݮΛૂ͑Δ৔߹΋͋Δ 2छྨͷಉظͷ࢖͍෼͚͕ඞཁ
  15. Conservative Rasterization and Raster Ordered View ͜ͷηογϣϯͷൃදऀ Rahul Sathe(NVIDIA), Evgeny

    Makarov(NVIDIA) GDC VaultͷURL http://www.gdcvault.com/play/1024385/Advanced-Graphics- Tech-Async-Compute
  16. Vulkan Game development on Mobile ͜ͷηογϣϯͷൃදऀ Alen Ladavac(Croteam) GDC VaultͷURL

    http://www.gdcvault.com/play/1024361/Vulkan-Game- Development-on-Mobile
  17. Vulkan Multipass mobile deferred done right ͜ͷηογϣϯͷൃදऀ Hans-Kristian Arntzen(ARM) GDC

    VaultͷURL http://www.gdcvault.com/play/1024361/Vulkan-Game- Development-on-Mobile
  18. Summed Area Table " ཉ͍͠ൣғ "#$%Ͱғ·ΕۣͨܗྖҬͷ૯࿨͕ཉ͍͠৔߹ # $ % ཉ͍͠ൣғͷ૯࿨

    4"5 " 4"5 # 4"5 % 4"5 $ ೚ҙͷۣܗྖҬͷ૯࿨Λ఺ͷ஋͔ΒಘΒΕΔ
  19. Advanced Particle Simulation in Compute ͜ͷηογϣϯͷൃදऀ Richard Tonge(NVIDIA), Hammad Mazhar(NVIDIA)

    GDC VaultͷURL http://www.gdcvault.com/play/1024387/Advanced-Graphics- Tech-Cinematic-Depth
  20. Position Based Dynamics ཅղ๏ͷཻࢠ๏γϛϡϨʔγϣϯΛ ෺ཧతʹਖ਼͘͠ͳ͍͔΋͠Εͳ͍͕ ਺஋తʹ҆ఆʹߦ͑Δख๏ ཻࢠʹ͔͔ΔྗΛٻΊΔ ཻࢠͷ଎౓Λߋ৽ ཻࢠͷҐஔΛߋ৽ িಥΛղܾͯ͠ҐஔΛमਖ਼

    Ґஔʹ߹Θͤͯ଎౓Λमਖ਼ ߶ମಉ͕࢜িಥ͍ͯͨ͠Β িಥ͠ͳ͍ͱ͜Ζ·Ͱ໭͢ ྲྀମ͕ڥքΛ௒͍͑ͯͨΒ ڥք·Ͱ໭͢ ྫ ্هͷੑ࣭ͷҝ ίϯϐϡʔλάϥϑΟΫε԰ʹਓؾ
  21. Game Physics on the GPU with PhysX 3.4 ͜ͷηογϣϯͷൃදऀ Kier

    Storey(NVIDIA) GDC VaultͷURL http://www.gdcvault.com/play/1024345/
  22. PhysXͷ߶ମύΠϓϥΠϯ #SPBE1IBTF 1BJS'JMUFSJOH /BSSPX1IBTF *TMBOE(FO 4PMWFS $$% 'FUDI3FTVMU AABBͰߥ͘িಥͦ͠͏ͳϖΞΛ୳͢ িಥͤͨ͘͞ͳ͍ϖΞΛআ֎͢Δ

    ࣮ࡍʹিಥ͍ͯ͠Δ͔Ͳ͏͔Λௐ΂Δ Өڹ͠߹͏߶ମΛάϧʔϓԽ͢Δ ࣍ͷεςοϓͰͷঢ়ଶΛٻΊΔ ߴ଎ͰҠಈͨ͠߶ମͱিಥͨ͠߶ମΛ୳͢ ݁ՌΛऔΓग़͢
  23. GPUͱCPUͷಛ௃ (16 $16 େ͖ͳ'-014ͱ ϝϞϦόϯυ෯ খ͞ͳ'-014ͱ ϝϞϦόϯυ෯ ݸʑͷ໋ྩͷ࣮ߦ͕଎͍ গ਺ͷϓϩηοαίΞͰ ੑೳΛग़͢

    ݸʑͷ໋ྩͷ࣮ߦ͸஗͍ ਺ઍͷϓϩηοαίΞͰ ੑೳΛग़͢ ϝϞϦΞΫηεύλʔϯ࣍ୈͰ ࿐ࠎʹੑೳ͕མͪΔ ϝϞϦΞΫηεύλʔϯ͕ ੑೳʹӨڹΛ༩͑ʹ͍͘ ΞϧΰϦζϜ͸਺ઍεϨουͰ εέʔϧ͢Δඞཁ͕͋Δ γʔέϯγϟϧͰ΋ ݁ߏͳΜͱ͔ͳΔ
  24. glTF JSONܗࣜͷ 3࣍ݩܗঢ়ͷ ϑΥʔϚοτ ϝογϡ ௖఺ଐੑ ϚςϦΞϧ πϦʔ Ξχϝʔγϣϯ ͳͲΛؚΉ

    \ BDDFTTPST\ BDDFTTPS@\ CV⒎FS7JFXCV⒎FS7JFX@  CZUF0⒎TFU  CZUF4USJEF  DPNQPOFOU5ZQF  DPVOU  NBY<  >  NJO<  >  UZQF4$"-"3 ^  BDDFTTPS@\ CV⒎FS7JFXCV⒎FS7JFX@  CZUF0⒎TFU  CZUF4USJEF  DPNQPOFOU5ZQF 
  25. ෺ཧϕʔεϨϯμϦϯάʹඞཁͳ ύϥϝʔλͷॻ͖ํ͕ఆΊΒΕͨ baseColorFactor baseColorTexture metallicFactor roughnessFactor metallicRoughnessTexture ”materials”: { ”pbrMetallicRoughness”:

    { … } } ͜͜ʹઃఆͰ͖Δύϥϝʔλ Ξϧϕυ Ξϧϕυ͕ ه࿥͞ΕͨςΫενϟ ൓ࣹ཰ ૈ͞ ൓ࣹ཰ͱૈ͕͞ ه࿥͞ΕͨςΫενϟ ར఺: ҟͳΔιϑτ΢ΣΞಉ࢜Ͱ ෺ཧϕʔεϨϯμϦϯάͷ৘ใΛड͚౉͠ग़དྷΔ
  26. WebGL 2.0 ͜ͷηογϣϯͷൃදऀ Brandon Jones (Google), Zhenyao Mo (Google), Kai

    Ninomiya (Google) GDC VaultͷURL http://www.gdcvault.com/play/1024346/
  27. WebGL 2.0ͷ৽ػೳ Float Texture Immutable Texture Instanced Drawing Multiple Render

    Target Transform Feedback Multisampled Renderbuffers Uniform Buffers Sampler Object GLSL ES 3.00
  28. Multiple Render Target gl_FragData[0] = position; gl_FragData[1] = normal; gl_FragData[2]

    = albedo; 1౓ͷϨϯμϦϯάύεͰ ϑϥάϝϯτγΣʔμ͔Βෳ਺ͷग़ྗઌʹ஋Λ ॻ͖ࠐΊΔΑ͏ʹͳΔ
  29. Uniform Buffers GPUϝϞϦ΁ͷσʔλసૹ͸ ҰൠʹେྔͷσʔλΛ·ͱΊͯૹͬͨํ͕ εϧʔϓοτ͕ग़Δ for( $i = 0; $i

    != 100; $i++ ) { gl.uniform1f( location[ i ], value[ i ] ); } // ͭΒ͍ େྔͷUniform͸ΧλϚϦʹ͠Α͏
  30. Uniform Buffers var index = gl.getUniformBlockIndex(program, 'data'); gl.uniformBlockBinding(prg, index, 0);

    var ubo = gl.createBuffer(); gl.bindBuffer(gl.UNIFORM_BUFFER, ubo); gl.bufferData(gl.UNIFORM_BUFFER, data, gl.STATIC_DRAW); gl.bindBufferBase(gl.UNIFORM_BUFFER, 0, ubo); Uniform Buffer ObjectΛ࡞ͬͯ σʔλΛॻ͖ࠐΜͰ γΣʔμ಺ͷuniformͱରԠ͚ͮΔ
  31. Sampler Object αϯϓϥʔΦϒδΣΫτ ςΫενϟΦϒδΣΫτ WebGL 1.0 WebGL 2.0 ςΫενϟʹؔ͢Δ ສ෺ΛؚΉ

    Ͳͷσʔλ͔Β αϯϓϦϯά͢Δ͔ ͲΜͳ෩ʹ αϯϓϦϯά͢Δ͔ αϯϓϦϯάύϥϝʔλΛ ςΫενϟΦϒδΣΫτ͔Β෼཭ ςΫενϟΦϒδΣΫτ
  32. Accelerating Your VR Games with VR Works ͜ͷηογϣϯͷൃදऀ Cem Cebenoyan(NVIDIA),

    Edward Liu(NVIDIA) GDC VaultͷURL http://www.gdcvault.com/play/1024356/
  33. VR SLi ࠨ   ࠨ ӈ ӈ  

    ϨΠςϯγ ී௨ͷSLi͸FPSͷ޲্ʹ͸د༩͢Δ͕ ϨΠςϯγΛԼ͛Δͱ͍͏఺Ͱ͸༗ޮͰ͸ͳ͍
  34. VR SLi ࠨ   ࠨ ӈ ӈ  

    ϨΠςϯγ 2ຕͷGPUʹยํͷ໨Λ୲౰ͤ͞Δ͜ͱͰ ϨΠςϯγΛ཈͑Δ
  35. Multi Resolution Shading ϨϯζऩࠩΛଧͪফͨ͢Ίʹը૾Λ࿪·ͤΔ " # " # पล෦͸ॖখ͞ΕΔͨΊ 1ຕͷϨϯμϦϯά݁Ռ͔Β࿪Μͩը૾ΛಘΔͱ

    पล෦ͷଟ͘ͷϐΫηϧ͕ແବʹͳΔ (·ͨ͸த৺෦ͷղ૾౓͕଍Γͳ͘ͳΔ) #ͱൺ΂ͯ "ͷ໘ੵ͕খ͘͞ ͳ͍ͬͯΔ
  36. Rendering Low LOD Cars at Lightning Speed in 'Forza Motorsport

    6' ͜ͷηογϣϯͷൃදऀ Gustavo Nunes(Microsoft) GDC VaultͷURL http://www.gdcvault.com/play/1023973/Rendering-Low-LOD- Cars-at
  37. Forza Motorsport 6ͷLoD6 ϋʔυ͸Forza Motorsports 5ͱಉ͡XBOX ONE ಉ࣌ʹ૸Δंͷ୆਺Λ16୆͔Β24୆ʹ૿΍͢ ͜ͷܾఆ͕ͳ͞Εͨͷ͸։ൃͷऴ൫Ͱ 100୆Ҏ্͔ΒͳΔंͷϞσϧΛ

    ࡞Γ௚͢ࣄ͸Ͱ͖ͳ͔ͬͨ Forzaʹ͸0͔Β5ͷ6ஈ֊ͷLoD͕͋ͬͨ ߋʹߴ଎ʹඳ͚Δ7ஈ֊໨Λ৽ઃ ԕ͘ͷंΛߋʹࡶʹඳ͍ͯඳըΛؒʹ߹ΘͤΔ
  38. Topology Mapping Buffer(T-buffer) 1୆ͷंΛߏ੒͢ΔશͯͷϝογϡΛશ෦݁߹ ௖఺਺ͷ߹ܭΛ1000ҎԼ·ͰݮΒ͢ ͜ͷϝογϡશମΛ෴͏ςΫενϟ࠲ඪΛ࡞Γ ରԠ͢ΔςΫηϧʹҎԼͷ৘ใΛॻ͖ࠐΉ ੺ ྘ ੨

    ΞϧϑΝ ϓϦϛςΟϒͷॏ৺࠲ඪ Ϟσϧ*% ϝογϡ*% ϓϦϛςΟϒͷ ΠϯσοΫε ͜ͷςΫενϟΛݟΕ͹ ݁߹લͷϞσϧͷͲ͜Λඳ͍͍ͯΔ͔͕Θ͔Δ
  39. Texture Streaming in Titanfall 2 ͜ͷηογϣϯͷൃදऀ Chad Barb(Respawn Entertainment) GDC

    VaultͷURL http://www.gdcvault.com/play/1024105/Efficient-Texture- Streaming-in-Titanfall
  40. Replicating Chaos: Vehicle Replication in 'Watch Dogs 2' ͜ͷηογϣϯͷൃදऀ Matt

    Delbosc(Ubisoft Toronto) GDC VaultͷURL http://www.gdcvault.com/play/1024010/Replicating-Chaos- Vehicle-Replication-in
  41. Networking Scripted Weapons and Abilities in 'Overwatch' ͜ͷηογϣϯͷൃදऀ Dan Reed(Blizzard

    Entertainment) GDC VaultͷURL http://www.gdcvault.com/play/1024041/Networking-Scripted- Weapons-and-Abilities
  42. ϊʔυ &OUSZ ͔͜͜ΒεΫϦϓτ͕࣮ߦ͞ΕΔ͜ͱΛද͢ϊʔυ ແ৚݅ʹભҠ͢ΔઌΛͭઃఆͰ͖Δ $POEJUJPO ৚݅ࣜΛධՁ͢Δϊʔυ ࣜͷධՁ݁Ռ͕USVFͩͬͨ৔߹ͱGBMTFͩͬͨ৔߹ͷ ͭͷભҠઌΛઃఆͰ͖Δ "DUJPO ήʔϜଆʹ࣮૷͞Εͨ

    ԿΒ͔ͷؔ਺Λݺͼग़͢ϊʔυ ׬ྃޙʹભҠ͢ΔઌΛͭઃఆͰ͖Δ 4UBUF ήʔϜଆͰΠϕϯτ͕ى͜Δ·Ͱ ॲཧΛఀࢭ͢Δϊʔυ ظ଴͢ΔΠϕϯτͷ਺͚ͩભҠઌΛઃఆͰ͖Δ
  43. ಉظͷ͘͠Έ ड͚औΓ׬ྃΛ֬ೝ͍ͯ͠ΔՕॴҎ߱ͷࠩ෼Λ ·ͱΊͯΫϥΠΞϯτʹૹΔ $' $' $' ࠷৽ ࠷৽ ࠷৽ ͔Β΁ͷࠩ෼

    ͔Β΁ͷࠩ෼ ͔Β΁ͷࠩ෼ ͱ͕ಉ͡ཁૉΛॻ͖׵͍͑ͯͨ৔߹ ͷޙͷ஋͚͕ͩૹΒΕΔ
  44. Stop Killing Our Servers! ͜ͷηογϣϯͷൃදऀ Sela Davis(VREAL), Jennie Lees(Riot Games)

    GDC VaultͷURL http://www.gdcvault.com/play/1024584/Stop-Killing-Our- Servers
  45. if( enemyKilled ) { server.UpdateProgress( 1000_ENEMIES, 1 ); } //

    ແ૒͢ΔͱେྔͷΠϕϯτ͕ඈͿ while( enemiesAreBeingKilled ) { enemiesKilled++; } if( enemiesKilled > 0 && !achAwarded ) { server.UpdateProgress( 1000_ENEMIES, enemiesKilled ); } // ·ͱΊΑ͏ ΫϥΠΞϯτ͔Βͷࡉ͔͗͢ΔΠϕϯτͰ αʔόΛ౗ͯ͠͠·Θͳ͍Α͏ʹؾΛ͚ͭΑ͏
  46. Give people the power to “play, share and watch” the

    games they love with the people they care about. ͜ͷηογϣϯͷൃදऀ Leo Olebe(Facebook) GDC VaultͷURL (ͳ͠)
  47. Facebook Analytics https://developers.facebook.com/products/analytics ήʔϜ 'BDFCPPL Ϣʔβ ։ൃऀ Ϣʔβ৘ใ Πϕϯτ 'BDFCPPLͰ

    ϩάΠϯ ౷ܭ FacebookʹήʔϜ಺Ͱىͬͨ͜ΠϕϯτΛૹͬͯ ͲΜͳ૚ͷϢʔβ͕Ͳ͏༡ΜͰ͍Δ͔Λ஌Δ
  48. Build Resilient Online Games with Amazon GameLift ͜ͷηογϣϯͷൃදऀ Chris Byskal(Amazon),

    Geoff Pare(Amazon) GDC VaultͷURL http://www.gdcvault.com/play/1024274/
  49. ىಈ ఀࢭ ࢮ׆؂ࢹ ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό

    (BNF-JGU"1* αʔόͷঢ়ଶݟͤͯ ੜ͖ͯΔ ݸʑͷήʔϜαʔόͷىಈɺఀࢭɺࢮ׆؂ࢹ ϩάͷ֬ೝͳͲ͸؅ཧίϯιʔϧ͔Β ࢮΜͰΔ
  50. σϓϩΠ ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* ήʔϜαʔόͷ

    όΠφϦ αʔόͷόΠφϦΛGameLiftʹ౤͓͛ͯ͘ͱ ඞཁͳαʔόʹσϓϩΠ͞ΕΔ
  51. ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* ઀ଓ ͓अຐ͠·͢

    ͳΜ͔དྷ͚ͨͲ ͜ΕͬͯݴͬͯͨϠπ? ͤ΍Ͱ ୭͔઀ଓͯ͠དྷͨΒ αʔό͸GameLiftʹϢʔβΛ֬ೝ
  52. ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* ઀ଓ ੾அ

    ݴͬͯͨϠπ ؼͬͨͰ ΫϥΠΞϯτ͕੾அͨ͠Β αʔό͸GameLiftʹ௨஌
  53. ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* ෦԰ͷ࡞੒ ৽͍͠෦԰Λ

    ࡞Γ͍ͨͳ ৽͍͠෦԰୲౰ΑΖ͘͠ ΫϥΠΞϯτ͕৽͍͠෦԰Λ࡞Γ͍ͨ࣌͸ GameLiftʹཁٻ
  54. ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* ෦԰ͷݕࡧ ࠓ͋Δ෦԰

    ͍ͩ͘͞ ͪ͜Β͕ҰཡʹͳΓ·͢ GameLift͸࣮ߦதͷશͯͷ෦԰Λ஌͍ͬͯͯ ΫϥΠΞϯτ͔Βཁٻ͞ΕͨΒͦΕΛฦ͢
  55. ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔϧ (BNF-JGU"1* αʔό (BNF-JGU"1* ෦԰ͷݕࡧ ͜Μͳ෦԰

    ͳ͍? ͜ΕͳΜ͔ Ͳ͏Ͱ͠ΐ͏ ήʔϜαʔό͔Β෦԰ͷ৘ใΛ౉͢͜ͱͰ ৚݅ʹ͋ͬͨ෦԰ΛݕࡧͰ͖ΔΑ͏ʹͳΔ ࠓ͜ͷ෦԰ ͜Μͳ෩ʹͳͬͯΔ
  56. ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔ (BNF-JGU"1* α (BN ϚονϝΠΩϯά ਓ਺͕ἧͬͨΒ෦԰Λ࡞Δ

    Զ΋ରઓ͍ͨ͠! ͍ͭ͜ͱ͍͕ͭ͜ ରઓ͕ͨͬͯ͠Δ͔Β ෦԰ΑΖ͘͠ ϥΠΞϯτ BNF-JGU"1*
  57. ΫϥΠΞϯτ (BNF-JGU"1* αʔό (BNF-JGU ؅ཧίϯιʔ (BNF-JGU"1* α (BN ϚονϝΠΩϯά ϥΠΞϯτ

    BNF-JGU"1* ͜ͷαʔόʹ ઀ଓ͍ͯͩ͘͠͞ ͜ͷαʔόʹ ઀ଓ͍ͯͩ͘͠͞ ͜͏ͨ͠ϚονϝΠΩϯά΋ GameLiftͰߦ͏ࣄ͕Ͱ͖Δ
  58. ΫϥΠΞϯτ (BNF-JGU"1* (BNF-JGU ϚονϝΠΩϯά ରઓ͍ͨ͠! Ͳ͏͠Α͏ -BNCEB %ZOBNP ଴ͬͯΔϓϨΠϠʔͷ ৘ใͪΐ͏͍ͩ

    ͜ΜͳϠπ͕ ͓ΔͰ ͍ͭ͜ͱ͍ͭ͜Ͱ෦԰࡞ͬͯ Amazon Dynamoʹஔ͍ͨϓϨΠϠʔͷ৘ใΛ࢖ͬͯ Amazon LambdaͰ޷͖ͳϧʔϧͰάϧʔϓΛ࡞ΕΔ
  59. ϚϧνϦʔδϣϯ αʔό (BNF-JGU"1* αʔό (BNF-JGU"1* αʔό (BNF-JGU"1* ڧ͍ ԶΑΓڧౕ͍ʹ ձ͍ʹߦ͚ͳ͍

    ϓϨΠϠʔ͕෼அ͞ΕΔ ৚݅ʹΑͬͯ͸ద੾ͳ૬खͱ ϚονϝΠΩϯά͕Ͱ͖ͳ͘ͳΔ
  60. άϩʔόϧϚονϯά αʔό (BNF-JGU"1* αʔό (BNF-JGU"1* αʔό (BNF-JGU"1* ͓ΔͰ ڧ͍΍ͭ͸ ͓ΒΜ͔ʔ

    GameLift͸ ଞͷϦʔδϣϯ͔ΒདྷͨάϧʔϓͷΩϡʔΠϯάͱ ΫϥΠΞϯτʹର͢Δ௨஌ͷ࢓૊ΈΛఏڙ͢Δ