windows-10-game-mode-teaserMit dem Windows 10 Creators Update veröffentlichte Microsoft den „Game Mode“. Es wird gemunkelt, dass der Modus Spiele generell schneller macht, ganz so einfach ist es natürlich nicht. Ich möchte kurz zusammenfassen, was der Modus bewirkt und was nicht.

Was macht der Game Mode?

Der Game Mode ist primär in der Lage, die zwei folgenden Punkte zu optimieren:

  • Die Verteilung/Priorität der CPU- und GPU-Ressourcen werden für das vordergründig laufende Spiel maximiert. Hintergrundanwendungen werden dadurch degradiert, aber bewusst nicht komplett geblockt.
  • CPU Kerne werden strikter aufgeteilt. Statt ein Spiel UND das System auf alle Kerne zu verteilen, bekommt das Spiel nicht alle aber dafür 100% dedizierte Kerne zugewiesen, das System bekommt die restlichen Kerne ebenfalls vollständig. Das Spiel sowie Prozesse des System sind somit separierter und unabhängiger.

via
Windows optimiert die Verarbeitung der Prozesse und Zuteilung von Ressourcen auf Softwareebene und priorisiert das Spiel. Die typischen Hintergrundprozesse (Antivirenscans, Sync-/Backup-/Datenprozesse, Video Encoding, Streaming usw.) werden mit weniger Ressourcen bedient und laufen damit langsamer.

Und das heißt jetzt?

Ein Szenario skizziert: Statt einem Spiel mit 4 weiteren Hintergrundprozessen jeweils 20% Ressourcen zuzuweisen, alles gleichmäßig auf 4 Prozessorkerne verteilt, bekommt das Spiel im Game Mode nun beispielsweise 80% und 3 volle Kerne, die 4 anderen Prozesse jeweils nur 5% auf dem vierten Kern. Heißt im Umkehrschluss, dass ein Spiel ohne Hintergrundprozesse auch bereits 100% Leistung bekommt und nicht von den Änderungen profitieren wird.
Somit ist der Game Mode vor allem dann geeignet, wenn viele oder größere Hintergrundprozesse das Spiel stören könnten und es unterschiedliche Lasten zu priorisieren gibt. Die positiven Auswirkungen zeigen sich dann durch wesentlich bessere minimale FPS, etwas bessere durchschnittliche oder maximale FPS und der Langzeitstabilität. Tests, die das gut zeigen, findet ihr beispielsweise auf hier auf pcworld.com (Ergebnisbilder folgend) oder rockpapershotgun.com. Folgend zwei Bilder von Ersterem Link, links ohne Hintergrundbelastung, rechts die Wirkung des Game Mode eines Systems mit Hintergrundlast:
windows-10-game-mode-pcworld.com-test-no-backgroundwindows-10-game-mode-pcworld.com-test-background-stuff

Heißt also einfach alle Programme offen lassen, Game Mode anschalten und alles schön? Ja und nein. Es stört vielleicht nicht weiter, wenn der wöchentliche Antivirenscan oder das wöchentliche Datenbackup auf die andere Festplatte doppelt so viel Zeit beanspruchen – die Tasks können nun beruhigt offen gelassen werden. Wichtige Programme könnten jedoch empfindlich gestört werden und ihre Arbeit nicht mehr wie benötigt verrichten, OBS Streaming als Beispiel genannt. Wählt eure laufenden Prozesse also weiterhin sorgfältig und testet auf Sideeffects bei kritischeren Programmen.
Leider gibt es noch keine Filterfunktionen, um einzelne Apps von der Optimierung auszuschließen, hier kann Microsoft sicher noch ausbessern.

Wie wird der Game Mode aktiviert?

Die meisten der Universal Windows Platform (UWP) und Win32 Spiele werden unterstützt, wobei es natürlicht immer Ausnahmen oder Probleme bei einzelnen Titeln geben kann. Bei unterstützten Titeln erscheint nach Drücken der Tastenkombination Win+G die Spieleleiste, in der ihr in den Einstellungen den Game Mode aktivieren könnt. Weitere Einstellungen bzw. die benötigte Tastenkombination (sollte Win+G nicht funktionieren) finden sich in den Windows Einstellungen -> Spiele.
windows-10-game-mode-bannerwindows-10-game-mode-options

Worum geht’s?

swords-and-souls-iconIch stelle kurz und knackig meinen in AutoIt 3 programmierten aktiven Bot für das Browserspiel Swords and Souls vor. Dieser ist hauptsächlich dafür da, Arena-Stages zu farmen. Außerdem nutzt er aktiv (und clever) alle Skills, leert regelmäßig die Bank, tauscht Kleeblätter ein, kauft EXP und speichert zwischendurch. Er könnte also ohne Probleme über Stunden durchlaufen und den Charakter damit verbessern.

Funktionen

Steuerung durch Shortcuts:

  • Shift+Alt+A – In der Arena kämpfen
  • Shift+Alt+M – Bank leeren und Kleeblätter eintauschen
  • Shift+Alt+O – Zurück zur Übersicht gehen, um andere Funktionen zu nutzen
  • Shift+Alt+H – Diese Hilfe noch einmal zeigen
  • Shift+Alt+X / ESC – Programm beenden

Farmingpausen mit:

  • Speichern
  • Gold von der Bank einsammeln
  • Kleeblätter eintauschen
  • Erfahrung für Gold kaufen (erst nach dem Besiegen des Endgegners möglich)

Cleveres Skillsystem:

  • Priorität 1: Heilen (Skill 5): nur wenn HP unter 40%
  • Priorität 2: Schildschlag (Skill 2): in Bosskämpfen immer benutzen, bei normalen Gegnern nur wenn dessen HP > 25%
  • Priorität 3: Schutzschild (Skill 4): immer wenn möglich
  • Priorität 4: Gift (Skill 3): in Bosskämpfen immer benutzen, bei normalen Gegnern nur wenn dessen HP > 50%
  • Priorität 5: Hack’n’Slay (Skill 6): in Bosskämpfen immer benutzen, bei normalen Gegnern nur wenn dessen HP > 50%
  • Priorität 6: Doppelangriff (Skill 1): in Bosskämpfen immer benutzen, bei normalen Gegnern nur wenn dessen HP > 25%

