UnityãCïŒãSteamworks.NETãããã³Facepunch.Steamworks
ã¯ããã«
ã»ãšãã©ã®ã²ãŒã éçºè ãšåæ§ãç§ã¯æ¬åœã«èªåã®ã²ãŒã ãSteamã«èŒããããšæã£ãŠããŸãã
ã»ãšãã©ã®ã€ã³ãã£ãŒãºã²ãŒã éçºè ãšåæ§ã«ãSteamã«åå ããããšã®æ¬åœã®æå³ãæ確ã«ãããªãœãŒã¹ãç¥èã«ã¢ã¯ã»ã¹ã§ããŸããã
Steamã®æ©èœã®è©³çŽ°ãªããã¥ã¡ã³ãã«ããããããããã®å·šå€§ãªããã¥ã¡ã³ããªããžããªã®ã©ãããå§ããŠãåã ã®ããŒããã©ã®ããã«é¢é£ããŠããããææ¡ããã®ãé£ããããããã®ç¥èã®ã®ã£ãããåããããšã¯å°é£ã§ãã ããã«ãSteamãã©ãããã©ãŒã ã®äž»ãªè°è«ã¯ãSteam DirectãŸãã¯Valveéçºè ã®çŽ¹ä»ãªã³ã¯ãä»ããŠç¢ºèªããããã©ãããã©ãŒã ã§ã®ã¿å©çšå¯èœãªãã¯ããŒãºããã©ãŒã©ã ã§éå¬ãããŸãã ã€ãŸããåå¿è ã«ãšã£ãŠãç°¡åãªè³ªåã«å¯ŸããçããèŠã€ããã®ã¯é£ããå ŽåããããŸãã
ããã§ãSteamãã²ãŒã ã§åäœãããæ¹æ³ãèãå§ããã°ããã®äººã ã®ããã«ãé«ã¬ãã«ã®ã¬ãã¥ãŒãæžãããšã«ããŸããã ç¹ã«ãã¯ââãŒã¯ã·ã§ããïŒã¯ãŒã¯ã·ã§ããïŒããªãŒããŒããŒãïŒãªãŒããŒããŒãïŒãã¢ããŒãã¡ã³ãïŒã¢ããŒãã¡ã³ãïŒãªã©ã®åŽé¢ãžã®ã¢ã¯ã»ã¹ãæäŸãããã«ããœãããŠã§ã¢ã©ã€ãã©ãªã§ããSteamworks SDKã詳ããèŠãŠãããŸãã
Steamworksã¯Valveã«ãã£ãŠååã«ããã¥ã¡ã³ãåãããŠããŸãããããã¥ã¡ã³ãã¯ãã€ãã£ãC ++ã©ã€ãã©ãªã䜿çšãããããã®ãã¹ãŠã®æ©èœãã©ã®ããã«äº€å·®ãããããã§ã«ç¥ã£ãŠãã人ã®èŠ³ç¹ããæžãããŠããŸãã ãããããªãã®å Žåã§ã¯ãªãå Žåãããã«è¯ãïŒ ä»¥äžã¯ãããé«ãã¬ãã«ã®èšèªã§ã²ãŒã ãäœæããSteamworksãšã®ç°¡åãªçµ±åãæäŸãããïŒãããŠãããã¯å¯èœã§ããä¿èšŒããŸãïŒïŒå¥ã®äººã«å¯Ÿãã説æã§ãã ããå ·äœçã«ã¯ããã®æçš¿ã¯ãäœããã®åœ¢ã§CïŒã䜿çšããçæ³çã«ã¯Unityã²ãŒã ãšã³ãžã³ã§äœæ¥ãã人ã ã察象ãšããŠããŸãã
Steamworks
Steamworksã¯2ã€ã®éšåã§æ§æãããŠããŸãã ãŸããããã¯éçºè åãã®ããŒã¿ã«ã§ãããã²ãŒã ã®ãããŒã®å€æŽãã販売ããµããŒããããŠããã³ã³ãããŒã©ãŒã®ãªã¹ãã®ç®¡çãŸã§ãSteamã§ã®ã²ãŒã ã®ååšã«é¢é£ãããã¹ãŠã管çããããã«èšèšãããŠããŸãã 次ã«ãããã¯ValveãæäŸããSDKã§ãããéçºè ã¯ã¯ãŒã¯ã·ã§ããããªãŒããŒããŒãããµãŒããŒãå®çžŸãªã©ãSteamã®ä»ã®ãã¹ãŠãšããåãã§ããŸãã ãã®ã·ã¹ãã ãå¿ããªãã§ãã ããïŒ SDKã Steamã®ã¿ã§ã³ã³ãã³ããããŠã³ããŒãããããã«å¿ èŠã§ããã ããã¯ãSDKã®äžèšã®ãã¹ãŠã®æ©èœã«ç ©ããããããšãå®å šã«æ§ããSteamã§ã²ãŒã ãããŠã³ããŒãããæ¹æ³ã®ã¿ã«éäžã§ããããšãæå³ããŸãã ãã ããSDKã«ã¯ä»ã«ãå€ãã®äŸ¿å©ãªæ©èœãçšæãããŠãããããèšå®ããŠæ©èœãããŸãããã
C ++ã§äœæããå Žåã¯ã 次ã®æé ã«åŸã£ãŠã©ã€ãã©ãªãã²ãŒã ã«è¿œå ããã ãã§ãã
ããããUnityã®CïŒ/éçºè ã§ããã°ãäžçæžåœåãå¿ èŠããããŸãã ãã€ãã£ãC ++ããããŒ/ãœãŒã¹ã¯Unityãšäºææ§ããªããããSDKé¢æ°ãçµ±åã§ããã©ãããŒã©ã€ãã©ãªã䜿çšããå¿ èŠããããŸãã ãã®ãããªã©ãããŒã«ãããé«ã¬ãã«ã®CïŒé¢æ°ã䜿çšããŠäœã¬ãã«ã®C ++é¢æ°ãåŒã³åºãããšãã§ããŸãã éå»ã«ã¯ããã®ãããªã©ãããŒã©ã€ãã©ãªã¯Steamworks.NETã§ããããããã¯ãã®ååã«å®å šã«å¯Ÿå¿ããŠããŸãã.NETã«å®è£ ãããŠããSteamworksã§ãã ããããããã¯ãŸãã«åœŒå¥³ãããŠããããšã§ããããã以äžã®ãã®ã§ã¯ãããŸããã
Steamworks.NETã¯ãSteamworksé¢æ°ããCïŒé¢æ°ãžã®1察1ã®å€æãæäŸããŸãããåäœããããã®ã©ã€ãã©ãªãšããŠSteamworksãå®å šã«ç解ããå¿ èŠããããŸãã ç°¡åãªäœæ¥ã§éãããåå¿è ã«ãšã£ãŠã¯ãããã¯å€ããããããããŸããã ãã£ãšè€éãªããšããããå Žåã¯ãSteamworks.NETã®å Žåãã©ãããŒã®äžã«ç¬èªã®ã©ãããŒãèšè¿°ããå¿ èŠããããŸããããã«ãããã©ããã®æå³ããªããªããŸãã
Facepunch.Steamworks
ãããã®å¶éããã³ãã®ä»ã®çç±ã«ãã ãFacepunch StudiosïŒRustããã³Garryã®Modã²ãŒã ã§ç¥ãããŠããïŒã¯ãCïŒ/ Unityçšã®ãã䟿å©ãªSteamworksã©ã€ãã©ãªãäœæããããšèããŠããŸããã
Steamworksã§åçŽãªïŒããã³è€éãªïŒã¿ã¹ã¯ãå®è£ ããããã«å€§éã®ã³ãŒããèšè¿°ããå¿ èŠããªããªããããSteamã®ãäœæ¥ãã«éäžã§ããŸãã ãã®ã©ã€ãã©ãªã¯Rustã§äœ¿çšãããŠããŸããã€ãŸããSteamã®æ倧ã®ãã¬ã€ã€ãŒã³ãã¥ããã£ã®1ã€ã§ã²ãŒã ã§ãã¹ããããŠããŸãã è€éãªã¿ã¹ã¯ã¯åçŽãªé¢æ°åŒã³åºãã«æœè±¡åãããã©ã€ãã©ãªèªäœã¯3ã€ã®ãã¡ã€ã«ã®ã¿ã§æ§æãããŸããã€ãŸããå®éã«ãããžã§ã¯ããèšåŒµãããããšã¯ãããŸããã ç§ã¯åå¿è ã«ãšã£ãŠã©ãã»ã©æçšããè¡šçŸããããšã¯ã§ããŸãããããã¯æ¬åœã®çºèŠã§ãã Steamworks.NETã®äœæè ã¯ãFacepunch.Steamworksãã ãŸãã«ç§ãSteamworks.NETã次ã®ãã®ã«ãããã£ããã® ãã§ãããã ã»ãšãã©ã®éçºè ã«ãšã£ãŠã¯ããã©ã«ãã®éžæè¢ã§ããã¹ãã ããšããèšããŸããã Steamworks.NET 㯠ãFacepunch.Steamworksã®ç¬èªã®ããŒãžã§ã³ãå®è£ ããã人ã®ããã«ãŸã å©çšå¯èœã§ãããç§ã®æèŠã§ã¯ãRustã«ãšã£ãŠè¯ãããšã¯ç§ã«ãšã£ãŠååã§ãã ã©ã€ãã©ãªã¯ã©ã®ããã«æ©èœããäœãç¹å¥ãªã®ã§ããïŒ å§ããŸãããã
ã¯ããã«
ãŸããSteamworksã§ã®äœæ¥ãéå§ããã«ã¯ãSteamworksã®ããããããŒã§ããå¿ èŠããããšæããããããŸããããå®éã«ã¯ãç»é²ããã»ã¹ãçµãããšãªãããã«SDK ã䜿çšã§ããŸãã Valveã¯ãéçºè ã«ãã¹ãçšã®ãAppIDã480ãæäŸããŸããããããããã°ã©ã ã§ããŸãã
Appid
AppIDã¯ãSteamïŒããã³SteamworksïŒã®ã²ãŒã ã®äžæã®èå¥åã§ãã ã²ãŒã ãç»é²ãããšããã«ååŸã§ããŸãã Steam / Steamworksã®å ŽæããååŸããããã®AppIDã«é¢é£ãããã¹ãŠãå®å šã«ç Žæ£ããããšãã§ããŸãã AppID 480ã¯ãValveãäœæãããã¢ã²ãŒã ã§ããSpaceWarãšäžèŽããŸãã ãªãŒãã³ãœãŒã¹ã§ãããSteamworksã®æ©èœã®äžéšã瀺ããŠããŸãïŒ å¿ ã調ã¹ãŠãã ããïŒïŒã
äžæã®AppIDã¯äŸ¿å©ã§ãç¹å®ã®æ®µéã§ã²ãŒã ã«å¿ èŠãªã®ã¯æããã§ããããã¹ãAppIDïŒ480ïŒã䜿çšãããšãã²ãŒã ã®æºåãã§ããŠãããã®ããã« SteamãµãŒãã¹ãæäœã§ããŸãã å®éã®AppIDãååŸããããããã眮ãæããŸããçŸæç¹ã§ã¯480ã§åé¡ãããŸãããã€ãŸãããç§ã®ã²ãŒã ã®ååãæã€ãµãŒããŒãåæšãšããŠç»é²ãããã®ãåŸ ã£ãŠããããšããååã®ãµãŒããŒãäœæããªãã§ãã ããã
Facepunch.SteamworksãããŠã³ããŒãããŠã€ã³ããŒããã
ããã§ãFacepunch.Steamworksã©ã€ãã©ãªïŒä»¥éFPãšåŒã³ãŸãïŒãããŠã³ããŒãããŠãAppID 480ã§ãã¹ãã§ããããšãæ¢ã«ç¥ã£ãŠããŸããGithub ããŒãžã®ãªãªãŒã¹ã»ã¯ã·ã§ã³ã«ç§»åããŸã ïŒã©ã€ãã©ãªã«ã¯å®å šã«ãªãŒãã³ãœãŒã¹ã³ãŒããšMITã©ã€ã»ã³ã¹ããããŸãïŒããªãªãŒã¹ã .zipãã¡ã€ã«ã解åããŠãè€æ°ã®ãã©ã«ããŒãååŸããŸãã READMEã§ã¯ãã¹ãŠã詳现ã«èšè¿°ãããŠããŸãããæ¬è³ªçã«ã¯ãããã®ãã¡ã€ã«ã®å°ããªã»ãããUnityãããžã§ã¯ãã«ã³ããŒããã ãã§ååã§ãïŒè©³çŽ°ã¯ãã©ãããã©ãŒã ã«ãã£ãŠç°ãªããŸãïŒã Facepunch.Steamworksãã¡ã€ã«ã¯ãã©ã€ãã©ãªèªäœãsteam_apiãã¡ã€ã«ãããã³Steamworks SDKèªäœãå«ããã©ãããã©ãŒã åºæã®ãã¡ã€ã«ã§ãã ã€ã³ããŒãåŸãUnityãã©ã«ããŒã¯æ¬¡ã®ããã«ãªããŸãïŒWindows x86 / x64ã®å ŽåïŒïŒ
Unity Project Folder |â Assets |â Plugins |â Facepunch.Steamworks |â Facepunch.Steamworks.dll |â Facepunch.Steamworks.pdb |â Facepunch.Steamworks.xml |â steam_api.dll (Windows x86) |â steam_api64.dll (Windows x64) |â steam_appid.txt
ãsteam_appid.txtããã¡ã€ã«ã¯AppIDã®ã¿ãå«ãããã¹ããã¡ã€ã«ãªã®ã§ãã480ãïŒåŒçšç¬ŠãªãïŒã®ããã¹ããã¡ã€ã«ã䜿çšããŸãã ã.dllããããpdbããããã³ã.xmlããã¡ã€ã«ã¯ãããNETãã®å¯Ÿå¿ããããŒãžã§ã³ã®ããŠã³ããŒãããã.zipãã¡ã€ã«ã®ãªãªãŒã¹ãã©ã«ããŒããã³ããŒãããŸãã Unityã§ã¯ã3.5ãé©ããŠããŸãã çœçŽã®ç¶æ ããå§ããå ŽåãFacepunchã¯ã»ãšãã©ã®äœæ¥ãè¡ãå°ããªãã¹ããããžã§ã¯ããgeneãã¿ãªãæäŸããŸãã ããã§ãããžã§ã¯ããéå§ã§ããŸãã
å£çµ
ãã¹ãŠã®ã©ã€ãã©ãªãã¡ã€ã«ãé©åãªãã£ã¬ã¯ããªã«ã³ããŒããããšã§ãã»ããã¢ããã¯ã»ãŒå®äºã§ãïŒ å¿ èŠãªã®ã¯ããã¹ãŠãçµ±åããããã®ã³ãŒããæžãããšã ãã§ãã ãã¹ããããžã§ã¯ããããã¹ããã¡ã€ã«ãã³ããŒããããããããããããã«åçŽã«çãããŸãã
using System; using UnityEngine; using System.Collections; using System.Linq; using Facepunch.Steamworks; public class SteamTest : MonoBehaviour { void Start () { // DontDestroyOnLoad( gameObject ); // Unity // - Facepunch.Steamworks.Config.ForUnity( Application.platform.ToString() ); // steam AppID ( AppID) new Facepunch.Steamworks.Client( 480 ); // , if ( Client.Instance == null ) { Debug.LogError( "Error starting Steam!" ); return; } // Debug.Log("My Steam ID: " + Client.Instance.SteamId); Debug.Log("My Steam Username: " + Client.Instance.Username ); Debug.Log("My Friend Count: " + Client.Instance.Friends.AllFriends.Count() ); } private void OnDestroy() { if ( Client.Instance != null ) { // , Client.Instance.Dispose(); } } void Update() { if ( Client.Instance != null ) { // Update Client.Instance.Update(); } } }
ãããŠ...ããã ãã§ãïŒ ãã®ã¹ã¯ãªãããã·ãŒã³ã®ãGameObjectãã«æ·»ä»ããŠã²ãŒã ã¢ãŒãã«åãæ¿ãããšãSteamã§ãSpacewarãããã¬ã€ããŠããããšãããããŸããSteamã®åºæ¬æ å ±ãã³ã³ãœãŒã«ã«è¡šç€ºãããŸãïŒåäœããªãå Žåã¯ããã°ã€ã³ããŠãããã©ããã確èªããŠãã ããèžæ°ïŒã
Facepunch.Steamworksã®ããç掻
ç¹åŸŽ
FPã©ã€ãã©ãªã¯æšæºã®Steamworks SDKã®ã»ãŒãã¹ãŠã®éšåãåŠçããã³ã©ãããããããäžåºŠèšå®ãããšãããæ·±ãSteamæ©èœãžã®ã¢ã¯ã»ã¹ã¯éåžžã«ç°¡åã«ãªããŸãã ããããåé¡ã¯ãŸã æ®ã£ãŠããŸãããããã®éšåã¯äœã§ããïŒ ä»¥äžã«ãFPã©ã€ãã©ãªã§äœæ¥ã§ããå 容ã®çããªã¹ãã瀺ããŸãã
1.ãµãŒããŒ-ãã¬ãŒã€ãŒã®ã¯ã©ã€ã¢ã³ãã䜿çšããŠãµãŒããŒãäœæããããä»ã®å Žæã§ããããã¬ã¹ããµãŒããŒãèµ·åããŸãã ãããã¯ãŒã¯èŠä»¶ãé«ãpingã«ææãªã²ãŒã ã«äœ¿çšïŒDota 2ãOverwatchãªã©ïŒ
2.ãããŒã¯ãSteamIDãŸãã¯ä»ã®ãŠãŒã¶ãŒæ å ±ã亀æããããã«äœ¿çšããããã¬ãŒã€ãŒã®ããã®ãäŒè°å Žæãã§ãã
3.åé-ããªããšããªãã®ä»²éã®Steamãã¬ã€ã€ãŒãã¬ã€ã€ãŒã
4.ã¯ãŒã¯ã·ã§ãã-Steamã¯ãŒã¯ã·ã§ãããšã®éã§ã³ã³ãã³ããã¢ããããŒã/ããŠã³ããŒãããŸãã
5.ãªãŒããŒããŒã-ã²ãŒã ã®ã°ããŒãã«ãªãŒããŒããŒããäœæããŠä¿åããŸãã
6.ã¢ããŒãã¡ã³ã-ã¢ããŒãã¡ã³ãã®äœæãšé ä¿¡ã
7.ãããã¯ãŒã¯-P2PããŒã¿ãã¯ã©ã€ã¢ã³ãã«éä¿¡ããŸãã
8. Steamã¯ã©ãŠã-ããŒã¿ãSteamã¯ã©ãŠãã«ä¿åããŸãïŒ ã²ãŒã ã®ä¿åã«éåžžã«äŸ¿å©ã§ãã
9.é³å£°-ã²ãŒã å ãã£ããã®ããã®Steamé³å£°APIãšã®çžäºäœçšã
10.çµ±èš-ç¹å®ã®ãã¬ã€ã€ãŒã®SteamåŽã®çµ±èšãèšå®ããŸãã
å¿ èŠãªé¢æ°ã®äœ¿çšæ¹æ³ãåŠç¿ããæè¯ã®æ¹æ³ã¯ã Facepunch.Steamworks ãã¹ããããžã§ã¯ã ïŒããã¯Unityãã¹ããããžã§ã¯ãã§ã¯ãããŸãã ïŒã«å®éã®äŸããããã©ããã確èªããã²ãŒã ã§ã®å®è£ ãã·ãã¥ã¬ãŒãããããšã§ãã
ã»ãšãã©ã®æ©èœã¯FPã©ã€ãã©ãªwikiã«ææžåãããŠããŸãããå®éã«ã¯ãããã€ãã®ã¯ã©ã¹ã«ååãªèª¬æããããŸãã ãµã³ãã«ãèŠã€ãããªãå Žåã¯ãã©ã€ãã©ãªã³ãŒãã調ã¹ãŠãé¢æ°ãå®è£ ãããŠãããã©ããã確èªããŠãã ããã ããã§ãªãå Žåã¯ãå®è£ ãã©ããŸã§é²ããããšãã§ãããã確èªããããåã«ãšã©ãŒã¡ãã»ãŒãžãã©ã€ãã©ãªã«éä¿¡ããŸãã éåžžãFacepunchéçºè ã¯éåžžã«åå¿ããããäœãã«åãçµãã§ãããã©ãããæããŠãããŸãããŸããèªåã§äœããå®è£ ããããšã«æ±ºããå Žåãã³ãã¥ããã£ãæ¯æŽããããšãã§ããŸãã
ãµãã¹ã¯ã©ã€ããŒãšã³ãŒã«ããã¯
FPã©ã€ãã©ãªïŒãŸãã¯ãã€ãã£ãAPIïŒã䜿çšããå Žåã
Client.Instance.SteamId
ãªã©ã®éåžžã®åŒã³åºãã䜿çšããã®ã¯å¿ ãããç°¡åã§ã¯ãªãããšã«æ°ä»ãã§ãããã çç±ã¯ãSteamworks SDKïŒããã³FPã©ã€ãã©ãªïŒãéåæé¢æ°ãç©æ¥µçã«äœ¿çšããŠãããããSteamãšã®éèŠãªçžäºäœçšãå®è¡ããå¿ èŠããããã³ã«ã²ãŒã ããããªãŒãºãããªãããã«ããããã§ãã éåæåŒã³åºãããªããã°ãã³ãŒããå®è¡ãããåã«ã¡ã€ã³ã®SteamãµãŒããŒã®å¿çãåŸ ããªããã°ãªãããããã¯æããã«ã²ãŒã äžã®ãšã©ãŒãšè¿·æã®åå ã«ãªããŸãã ãããã£ãŠãã©ã€ãã©ãªã䜿çšããã«ã¯ã å§ä»»ãšã³ãŒã«ããã¯ã®æŠå¿µã«æ £ããå¿ èŠããããŸã ã åå¿è ã«ãšã£ãŠã¯ãããã¯è€éã«æãããããããŸããããåºæ¬çãªèãæ¹ãç解ããã°ããããã®æŠå¿µã¯ç°¡åã«ç解ã§ããŸãã äŸãæããŸãããã
FPã©ã€ãã©ãªã䜿çšããŠã²ãŒã å ã®ãã¹ãŠã®ãããŒã®ãªã¹ããååŸããå¿ èŠãããå Žåã¯ã次ã®ããã«èšè¿°ããŸãã
client.LobbyList.Refresh();
ããã§ã¯æ»ãå€ãŸãã¯å²ãåœãŠã¯å®è¡ãããªãããšã«æ³šæããŠãã ããã ãããããã®å ŽåãèŠæ±ããããã®ãã©ã®ããã«ååŸããŸããïŒ Steamworksã§é¢æ°ãåŒã³åºããåŸãSteamããã¯ãšã³ãã¯å¿ èŠãªãã®ããã¹ãŠæºåãããã³ãŒã«ããã¯ãçµç±ã§ããŒã¿ãéä¿¡ããŸãã Steamã¯ã»ãŒæåéããããªããåŒã³åºããŸãããšèšããŸããããããããŒã¿ã®æºåãã§ããŸããïŒãã
é»è©±ãåããã«ã¯ããé»è©±ãããããããäžè¬çã«åŒã°ããŠããããã«ãã³ãŒã«ããã¯ãããµãã¹ã¯ã©ã€ããããå¿ èŠããããŸãã ããã¯ãã³ãŒã«ããã¯ã«ãã£ãŠè»¢éãããããŒã¿ãåãåãé¢æ°ãå®çŸ©ããããšã§å®çŸãããŸãã ããŒã¿ãéä¿¡ããªãå Žåããããã³ãŒã«ããã¯ã¯äž»ã«ããã³ãã©ããšããŠããŸãã¯ç¶ç¶å¯èœãªå 容ãäŒããæ¹æ³ãšããŠäœ¿çšãããŸãã ã³ãŒã«ããã¯ãã³ãã©ãŒå ã«ãããšãã¯ãå®å šã«äœæ¥ãç¶è¡ã§ããŸãã 以äžã«äŸã瀺ããŸãã
void Start() { // , , , Steam OnLobbyJoined. client.Lobby.OnLobbyJoined += OnLobbyJoinedCallback; // Native.Lobby.Join(LobbyID); } void OnLobbyJoinedCallback(bool success) { // , ! // , "success", Steam true false if(success) { // , , // , id Debug.Log(client.Lobby.Owner); } }
ãã®ãã¿ãŒã³ãç解ãããšãã©ã€ãã©ãªã䜿çšããéã«éåžžã«åœ¹ç«ã¡ãŸãã ãŸããSteamworksãå®éã«äœãããŠããã®ããç解ããããšãéåžžã«åœ¹ç«ã€ã®ã§ãããã¥ã¡ã³ãã調ã¹ã䟡å€ããããŸãã åäœã®è©³çŽ°ã«ã€ããŠã¯ããã®ãããã¯ã«é¢ããValveã®ããã¥ã¡ã³ããš Steamworks.NET Webãµã€ãã®ããã€ãã®ã»ã¯ã·ã§ã³ãèªãããšããå§ãããŸã ã
é²ã
ããããã¯ãããªããããããããšã¯äœã§ãã§ããŸãïŒ Valveã¯èŠä»¶ãèšå®ããŠããŸãããããã§ã«ãã©ãããã©ãŒã ã«ã¢ã¯ã»ã¹ããŠããå Žåã¯ãValveãæäŸããæ¹æ³ã§ãã©ãããã©ãŒã ãšãã®ã³ãã¥ããã£ã«é£çµ¡ããããšã«äž»ã«é¢å¿ãããããšã¯æããã§ãã Steam Directã«ç»é²ããããAppIDã眮ãæãããã¹ãAppIDã«å®è£ ãããã¹ãŠã®Steamæ©èœã転éããã ãã§ãã
ãã®èšäºãSteamã䜿ãå§ããã人ã«ãšã£ãŠåœ¹ç«ã€ããšãé¡ã£ãŠããŸããGithubã§Facepunch.Steamworksã«ã€ããŠåŠã¶ããšã匷ããå§ãããŸãã ããã«æºåãã§ããããæ§ãããªè²¢ç®ãããŠã¿ãŠãã ãããããšãã°ãããã¥ã¡ã³ãã®ã®ã£ãããåãããããªã¯ãšã¹ããéä¿¡ãããããŸãã ãã®èšäºã«ã€ããŠè³ªåãããå Žåã¯ãTwitterïŒ @kkukshtelïŒã§ç§ã«é£çµ¡ããŠãã ããã Twitter @isotacticsgameã§ç§ã®ã²ãŒã ã«é¢ãããã¥ãŒã¹ãèªãã ãããã¥ãŒã¹ã¬ã¿ãŒã賌èªãããããŠããã ããã°å¹žãã§ãã åæ§ã®ãããã¯ã«ã€ããŠãã£ãšç¥ãããå Žåã¯ããã®èšäºãæåã«å ¬éãããããã°ãæè¿äœæããŸãã ã