Jump to content
Unity Insider Forum
Sign in to follow this  
Triky313

Unity und Steamworks (steam_api.dll)

Recommended Posts

Hallo,

kann mir einer genauer erklären wozu die steam_api und steam_api64.dll sind?

Dann gibt es noch steam_appid, was wohl die SteamID des Spiels enthält. Würde ich also eine Anwendung auf Steam hochladen würde ich wohl meine eigene ID bekommen?

 

Ich versuche das nur zu verstehen, damit ich weiß, inwiefern ich später Steamworks oder auch Facepunch.Steamworks.Unity einsetzen kann und muss.

So wie es aussieht, ist es also aktuell ohne Steamworks Zugang gar nicht möglich meine Anwendung mit Steam zu verbinden?

Ich würde später schon gern die SteamID des Spielers auslesen und diese zum Login verwenden oder ähnliches.

 

Gruß

Aaron

Share this post


Link to post
Share on other sites

Eine API ist immer eine Schnittstelle damit etwas miteinander kommuniziert.

Die Steam API benötigst du damit Unity mit Steam kommuniziert.

Steamworks ist eine sehr gute API.

Hier wird es ziemlich einfach erklärt wie du es einbindest:

http://steamworks.github.io/gettingstarted/

Hier hast du zwei Snippets (was denke ich deine Frage klärt):

http://steamworks.github.io/snippits/

Share this post


Link to post
Share on other sites

Genau wie F1r3on schon schreibt, ist die Api deine Schnittstelle zu Steam. die beiden Apis unterscheiden sich im Bezug auf die Version des Spiels bzw. der App. Wenn du eine 64Bit App buildest, dann wird die 64er Api genutzt. Bei 32 Bit die Andere.

Die AppID ist die ID des Spiels oder eines DLC's zu Spiel. Mit ihr wird überprüft ob das Spiel oder DLC auch wirklich erworben wurde.
Außerdem ist es auf der Steamseite im Zusammenhang mit der DepotID die Identifikation des Containers, wo alle Daten zur App drin sind. Du kannst damit statistische Werte auf Steam hoch laden, wie z.B. wie oft der User das Spiel getartet hat, weloche Achievements geholt wurden oder wie sein Punktestand ist. Andere Dinge gehen automatisch, wie die Spielzeit, oder ob der Spieler gerade das Spiel spielt.

Wenn du etwas bei Steam veröffentlichen willst, musst du dir ersteinmal ein Konto bei denen anlegen. Dafür musst du 100$ bezahlen. Jedes Spiel, welches du veröffentlichen willst, kostet auch 100$. Dabei werden dann eine DepotID und AppID erzeugt. Wenn du ein Konto neu angelegt hast, hast du ein Spiel frei. Jedes weitere kostet die 100$.
Das Geld bekommst du aber zurück, falls du über 1000$ mit diesem Spiel erwirtschaftest (Netto also Steuen und Gebühren abgezogen).
Wenn du ein DLC zu einem Spiel erzeugen willst, musst du nicht mochmal die 100$ bezahlen, denn das DLC gehört ja zum Hauptspiel. Trotzdem wird für dieses DLC eine AppID erzeugt.

Sobald du einen Container für dein Spiel erzeugt hast, kannst du auch das Spiel hoch laden und von Steam aus starten. Egal, ob das Spiel schon veröffentlicht wurde, oder nicht.
Deinem Account wird das Spiel automatisch als gekauftes Gut zugewiesen und du kannst es vor der Veröffentlichung testen.
Das Spiel wird mittels eines SDK hochgeladen, was du dir bei Steam runterladen kannst.

Steam wird der Veröffentlichung des Spiels aber nur zustimmen, wenn du gewisse Features der APi auch nutzt. Du musst die Möglichkeit des SteamOverlays einbauen, damit du mit Shift-Tab das Overlay holst. Genauso müssten mit F12 Screenshots gemacht werden können.
Ob du Achievements, TradingCards oder das Leaderbord von Steam nutzen willst, bleibt dir überlassen. Du musst auch nicht den Steamcontroller direkt einbinden.