Screenshots

Die Einrichtung muss direkt nach dem Start geschehen und erfolgt durch einen Klick auf den obersten linkesten Pixel des Spielfensters:
swords-and-souls-bot-start-prepare-topleft-corner-pixel
Das Browserfenster muss so groß sein, dass das Spiel komplett angezeigt wird. Am Anfang werden in einem Hilfedialog alle Funktionen gelistet:
swords-and-souls-bot-start-help
In der Arena wird zuerst das Level für das Farming gewählt, anschließend noch ob das Pausenfeature genutzt werden soll und schon legt der Bot los:
swords-and-souls-bot-arena-start
swords-and-souls-bot-arena-fight

Video

Download und Code

Hier gibts den Bot als Download für 32/64bit Windows und, falls jemand den Bot weiterentwickeln oder anpassen möchte, den kompletten Code 1:1.

Download section
swords-and-souls-bot.exe (32bit)
swords-and-souls-bot_x64.exe (64bit)

Code anzeigenDen Code könnt ihr bequem mit den Links/Rechts Pfeiltasten horizontal bewegen.

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=swords-and-souls-bot.ico
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_Res_Description=AutoIt Bot for the browsergame "Swords and Souls", developed by Hannes Schurig in 2016
#AutoIt3Wrapper_Res_Fileversion=1.0
#AutoIt3Wrapper_Res_LegalCopyright=Hannes Schurig
#AutoIt3Wrapper_Res_Language=1031
#AutoIt3Wrapper_Add_Constants=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <Misc.au3>
#include <Array.au3>
#include <MsgBoxConstants.au3>

AutoItSetOption("SendKeyDelay", 40)
AutoItSetOption("SendKeyDownDelay", 40)
AutoItSetOption("MouseClickDelay", 40)
AutoItSetOption("WinTitleMatchMode", 2)
AutoItSetOption("MouseCoordMode", 1)

$noCoords = True
Local $ol[2]
$i = 0 ; fight counter
$survival = False
Local $levelcoords[2] = [0,0]
$clickCriticals = True
$pauseFarming = True
$pauseFarmingAfterXMatches = 2

HotKeySet("{Esc}", "exitnow") ; ESC
HotKeySet("+!x", "exitnow") ; Shift+Alt+X
HotKeySet("+!a", "arenaFight") ; Shift+Alt+A
HotKeySet("+!m", "museum") ; Shift+Alt+M
HotKeySet("+!o", "overview") ; Shift+Alt+O
HotKeySet("+!h", "help") ; Shift+Alt+H

Func exitnow()
	Exit
EndFunc

; prepare
WinActivate("Swords")
Sleep(300)
MsgBox($MB_TOPMOST + $MB_SETFOREGROUND + $MB_DEFBUTTON1 + $MB_ICONINFORMATION + $MB_OK,"Ecke oben links anklicken","Klicke in den obersten linkesten Pixel des Spiels.")
While $noCoords
		If _IsPressed("01") Then
		$ol = MouseGetPos()
		ConsoleWrite("####### Koords: " & $ol[0] & " " & $ol[1] & @CRLF)
		$noCoords = False
		EndIf
WEnd

If checkSingleCoordWithColor($ol[0]+578, $ol[1]+400, 0xB65D52) Then
		ConsoleWrite("####### Location: Map Overview" & @CRLF)
		MsgBox($MB_TOPMOST + $MB_SETFOREGROUND + $MB_DEFBUTTON1 + $MB_ICONINFORMATION + $MB_OK, "Deine Position", "Du befindest dich in der Übersichtskarte.")
EndIf

If checkSingleCoordWithColor($ol[0]+394, $ol[1]+460, 0x745818) Then
		ConsoleWrite("####### Location: Museum" & @CRLF)
		MsgBox($MB_TOPMOST + $MB_SETFOREGROUND + $MB_DEFBUTTON1 + $MB_ICONINFORMATION + $MB_OK, "Deine Position", "Du befindest dich im Museum.")
EndIf

If checkSingleCoordWithColor($ol[0]+66, $ol[1]+64, 0xC8B05E) Then
		ConsoleWrite("####### Location: Arena" & @CRLF)
		MsgBox($MB_TOPMOST + $MB_SETFOREGROUND + $MB_DEFBUTTON1 + $MB_ICONINFORMATION + $MB_OK, "Deine Position", "Du befindest dich in der Arena.")
EndIf

help()

Func help()
	MsgBox($MB_TOPMOST + $MB_SETFOREGROUND + $MB_DEFBUTTON1 + $MB_ICONINFORMATION + $MB_OK, "Hilfe", "Du kannst folgende Shortcuts nutzen:" & @CRLF & _
	"Shift+Alt+A - In der Arena kämpfen" & @CRLF & _
	"Shift+Alt+M - Bank leeren und Kleeblätter eintauschen" & @CRLF & _
	"Shift+Alt+O - Zurück zur Übersicht gehen, um andere Funktionen zu nutzen" & @CRLF & _
	"Shift+Alt+H - Diese Hilfe noch einmal zeigen" & @CRLF & _
	"Shift+Alt+X / ESC - Programm beenden" & @CRLF & _
	"Dies ist ein Maus/Tastatur-Bot. Der PC ist, während der Bot läuft, nicht direkt benutzbar.")
EndFunc

Func overview()
	; force-go to overview map
	While Not checkSingleCoordWithColor($ol[0]+578, $ol[1]+400, 0xB65D52)
		MouseClick("left", $ol[0]+25, $ol[1]+20,1)
		Sleep(800)
	WEnd
EndFunc