Die Api muss natürlich genutzt werden und sie wird beim Spielstart gestartet und bleibt das ganze Spiel über (Szenenübergreifend) aktiv. Die ist auch ständig am Senden und Empfangen.

Share this post


Link to post
Share on other sites

Das mit den 100$ rund um SteamWorks habe ich gestern auch in Erfahrung gebracht. Ist es aber nicht so, dass ich erst ein Spiel (unveröffentlicht) hochladen kann, wenn ich eine SteuerID also ein Unternehmen habe oder Selbstständig bin? 

Solange ich mit der Entwicklung des ersten Spiels nicht weitestgehend fertig bin, macht es für mich keinen Sinn ein Gewerbe anzumelden.

 

F1R3ON, dir auch schon mal ein Danke für die Links, ich teste das gleich mal.

Share this post


Link to post
Share on other sites

Du musst irgendwann schon eine SteuerID angeben und ein Formular ausfüllen. Ob das jetzt gleich gemacht werden muss, oder erst später, weiß ich gar nicht mehr.... hmmm.
Aber solange dein Spiel nicht kurz vor der Veröffentlichung steht, macht das mit Steam auch nicht unbedingt Sinn. Denn die Steam Sachen da einzubauen, bedarf kaum Änderungen am Spiel selbst.

Share this post


Link to post
Share on other sites

Ja die Steam API selbst scheint ziemlich simpel und einfach zu sein.

Wollte das ganze nur später per Login über den Steam Account laufen lassen, kann man dann ja aber noch immer einbinden und erst einmal Dummy Accounts nutzen.

Share this post


Link to post
Share on other sites

Moin,

um Steamworks zu implementieren, kannst Du auch "Space Wars" zum Testen nehmen. Das ist ein Testspiel von Valve, dessen ID du während der Entwicklung nutzen darfst.

Hierfür musst Du einfach als AppID 480 nehmen und nichts weiter.

Das einzige was man beachten muss ist, dass man bei Spielräumen einen Filter einbaut, damit man nur seine findet, da diese ID sehr viele nutzen.

Also z.B. in den Namen eine reingehackte Zeichenfolge nehmen oder Deinen Namen oder so.

 

Ich persönlich empfehle Facepunch, da die Bibliothek etwas mehr C# smell hat mit Events statt C Callbacks usw. Aber ist Geschmackssache.

Share this post


Link to post
Share on other sites

Es gibt auch ein von Garry Newman welches er für das Spiel Rust benutzt.

https://github.com/Facepunch/Facepunch.Steamworks

EDIT: Allerdings seit knapp ein Jahr keinen neuen Release außer Github updates, welches 2 Monate alt ist.

Muss zugeben, dass ich nicht alles getestet habe (auch mit Spacewar), aber manche Dinge fand ich bei Facepunch besser.

  • Like 1

Share this post


Link to post
Share on other sites
vor 10 Stunden schrieb MaZy:

Es gibt auch ein von Garry Newman welches er für das Spiel Rust benutzt.

https://github.com/Facepunch/Facepunch.Steamworks

EDIT: Allerdings seit knapp ein Jahr keinen neuen Release außer Github updates, welches 2 Monate alt ist.

Muss zugeben, dass ich nicht alles getestet habe (auch mit Spacewar), aber manche Dinge fand ich bei Facepunch besser.

Genau das meinte ich, da ist die API wesentlich schöner als beim C Wrapper (Steamworks.Net).

Share this post


Link to post
Share on other sites
vor 2 Stunden schrieb devandart:

Genau das meinte ich, da ist die API wesentlich schöner als beim C Wrapper (Steamworks.Net).

Aso hab es überlesen ^^

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×