Func arenaFight()
	; check for overview map
	If checkSingleCoordWithColor($ol[0]+578, $ol[1]+400, 0xB65D52) Then
		; go to arena
		MouseClick("left",$ol[0]+235, $ol[1]+165,1)
	; check for arena
	ElseIf checkSingleCoordWithColor($ol[0]+66, $ol[1]+64, 0xC8B05E) Then
		; continue
	Else
		; force-go to overview map
		While Not checkSingleCoordWithColor($ol[0]+578, $ol[1]+400, 0xB65D52)
			MouseClick("left", $ol[0]+25, $ol[1]+20,1)
			Sleep(800)
		WEnd
		; go to arena
		MouseClick("left",$ol[0]+235, $ol[1]+165,1)
	EndIf

	; level input
	$level = InputBox("Welches Level?", "Bitte gib das Level ein, dass gefarmt werden soll." & @CRLF & _
	"Möglich Eingaben sind '1' - '30', 'survival' und 'final'", "", " M", 280, 150)

	If $level > 0 And $level <= 10 Then
		$levelcoords[0] = $ol[0] + 119 + (($level - 1)*62)
		$levelcoords[1] = $ol[1] + 292
	ElseIf $level > 10 And $level <= 20 Then
		$levelcoords[0] = $ol[0] + 97 + (($level - 11)*66)
		$levelcoords[1] = $ol[1] + 334
	ElseIf $level > 20 And $level <= 30 Then
		$levelcoords[0] = $ol[0] + 75 + (($level - 21)*71)
		$levelcoords[1] = $ol[1] + 392
	ElseIf $level = "final" Then
		$levelcoords[0] = $ol[0] + 489
		$levelcoords[1] = $ol[1] + 482
	ElseIf $level = "survival" Then
		$levelcoords[0] = $ol[0] + 339
		$levelcoords[1] = $ol[1] + 456
		$survival = True
	Else
		MsgBox($MB_TOPMOST + $MB_SETFOREGROUND + $MB_DEFBUTTON1 + $MB_ICONERROR + $MB_OK, "Falsche Eingabe", "Die Eingabe konnte nicht verwertet werden." & @CRLF & _
		"Der Bot setzt sich zurück, anschließend kannst Du erneut den Arena-Modus starten.")
		; force-go to overview map
		While Not checkSingleCoordWithColor($ol[0]+578, $ol[1]+400, 0xB65D52)
			MouseClick("left", $ol[0]+25, $ol[1]+20,1)
			Sleep(800)
		WEnd
		Sleep(1000)
		Return
	EndIf

	If $levelcoords[0] == 0 Then
		MsgBox($MB_TOPMOST + $MB_SETFOREGROUND + $MB_DEFBUTTON1 + $MB_ICONERROR + $MB_OK, "Unerwarteter Fehler", "Der Bot setzt sich zurück, anschließend kannst Du erneut den Arena-Modus starten.")
		; force-go to overview map
		While Not checkSingleCoordWithColor($ol[0]+578, $ol[1]+400, 0xB65D52)
			MouseClick("left", $ol[0]+25, $ol[1]+20,1)
			Sleep(800)
		WEnd
		Sleep(1000)
		Return
	EndIf

	; pause farming regulary after some matches - save, grab income, turn in cloverleafs frequently, get exp for gold?
	$save = MsgBox($MB_TOPMOST + $MB_SETFOREGROUND + $MB_DEFBUTTON1 + $MB_ICONQUESTION + $MB_YESNO, "Farming mit Pausen?", "Soll der Bot während des Farmens weitere hilfreiche Aufgaben übernehmen? Folgende Aufgaben würde der Bot alle " & $pauseFarmingAfterXMatches & " Matches ebenfalls übernehmen:" & @CRLF & _
	"- Speichern" & @CRLF & _
	"- Gold von der Bank einsammeln" & @CRLF & _
	"- Kleeblätter eintauschen" & @CRLF & _
	"- Erfahrung für Gold kaufen (erst nach dem Besiegen des Endgegners möglich)", "", " M")
	If $save = $IDYES Then
		$pauseFarming = True
	Else
		$pauseFarming = False
	EndIf

	; arena:
	while 1
		WinActivate("Swords")
		Sleep(1200)

; ------------- MANAGING MATCHES --------------------------------------------------

		; lost/survival done, retry
		If checkSingleCoordWithColor($ol[0] + 351, $ol[1] + 326, 0x5A3D1D) Then
			MouseClick("left",$ol[0] + 351, $ol[1] + 326, 1)
			$i += 1
		EndIf

		; survival start
		If $survival And checkSingleCoordWithColor($ol[0]+292, $ol[1]+175, 0x938D6F) Then
			; click survival
			MouseClick("left", $levelcoords[0], $levelcoords[1], 1)
			Sleep(500)
			; click "start"
			MouseClick("left", $levelcoords[0], $levelcoords[1], 1)
			Sleep(1500)
		EndIf

		; survival ended, "ok"
		If $survival And checkSingleCoordWithColor($ol[0] + 426, $ol[1] + 448, 0x5D3F1D) Then
			MouseClick("left", $ol[0] + 426, $ol[1] + 448, 1)
			Sleep(1000)
		EndIf

		; final ended, scarecrow talk
		If checkSingleCoordWithColor($ol[0] + 360, $ol[1] + 511, 0xE6DFC7) Then
			MouseClick("left", $ol[0] + 360, $ol[1] + 511, 1)
			Sleep(1000)
		EndIf

		; normal match start
		If checkSingleCoordWithColor($ol[0]+292, $ol[1]+175, 0x938D6F) Then
			MouseClick("left", $levelcoords[0], $levelcoords[1], 1)
		EndIf

		; normal match finished, continue
		If checkSingleCoordWithColor($ol[0]+378, $ol[1]+454, 0xFFFFFF) Then
			MouseClick("left", $ol[0]+378, $ol[1]+454, 1)
			$i += 1
		EndIf

; ------------- FIGHTING --------------------------------------------------

		; Skill 5 - Healing
		; check if available
		If checkSingleCoordWithColor($ol[0]+490, $ol[1]+560, 0xFFE7C1) Then
			; just use if u're below 50% health
			If checkSingleCoordWithColor($ol[0]+284, $ol[1]+453, 0x730520) Then
				; enough health
			Else
				Send("5")
			EndIf
		EndIf

		; Skill 2
		; check if available
		If checkSingleCoordWithColor($ol[0]+306, $ol[1]+565, 0xFFE7C1) Then
			; if in boss battle - use it anytime
			If checkCoordRangeWithColor($ol[0]+404, $ol[1]+451, $ol[0]+442, $ol[1]+469, 0xFFD23E) Then
				Send("2")
			Else
				; if not: only if enemy health 25% or more
				If checkSingleCoordWithColor($ol[0]+485, $ol[1]+453, 0x730520) Then
				Send("2")
				EndIf
			EndIf
		EndIf

		; Skill 4
		; if available
		If checkSingleCoordWithColor($ol[0]+430, $ol[1]+560, 0xFFE7C1) Then
			Send("4")
		EndIf

		; Skill 3 - Poison
		If checkSingleCoordWithColor($ol[0]+369, $ol[1]+552, 0xFFE7C1) Then
			; if in boss battle - use it anytime
			If checkCoordRangeWithColor($ol[0]+404, $ol[1]+451, $ol[0]+442, $ol[1]+469, 0xFFD23E) Then
				Send("3")
			Else
				; if not: only if enemy health 50% or more
				If checkSingleCoordWithColor($ol[0]+515, $ol[1]+453, 0x730520) Then
				Send("3")
				EndIf
			EndIf
		EndIf

		; Skill 6 - Slashing
		If checkSingleCoordWithColor($ol[0]+548, $ol[1]+561, 0xFFE7C1) Then
			; if in boss battle - use it anytime
			If checkCoordRangeWithColor($ol[0]+404, $ol[1]+451, $ol[0]+442, $ol[1]+469, 0xFFD23E) Then
				Send("6")
			Else
				; if not: only if enemy health 50% or more
				If checkSingleCoordWithColor($ol[0]+515, $ol[1]+453, 0x730520) Then
				Send("6")
				EndIf
			EndIf
		EndIf

		; Skill 1
		; if available
		If checkSingleCoordWithColor($ol[0]+249, $ol[1]+559, 0xFFE7C1) Then
			; if in boss battle - use it anytime
			If checkCoordRangeWithColor($ol[0]+404, $ol[1]+451, $ol[0]+442, $ol[1]+469, 0xFFD23E) Then
				Send("1")
			Else
				; if not: only if enemy health 25% or more
				If checkSingleCoordWithColor($ol[0]+485, $ol[1]+453, 0x730520) Then
				Send("1")
				EndIf
			EndIf
		EndIf

; ------------- REST --------------------------------------------------

		; save every 5th fight
		If $pauseFarming And $i >= $pauseFarmingAfterXMatches Then
			Sleep(1000)
			; force-go to overview map
			While Not checkSingleCoordWithColor($ol[0]+578, $ol[1]+400, 0xB65D52)
				MouseClick("left", $ol[0]+25, $ol[1]+20,1)
				Sleep(800)
			WEnd

			museum()
			expForGold()

			; go to arena
			MouseClick("left",$ol[0]+235, $ol[1]+165,1)
			$i = 0
			Sleep(1000)
		EndIf

	WEnd
EndFunc

Func museum()
	; force-go to overview map
	While Not checkSingleCoordWithColor($ol[0]+578, $ol[1]+400, 0xB65D52)
		MouseClick("left", $ol[0]+25, $ol[1]+20,1)
		Sleep(800)
	WEnd

	; go to museum
	MouseClick("left",$ol[0]+329, $ol[1]+459, 1)
	Sleep(1000)

	; get cash
	MouseClick("left",$ol[0]+479, $ol[1]+431, 1)
	Sleep(1000)

	; auto-invest clovers if u're in the room and have some
	While checkSingleCoordWithColor($ol[0]+651, $ol[1]+311, 0xE8E5C2)
		MouseClick("left",$ol[0]+651, $ol[1]+311,1)
		MouseMove($ol[0]+551, $ol[1]+211, 1)
		Sleep(2000)
	WEnd
	Sleep(1000)

	; get cash again
	MouseClick("left",$ol[0]+479, $ol[1]+431, 1)
	Sleep(1000)

	; force-go to overview map
	While Not checkSingleCoordWithColor($ol[0]+578, $ol[1]+400, 0xB65D52)
		MouseClick("left", $ol[0]+25, $ol[1]+20,1)
		Sleep(800)
	WEnd
	Sleep(1000)
EndFunc

Func expForGold()
	; force-go to overview map
	While Not checkSingleCoordWithColor($ol[0]+578, $ol[1]+400, 0xB65D52)
		MouseClick("left", $ol[0]+25, $ol[1]+20,1)
		Sleep(800)
	WEnd

	; go to shop
	MouseClick("left",$ol[0]+528, $ol[1]+213, 1)
	Sleep(1000)

	For $x = 1 To 30 Step +1
		MouseClick("left",$ol[0]+396, $ol[1]+548,1)
		Sleep(300)
	Next

	; force-go to overview map
	While Not checkSingleCoordWithColor($ol[0]+578, $ol[1]+400, 0xB65D52)
		MouseClick("left", $ol[0]+25, $ol[1]+20,1)
		Sleep(800)
	WEnd
	Sleep(1000)
EndFunc

Func training()

	; this feature is not ready yet
	Return

	; check for overview map
	If Not checkSingleCoordWithColor($ol[0]+578, $ol[1]+400, 0xB65D52) Then
		MsgBox($MB_TOPMOST + $MB_SETFOREGROUND + $MB_DEFBUTTON1 + $MB_ICONINFORMATION + $MB_OK, "Übersichtskarte", "Bitte gehe in die Übersichtskarte, um die Botfunktionen zu starten.")
		Return
	EndIf

	;training crit:
	While 1
		If checkSingleCoordWithColor(685, 382, 0xffffff) Then
			MouseClick("left")
			Sleep(700)
			MouseClick("left")
			$i +=1
			ContinueLoop
		EndIf
		If checkSingleCoordWithColor(789, 381, 0xffffff) Then
			MouseClick("left")
			Sleep(700)
			MouseClick("left")
			$i +=1
			ContinueLoop
		EndIf
		If $i>50 Then
			; quit crit training
			MouseClick("left", $ol[0]+25, $ol[1]+20, 1)
			Sleep(5000)
			; quit training room & go to map
			MouseClick("left", 298, 123, 1)
			Sleep(3000)
			; go to training room
			MouseClick("left", 673, 415, 1)
			Sleep(3000)
			$i = 0
			; start crit training
			MouseClick("left", 872, 147, 1)
			Sleep(3000)
		EndIf
	WEnd

	; training attack:
	While 1
		If Not checkSingleCoordWithColorV(326, 455, 0xCC9362, 3) Then
			Send("{LEFT}")
			ContinueLoop
		EndIf
		If Not checkSingleCoordWithColorV(560, 466, 0xAD794C, 4) Then
			Send("{RIGHT}")
			ContinueLoop
		EndIf
		If Not checkSingleCoordWithColorV(563, 541, 0x926743, 3) Then
			Send("{Down}")
			ContinueLoop
		EndIf
		If Not checkSingleCoordWithColorV(511, 373, 0xCF996B, 3) Then
			Send("{Up}")
			ContinueLoop
		EndIf
		If Not checkSingleCoordWithColorV(322, 424, 0xD4A57D, 3) Then
			Send("{LEFT}")
			ContinueLoop
		EndIf
	WEnd
EndFunc

Func checkSingleCoordWithColor($x, $y, $color)
		Return IsArray(PixelSearch($x-3, $y-3, $x+3, $y+3, $color, 3))
EndFunc

Func checkSingleCoordWithColorV($x, $y, $color, $variation)
		Return IsArray(PixelSearch($x-3, $y-3, $x+3, $y+3, $color, $variation))
EndFunc

Func checkCoordRangeWithColor($x1, $y1, $x2, $y2, $color)
		Return IsArray(PixelSearch($x1-3, $y1-3, $x2+3, $y2+3, $color, 3))
EndFunc

; keep-alive for shotcuts
while 1
	sleep(100000000)
WEnd

In meinem Blog biete ich ja nun schon seit Langem den PC Game Klassiker „Z“ als fertigen Download an. Viele Tausend Downloads kann das Spiel bei mir schon verzeichnen. Das zeigt, dass auch in der modernen Zeit von „The Witcher 3“, potenten Grafik-Engines im Desktop- und Mobile-Bereich sowie VR-Brillen immernoch ein paar Leute Lust auf das ganz klassische 2D-Pixel-Fest haben, dass dieses Spiel bietet. Zudem das unschlagbar einfache Spielprinzip und die fast unschlagbar gute, künstliche Intelligenz des Gegenspielers – für damalige Verhältnisse ein Meisterwerk.

Ich musste letztens mal wieder einen kurzen Abstecher in das Spiel wagen und habe mal wieder alle Level durchgespielt. Das folgende Video spendiert einen Nostalgiekick für alle, die das Spiel schonmal gespielt haben. Es enthält das Spiel-Intro, Level 1-Intro, -Gameplay und -Outro, Level 20 Gameplay und das komplette Outro inklusive der unendlich langen Credits.

Und, wer von euch erinnert sich noch? Hat jemand mal das 20. Level ohne Speichern/Laden geschafft?? 😀

Gerade gelesen:
EA verschenkt bis zum 14.10. einen absoluten Spitzenreiter der Tactical-RPG-Fraktion, Dragon Age: Origins. Das Spiel ist zwar aus dem Jahre 2009, steht aber immernoch in den TOP10 der RPG Kategorie der meisten Spiele-Portale:

pcgames.de:91%
4players.de:90%
gamestar.de:92%
computerbild.de:1,47

Was soll man noch groß dazu sagen? Wer es noch nicht kennt, sollte einen Blick wagen. Wer es kennt, kann es ruhig noch einmal genießen 😉

Zur DOWNLOAD Seite


ea-games-verschenkt-dragon-age-origins-klassiker-top-titel-3
ea-games-verschenkt-dragon-age-origins-klassiker-top-titel-2
ea-games-verschenkt-dragon-age-origins-klassiker-top-titel-1

via

Dass ich den coolen Retro Klassiker Z als Download anbiete sollte mittlerweile klar sein. Auch dass man diesen mit Freunden im Multiplayer spielen kann habe ich bereits als Text geschrieben. Da mich jedoch wöchentlich Nachfragen erreichen, wie das mit dem Multiplayer denn nun funktioniert (anscheinend ist meine Textanleitung zu kompliziert?), habe ich aus diesem Vorgang ein Video Tutorial gemacht.

Also, Z Portable Multiplayer via Hamachi:

[Trigami-Review]
Ich muss sagen, ich bin an sich ein Freund von Browsergames, oder zumindest war ich das. Mittlerweile fehlt die Zeit dafür. Damals konnte man sich die Schulzeit in den PC Räumen noch mit sowas versüßen. Die Installation von Diablo 2 LoD hat einfach immer zu lange gedauert 😉
In den letzten 2 Wochen habe ich mir täglich etwas Zeit genommen und mich mal wieder – zu Testzwecken – auf ein Browsergame eingelassen.

War2 Glory ist ein knallhartes Strategiespiel von der sehr jungen deutschen Spieleschmiede Just A Game. Es ist sogar das erste Browsergame des Unternehmens und das haben sie schon sehr gut hinbekommen.


In War2 Glory übernimmt man die Rolle eines Befehlshabers in den kriegerischen Zeiten des 2. Weltkriegs. Städte aufbauen und verwalten, Forschungen tätigen, Truppen ausbilden, Bündnisse eingehen und zusammen mit Zehntausenden in den Krieg ziehen. Was eben so ein durchschnittlicher Offizier im Krieg zu leisten hat.

Das Spiel ist ein typisches Echtzeit-Browser-Strategiespiel. Fast jede Aktion kostet Rohstoffe und vor allem Zeit. Je weiter man im Spiel kommt desto länger wird das Bauen eines Gebäudes oder das Forschen dauern.

Das Spiel beginnt natürlich damit, dass ihr euch registrieren müsst. Das Spiel ist komplett kostenlos, free 2 play. Danach erstellt ihr den Befehlshaber, also euch selbst. Spielername, Geschlecht usw.
Und schon steht man vor dem virtuellen Rathaus seiner ersten Stadt, das Zentrum der Macht. Nunja, momentan gibt es noch nicht viel mehr als leere Bauplätze aber das soll sich ändern.
Eine nette Offizierslady möchte auch sofort die wichtigsten ersten Schritte des Spiels zusammen mit euch unternehmen. Ihr lernt wie und wo man Gebäude baut, wie man die eigene Stadt und Produktion verwaltet und weitere wichtige Hinweise werden vergeben. Beendet nicht das Tutorial oder hofft, dass nicht wie bei mir die Verbindung abbricht, man kann es nämlich nicht wiederholen oder fortsetzen.

Die Wirtschaft gedeiht und es gilt die Stadt zu verwalten: Einwohnerzahlen, Steuern, Produktion, Rohstoffe lagern, Handel, Bürgermeister ernennen, Bürger beschwichtigen, Offiziere anheuern, Rohstofffelder einnehmen, plündern, Kriegsmaschinerie starten, Konkurrenten ausspionieren, Bündnisse eingehen, Krieg führen.

Das Spiel wird durch viele Details sehr strategisch.
Ein wichtiger Part sind die Missionen. Sie helfen auch ein wenig bei den ersten Spielschritten und erleichtern den Start durch gute Belohnungen. Als Belohnen gibts Rohstoffe, Ansehen, Gold, militärische Einheiten, Items, Diamanten oder sogar eine Beförderung des Befehlshabers. Einige „Tägliche Missionen“ erscheinen jeden Tag aufs Neue und belohnen das tägliche Spielen, auch mit Diamanten.
Der nächste wichtige Faktor sind die Diamanten, mit denen man sich Vorteile im Spiel schaffen kann. Diese Spielwährung kann man für echtes Geld kaufen, man bekommt sie aber auch durch Missionen.
Mit Diamanten kann man sich spezielle Boni kaufen. Davon gibt es eine ganze Menge im Spiel. Mit einem Boni kann man strategische Vorteile erlangen (Boni im Kampf, Boni für den Befehlshaber oder die Stadt), die Produktion verbessern oder Gebäudebau, Einheitenausbildung bzw. Forschung beschleunigen und vieles mehr. Dafür gibt es einen extra sortierten Shop, der seit heute sogar vergünstigte „Angebote“ hat, also hier entwickelt sich ein kleiner Markt.
Offiziere nehmen ebenfalls einen wichtigen Teil ein. Sie lassen sich anheuern und mit den Truppen in den Krieg schicken. Ein Level und Skillsystem sorgt für etwas RPG Feeling. 1 Punkt in Politik, Wissen oder Militär kann man bei jedem Level Up eines Offiziers vergeben. Verschiedene Teile des Spiels werden davon beeinflusst. Jeder Offizier hat auch 9 Ausrüstungsslots für Items, die die Eigenschaften verbessern.
Gefechte lassen sich beeinflussen, das sieht man auch bei kaum einem stategischen Browserspiel. Kämpfe sind rundenbasiert und man kann Einheiten vorschicken, zurückziehen oder warten lassen. Das macht vor allem Sinn wenn man verschieden schnelle Einheiten in einem Gefecht hat. Die schnellen Einheiten lässt man erstmal in der Mitte des Schlachtfelds warten während die langsamen Einheiten aufholen. So lässt sich mit der geballten Kraft angreifen und nicht Einheitentyp nach Einheitentyp. Hier kann noch viel verbessert werden aber das Feature bringt schon jetzt enorme taktische Möglichkeiten und Vorteile für diejenige, die es clever nutzen.

Es gibt so viel zu Entdecken, viele neue strategische Elemente, die ich in anderen Browsergames noch nicht gesehen habe. Viel zu viel um jetzt alles zu erwähnen.
Innerhalb von 2 Wochen ist man so richtig im Geschehen und es macht auch immer mehr Spaß. Also wer interessiert ist brauch sich einfach nur mal für eine Woche ranzusetzen und wird schnell erkennen, ob das Spiel die Zeit wert ist.

Aber auch unnötig zu sagen, dass noch an einigen Baustellen gearbeitet werden muss.
Das Design ist an einigen Stellen des Spiels suboptimal; Textteile verschwinden oder Variablen werden nicht richtig aufgelöst. Davon abgesehen macht es grafisch einen guten Eindruck. Mit viel Liebe wurde hier designt, die Gebäude haben sogar kleine Animationen wie bei dem Siedler PC Games.
Was mich am meisten stört ist das Handling mit anderen Spielern. Man kann im Chat Namen anklicken und ich hätte mir gewünscht, dass ich zu diesem Namen dann viele Optionen kriege wie z.B. „Ranglistenplatz“, „Zeige Stadt auf der Weltkarte“ oder „Details zum Befehlshaber“. Leider gibts es keine dieser Möglichkeiten. Informationen zu anderen Mitspielern muss man über mühsame Suche in den Ranglisten und 2, 3 unnötigen Klicks zusammenraffen. Das alles muss unbedingt überarbeitet werden.
Es gibt noch einige andere Schönheitsfehler wie fehlende Zeiten im Chat, kleine Balanceschwierigkeiten (u.A. bei den Bauzeiten, Ausrüstungsgegenständen der Offizieren und Missionsbelohnungen), Bugs im Spiel (ich durfte 1, 2 schmerzlich entdecken) und eine verkorkste Tastaturbelegung ingame aber das ändert alles nichts am…

Fazit: dieses fällt im Großen und Ganzen sehr positiv aus, ein gigantisches Browserspiel! Für die erste Produktion dieser Spielschmiede ein gelungener Hit, der bestimmt wachsen wird. Wer die Zeit für Browsergames aufbringen kann sollte unbedingt mal ein Blick auf War2 Glory werfen.

Weitere Informationen zum Browsergame

Game Trailer:

Es wird Wochenende, Zeit für etwas weniger Freak-IT und etwas mehr Fun. Mein Lieblingsgastautor und Gen-Bro Mario 😉 hat Gothic 4 gekauft und seine umfassende Meinung für euch niedergeschrieben. RPG Fans und PC Spielern sollten unbedingt weiterlesen!

A Gothic Tale


Assassins Creed: Brotherhood wurde für den PC um unbestimmte Zeit nach hinten verschoben. Die Beta von Diablo 3 kommt nicht vor dem Ende des Jahres 2011 raus. Das heißt, das Spiel erscheint nicht vor dem Jahre 2012 – wenn die Weltuntergangsprophezeiung den Entwicklern von Blizzard nicht ein Strich durch die Rechnung macht. Daher war das Highlight für das Jahr 2010 für mich ArcaniA – Gothic 4. Das dachte ich zumindest bis vor kurzem noch.

Bevor die Entwicklung von Gohtic 4 richtig begonnen hat, hat sich das Entwicklerteam von Piranha Bytes von JoWood (Publisher) getrennt. Piranha Bytes hat die Entwicklung der ersten 3 Teile von Gothic übernommen und für diverse Add-Ons gesorgt. Doch dank eines Streits wurde die Entwicklung in die Hände von Spellbound Entertainment gelegt. Welche Konsequenzen dadurch für das Spiel entstanden sind, werde ich im weiteren Verlauf klären.

Eine epische Welt mit nahezu grenzenlosen Möglichkeiten, eine Interaktion mit Personen und Gegenstände mit darauffolgenden Konsequenzen für den Spielverlauf, eine realitätsnahe Entwicklung der persönlichen Fertigkeiten. All das war man von Gothic gewöhnt. Vieles davon vermisst man jedoch im neuen 4. Teil. Ich will eines vorweg nehmen: Gothic 4 hat Spaß gemacht, doch es weist einige Mängel auf, die Gothic-Veteranen vermissen werden.

Als allererstes muss ich ein großes Lob aussprechen. Das Kampfsystem wurde enorm verbessert im Vergleich zum 3. Teil. Die Gegner verfügen jetzt über die Fähigkeit sich aus einer Dauerattackierung zu befreien und zum Gegenangriff überzugehen. Das veranlasst dazu, auch auf eine taktische Art und Weise in die Schlacht zu ziehen. Hierzu stehen der Nahkampf, der Fernkampf oder die Magie zur Verfügung.

Der Nahkampf wird trotz Hämmer, Degen, Schwerter, Keulen, Stäbe und Äxten nur in Ein- und Zweihandwaffen unterschieden. Der Unterschied ist, dass Zweihandwaffen 50% mehr Schaden anrichten als Einhandwaffen.

Bei den Fernwaffen stehen klassische Bögen oder Armbrüste zur Verfügung. Dazu kommen die unterschiedlichsten Pfeilarten. Verschiedenste äußere Einwirkungen erschweren das Zielen mit der Fernwaffe, wodurch es zu einer kleinen Herausforderung wird den Gegner zu treffen. Weitere Features sind, dass man mit einem Pfeil mehr schaden macht, je länger man den Bogen spannt oder wenn man den Kopf des Gegners – an welcher Stelle des Körpers dieser auch sitzen mag – trifft. Im Großen und Ganzen wurde das Fernwaffenkampfsystem sehr gut umgesetzt.

Wer sich lieber der Magie bedienen möchte hat folgende Elemente zur Verfügung: Feuer, Eis und Donner. Aus einem einfachen Feuerpfeil wird am Ende ein wahres Inferno! Der Mana-Verbrauch ist dabei allerdings etwas verwirrend, da ich feststellen musste, dass ich doppelt so viel Mana verbraucht habe, als es eigentlich ursprünglich angesagt wurde. Ob das mit den einzelnen Unterstufen oder mit einer fehlerhaften Programmierung zusammen hängt, kann ich jetzt nicht einschätzen.

Mit einer geschickten Kombination aus Magie, Fernkampf und Nahkampf wird das Kämpfen zu einem nie langweilig werdenden Erlebnis! Nie? Naja, man sollte den Schwierigkeitsgrad mit zunehmendem Level anpassen. Denn mit der magischen Klinge, die man ab ca. 75% des Spielverlaufes bekommt, wird der Kampf sehr einseitig. Und schade ist, dass die Gegner nicht im Verbund auftreten. Es war kein Problem den Häuptling eines Orkstammes alleine zu töten, indem man ihn aus sicherer Entfernung mit einem Pfeil angegriffen hat. Man sollte meinen, dass die 5 Orks daneben sich ihm anschließen und mich angreifen, aber dem war nicht so. Sie blieben unbehelligt stehen, während ich in Sicht- und Hörweite ihren Anführer liquidierte.

Die Welt ist schön designt. Es gibt jede Menge Grafikeinstellungen um diese epische Welt auf dem Bildschirm den Vorlieben anzupassen. Unter anderem schön anzusehen, aber mir unverständlich: Man kann zwischen dem amerikanischen und dem europäischen Farbschema wechseln, was in einem Unterschied der Farbintensität resultierte.
Es ist toll durch diese gut gestaltete Welt zu laufen, in die Ferne zu schauen, Tag und Nacht mitzuerleben oder durch eine regnerische Nacht zu wandeln. Trotz dieser durchaus gelungenen Welt ist es schade, dass bei den Personen viel vernachlässigt wurde. Es scheint so, als gäbe es nur 5 NPC (Non-Player-Character) Models. Viele Gesichter wurden für mehrere Charaktere verwendet. Nur die besonderen und alt bekannten Gestalten stechen mit ihrem Aussehen hervor, da sie nicht wie der Soldat vor dem Tor, der Obstverkäufer auf dem Marktplatz oder die Hofzofe auf dem Schlossplatz aussehen sollten. Die Städte sind meist sehr klein und spärlich besetzt. Gut, es herrscht Krieg und die Welt wurde dezimiert. Aber irgendwie fehlte die Abwechslung, was ich sehr schade fand. Daher war jede Stadt auf irgendeine Art und Weise sehr identisch mit der vorherigen.

Eben schon den Marktplatz angeschnitten, kommen wir jetzt zum Handelssystem. Ich habe quasi nie etwas gekauft, da das Angebot sehr mager war. Ab und an mal eine Schriftrolle, die ich wenig später auch so gefunden habe, was im späteren Spielverlauf mir sagte: „Hey, warum noch weitere Schriftrollen kaufen, du bekommst sie doch eh gleich!“. Eigentlich schade. Aber es gibt leider noch einen weiteren Nachteil. Nehmen wir einmal einen realen Händler: Wenn ihr etwas verkauft, dann müsste er diesen Artikel ja in seinem Sortiment haben. Aber auf der Insel Argaan ticken die Händler leider anders. Sobald ich das Verkaufsfenster verlassen hatte, war alles verloren, ein Fehlverkauf kann also fatale Folgen haben.

Ein weiteres Manko war das durch Gothic typisch gewordene RPG-Element des Schmieden, Mixen, Kochen und alles, was eine Interaktion mit einem Werkzeug oder einem Werkplatz benötigt. Wenn man ein Schwert wollte, ist man in die Schmiede gegangen, hat den Hammer am Amboss geschwungen, den glühenden Rohling bearbeitet und anschließend abkühlen lassen, bevor man es geschliffen hat: et voilà, das Schwert war fertig. In Gothic 4 kann man auf einem Feld stehen, nichts weiter als eine Kuh und ein Baum in der Nähe und das Schwert wird ohne Effekt einfach dem Inventar hinzugefügt – nur die Zutaten werden benötigt. Dies vereinfacht natürlich die ganze Sache, aber echten Rollenspielfans – Gothicveteranen – fehlt dabei etwas. Auch das Erlernen von Fertigkeiten findet nur über ein Menü statt, wo man einfach nur seine Fähigkeitspunkte setzen kann, ohne, dass vorher ein Großmeister kontaktiert werden muss.

Der Spielverlauf ist das Wichtigste an einem Spiel. Diesen Spielverlauf möchte ich in Story und Quests unterteilen.

Die grobe Story ist schnell erzählt: ein Junge verliert alles und will sich rächen. Er entwickelt sich vom Schafhirten zum Held. Simpel gesprochen, doch es kommt alles anders als erwartet. Nur so viel dazu. Der – für Gothic typische – namenlose Held durchlebt das Spiel in einer sprachlich sehr gut unterlegten Atmosphäre. Jedoch ist der Spielverlauf sehr linear. Man hat nicht mehr die Möglichkeit sich einer Partei anzuschließen und dadurch Vor- und Nachteile dieser Partei zu genießen. Man ist der einsame Held auf Vormarsch zur Macht, dem nichts anderes übrig bleibt als von Stadt zu Stadt zu wandern, vier bis fünf Kleinigkeiten zu erledigen und anschließend eine große Tat zu vollbringen. Es fehlte mir an Vielfalt und Entscheidungsfreiheit. Vor allem mangelte es an der Interaktion mit der Umwelt. Ich konnte mit gezückter Waffe rumrennen und es hat niemanden gekümmert, eine unbeteiligte Person konnte nicht einfach angegriffen werden, das Schwert ging immer durch die Person durch und in den Häusern, Burgen und Höhlen kann man sich überall bedienen ohne Konsequenzen fürchten zu müssen. Nur einmal ist mir eine Sache aufgefallen: Meine virtuelle Mutter hat gemeckert, dass ich eines meiner Schafe getötet habe.

Wie eben erwähnt ist die Anzahl der Quests relativ gering. Man kommt in eine Stadt und hat eine geringe Anzahl von Nebenquests. Vorwiegend macht man also die Dinge, die nötig sind um die Geschichte voranzutreiben. Wenn man sich an diesen Spielverlauf hält wirkt das Spiel eher wie ein Film, weil so ein bisschen die Freiheiten fehlen. Die Wege sind solange versperrt, bis man eine Stadt fertig durchgearbeitet hat. Zurückgehen muss man nicht, denn es gibt nichts mehr, was man dort hätte machen können.
Die Dialoge waren ebenfalls sehr linear. Ein Dialog mit einer Person war einfach nur abzuarbeiten. Man konnte sich für keine Sätze oder Formulierungen entscheiden, es war alles vorgegeben.

FAZIT

ProKontra
Große und schöne WeltCharactermodels
Sehr gut synchronisiertLineare Story
KampfsystemWenige Quests
Fehlende typische Gothic-Elemente
Rechenlastig
Handelssystem

Die Liste fasst kurz und knapp zusammen, was ich an diesem Spiel geschätzt habe und was ich schlecht fand. Vermutlich wird es deutlich, dass es zum einen mehr Kontra-Argumente gibt und diese auch vom Gewicht her höherwertig sind. Dies liegt allerdings daran, dass ich mit einem richtigen Gothic-Teil gerechnet hatte. Ich habe eine gute Beschreibung für dieses Spiel im Internet gefunden und muss diesem Urteil beipflichten. Das Spiel ist ein „Rollenspiel Light“. Es ist wunderbar für Rollenspieleinsteiger, die mit der Komplexität ein Problem hätten. Wer ein gewohntes Gothic-Abenteuer haben will, sollte zu der neuen Reihe von Piranha Bytes greifen: Risen. Man erkennt eindeutig, dass Gothic nicht von den gewohnten Entwicklern gemacht wurde.


Weitergabe oder Verwendung des Textes nur mit voller Quellen- und Autorangabe! Ich bitte euch, seid fair.