Tile Wars

Status
Nicht offen für weitere Antworten.
V

Viper173

Gast
Hi,

Brauche ein paar Beta-Tester für unser kleines 2-Mann-Projekt.
Tile Wars kommuniziert mit einem php Skript auf dem Server und bezieht Daten aus einer sql-Datenbank.
Was haltet ihr von dem Konzept?

www.tilewars.de
 
B

Beni

Gast
Sehr schön. Für die Kämpfe wünschte ich mir, dass die Schiffe ihre schwache Seite wegdrehen.
 

Schnitter

Bekanntes Mitglied
Cool. Echt cool ;)
Ich hab auch schon gewonnen *wuhaha*
Naja, lässt sich grafisch bestimmt noch etwas aufpeppen, aber das Spielprinzip find ich schonmal gut!



EDIT: Wie gewinnt man eigentlich Geld?

EDIT2: Im Kampf stehen die Schiffe nach einer zeit einfach nur da und beschiesen sich - gewollt?

EDIT3:
Wo hast du den Sound her, der immer kommt, wenn man einen button drückt? (kann ich den haben? :))
Und eine Usersuche wäre auch nicht schlecht - vor allem, wenn es mehr werden ;)
 

doctus

Bekanntes Mitglied
gut gelungen.
ich würde sogar sagen, dass das grafisch genau so richtig ist. diese klötzchen wirken iwie viel besser, als wenn man da groß grafischen schnickschnack noch macht.
 

Evolver

Bekanntes Mitglied
Wenn ich ein Gegnerisches Schiff gewählt habe und auf "Kampf" klicke, passiert garnichts. Muss ich noch etwas beachten?
 
V

Viper173

Gast
Geld bekommst du mit dem nächsten Level.
Pro Level hat man also entsprechend mehr Kohle....


Die Schiffe versuchen sich im Modus "Pointer" einfach nur aufeinander auszurichten


schnitter, schreib deine email adresse doch mal in das TileWars Forum (Menu rechts) und schreibe nochmal dein anliegen zwecks sound datei rein. Mein "sound entwickler" wird sich deiner bestimmt anmehmen.


evolver, keine Ahnung. Normalerweise Gegner anklicken in der HS, dann Fight drücke. Probiers vllt mal mit nem anderen browser
 
B

Beni

Gast
Jo, ich könnte auch länger spielen :wink:
Wie wäre es mit einer Beschränkung, wie oft man gegen den gleichen Gegener spielt? Jetzt sucht man sich ja einfach einen schwächeren und prüggelt so lange wie möglich auf ihn ein.
 
V

Viper173

Gast
Danke fürs Feedback, Leute!!!!!!

Das ist wirklich so wertvoll, sag ich euch!

Schnitter, lol!!! Ich hatte gerade die Beschränkung von 10 auf 20 gesetzt ;)

Das Schiff auf einen Gegner optimieren und solange kämpfen bis man ein Level höher ist.... Ja, das ist ein krasses Problem. Werd' mich dem mal demnächst annehmen. Danke
 

Evolver

Bekanntes Mitglied
Also jetzt ging es einmal, beim zweiten mal keine eine java.net.ConnectingException (wurde dort ausgegeben, wo sonst "preparing for battle" steht) und danach passierte garnichts mehr, wenn ich auf den Button klickte (auch nach erneutem Einloggen nicht).


// EDIT: Also die letzten paar Male lief es jetzt auvch bei mir ohne Fehler.
 

Evolver

Bekanntes Mitglied
Ich konnte es ja nun auch ausführlicher testen und finde es schon ganz nett für zwischendurch. Aber wie Beni schon gesagt hat, ist es schlecht, dass ma sich einfach einen schwachen Gegner aussuchen kann um den dann immer wieder platt zu machen. Man sollte deshalb nur einmal pro Tag gegen jeden Kämpfen können. Dann könnte man die Beschränkung auf 20 Kämpfe vielleicht auch aufheben.
Was vielleicht auch cool wäre, wenn man Geld in die Triebwerke investieren könnte, um damit sich das Schiff schneller drehen kann.
 

Schnitter

Bekanntes Mitglied
Mal ein paar fragen:
1.Vorhin kam einmal "too weak" und ich hab keine Punkte gekriegt - der Anfang?
2. Wieso kommuniziert ihr über ein PHP-Skript? Geht das nicht imho direkt mit dem mysql-treiber?
 
V

Viper173

Gast
schnitter:

hat der Gegner null Punkte, bekommt man ebenfalls keine wenn man ihn besiegt. Sonst könnte man ja einfach ein schiff erstellen, dann noch ein anderes und mit dem immer gegen das erste kämpfen und natürlich gewinnen....

Das mit dem PHP habe ich nur gemacht, weil mir das mit den java sql Treibern schon wieder zu kompliziert war :(
aber wie an manuche oder Evolver zu erkennen hat das anscheinend weitere Probleme mit sich geführt diesen Umweg zu gehen...
 

az

Mitglied
das Spiel sicht ja schon mal recht gut aus, vom Spielprinzip her sicher eine geniale Idee.

Folgende (vielleicht subjektive) Eintrücke hatte ich nach kurzem antesten:

Ich denk du wirst noch einige Ballancingschwierigkeiten kriegen. Auf den ersten Blick kommt es mir so vor, wie wenn viele kleine Waffen um einiges besser sind als wenige starke Waffen. Außerdem werden die Schiffe zu wenig von der Seite getroffen, so macht es nur Sinn, Panzerung vorne hinzusetzen. Vielleicht ändert sich das auch mit höheren Leveln, ist mir halt gleich zu Beginn mal aufgefallen.

Wie schon einige vor mir schrieben, ist es gefährlich fürs Spiel, so oft das gleiche Schiff angreifen zu können.
1. Kann man sich selbst extrem gut damit hochpushen und 2. kann man so geziehlt andere Spieler "vernichten". Ist bestimmt nicht lustig wenn du dich am nächsten Tag wieder einloggst und 0 Punkte hast, weil einer sich 3 Schiffe erstellt hat und dich komplett zerschossen hat, nur weil er eine "Anti-Konfiguration" gegen dein Schiff fand...

Zur Zeit sieht man die Konfiguration der ganzen Schiffe in der Rangliste. Wenn das Spiel sich weiter in die Richtung Schere-Stein-Papier entwickelt, wärs evtl zu überlegen, die Konfiguration nicht für alle sichtbar zu machen. Vielleicht ist das aber auch so gewollt, dann vergiss das eben Gelesene schnell wieder :wink:

Ich weiß, ist alles nur eine Beta, aber trotzdem wärs cool wenn du die Rangliste ab und zu aufräumen lässt. Sieht halt ned so toll aus, wenn da ne elends lange Liste mit 0-Punkte-Spieler drinnen ist.

Ach, und ist auch eine Funktion zum Löschen des eigenen Schiffs/Accounts geplant?


Wie eingangs schon erwähnt, sind das halt hauptsächlich Ballancingprobleme, die ich da sehe. Vom Spielprinzip sowie von der bisherigen Umsetzung bin ich aber extrem begeistert :D
 
V

Viper173

Gast
az:

Ist bestimmt nicht lustig wenn du dich am nächsten Tag wieder einloggst und 0 Punkte hast, weil einer sich 3 Schiffe erstellt hat und dich komplett zerschossen hat, nur weil er eine "Anti-Konfiguration" gegen dein Schiff fand...

-> Das Problem hab eich ja noch gar nicht erkannt. Danke Dir. Steht ganz oben auf meiner ToDoList ;)



maki:
Ist es absicht, Leute auszuschliessen welche kein Java 6 haben?

Anscheinend.... habe aber keine Ahnung. Ich dachte ich hatte so fundamental programmiert, das es nicht der Fall ist, aber ich kenne java auch nicht wirklich. lol
 
S

stev.glasow

Gast
eh welcher minihoden hat mich von 55 auf 10 runter gebommt :/
wäre auch dafür das man nur gegen einen 3 mal kämpfn darf oder so. und ne kampf history wäre gut, zwecks racheaktionen :)
 

Evolver

Bekanntes Mitglied
Das Spiel bleibt immer mal hängen bei mir. Zum Beispiel wenn ich einen Kampf starte oder oder dan Kampf gewonnen habe. Das Programm blockiert zwar nicht (ich kann immernoch die Buttons anklicken), aber es geht auch nicht weiter.
 
G

Guest

Gast
zweiter Testbericht nach paar Tagen testen:

- Das gleiche Problem wie Evolver habe ich auch festellen können. Ab und zu bleibt bei Kampfbeginn der Kampfbereich weiß und es passiert nichts mehr. Die Buttons funktionieren aber noch. Der Rückzug-Button zieht einem zb trotzdem 3 Punkte ab, und der Kampf wird auch von den 20 täglichen abgezogen...

- Zu den Waffen: das Kosten/Nutzen Verhältnis von den "besseren", teureren Waffen finde ich zu schlecht. Vor allem der Laser taugt in meinen Augen zu gar nichts. Ich hab schon einige Dinge ausprobiert, zb 2 Laser mit hoher Frequenz gegen mehrere verschiedene Schiffe zu verwenden. Als Ergebnis hatte ich nicht eine einzige schwere Panzerung zerschossen, und meine doppelschichtige schwere Panzerung war komplett zerlegt und mein Schiff kaputt.
Ebenso find ich den Preisunterschied zwischen leichtem und schwerem Turm zu krass.

- Panzerung: Wieso hält die mittlere Panzerung nur 50% mehr aus als die leichte, die schwere Panzerung hingegen 3 mal so viel wie die mittlere, bei jeweils gleichem Kostenanstieg? Zur Zeit ist die schwere Panzerung einfach etwas overpowered.

- Kämpft ein Schiff im Modus Pointer und das andere im Modus Flyby, so wird das Flyby-Schiff immer langsamer und nach ~ 4-5 Runden wird es vom anderen Schiff mit normalen Waffen von der Seite hinten getroffen. Das muss nicht wirklich ein Problem sein, kann aber wiederum zu Balancingproblemen führen.

- Allgemein sollte ein Kampf nicht so statisch sein. Zur Zeit gibt 2-3 Kampfabläuf, wenn 2 Schiffe mehrere Male gegeneinander Kämpfen, die immer wieder eintreten. So kann man sich perfekt auf ein Feindschiff abstimmen. Kriegt man zu viel Schaden an einer Stelle, baust du dort einfach noch einen Panzer dazu und schon siehts im nächsten Versuch viel besser aus.

- Alternativ zum vorigen Punkt kann man auch die Kampfanzahl gegen ein Schiff begrenzen, was ja sowieso schon von vielen gefordert wurde und sicherlich sinnvoll ist. Jede Konfiguration ist schlagbar und wenn da mehere Schiff auf einen losgehen, ist die Frustration beim nächsten Einloggen sicherlich groß....siehe stevg 2 Posts über mir (btw: stevg, an mich hast du auch 3 Punkte verloren :oops: )

- Ich hab mir gestern paar weitere Schiffe erstellt (gehen ja bis zu 4 Schiffe ohne Probleme anzulegen) und mit denen schwache Schiffe zerlegt. Sobald ich dann einige Punkte hatte, griff ich mein eigenes starkes Schiff an und hab bewusst dagegen verloren. Als Ergebnis hat mein starkes Schiff 4 Punkte dazugezählt bekommen. Das nenne ich mal Hochpushen im Easymode. Was ich gesehen habe, müssen das auch paar andere machen, anders kann ich mir nicht erklären, dass da so viele Kämpfe pro Tag bei einem dazukommen^^
Um dem gegenzuwirken sollten starke Schiff keine Punkte bekommen wenn sie von schwachen angegriffen werden.
Eine Begrenzung der Angriffe auf ein Schiff sollte auch etwas Abhilfe schaffen können.
 
V

Viper173

Gast
Danke az,

ich hab folgendes auf meine (immer länger werdende ToDoList) aufgeschrieben:

-Anzahl der Kämpfe gegen ein einziges Schiff limitieren (!!!!)
-mittlere Panzerung ausbalancieren
-Kampfbericht ? (stevg)
-starke Gegner bekommen keine Pkte wenn sie von schwächeren angegriffen werden und gewinnen
-Laser stärker machen (gefährliche Sache! Der Laser kann nämlich ganz schnell die Ultimativlösung werden. Aber ich werd ihn mal ein bißchen tunen :) )

Das mit dem langsamer werden ist gewollt. So habe ich verhindert, dass es einen Endloskapf geben wird. Sie werden halt immer langsamer und treffen sich dann irgendwann garantiert. Gerade im Level 1 ist das nötig, da es dort keine Smart Turrest gibt.
 
V

Viper173

Gast
Nochmal danke für euer wahnsinniges Feedback!
Ich hoffe nur, dass ich in den nächsten Tagen mal die wichtigsten Sachen implementieren kann, die ihr vorgeschlagen habt.
 

az

Mitglied
Das mit dem langsamer werden ist gewollt. So habe ich verhindert, dass es einen Endloskapf geben wird. Sie werden halt immer langsamer und treffen sich dann irgendwann garantiert. Gerade im Level 1 ist das nötig, da es dort keine Smart Turrest gibt.
Ja, es ist klar, dass es möglich sein muss, den Gegner zu treffen. Es ist auch nicht verkehrt, die Schiffe sich irgendwann "treffen zu lassen" indem sie langsamer werden.
Was halt zu Problemen führen kann ist, dass das kreisende Schiff am hinteren Ende getroffen wird. Das führt dazu, dass sich die kreisenden Schiffe auch auf der Seite stark panzern müssen. Und dies nur, weil Schiffe mit "schwachen" Waffen zu doof sind, vorne in die sowieso vorhandene starke Panzerung zu schießen. die "schlaueren" Türme treffen ja weiterhin vorne in die Panzerung.

Natürlich trifft das nicht immer und überall so zu, es hängt schon auch teilweise von der grundsätzlichen Anordnung der Panzerungen/Waffen ab. Ich möchte dir jetzt auch nicht raten da gleich groß Änderungen zu machen, sondern vielmehr darauf zu achten wie sich das entwickelt.

Und dann hätte ich noch eine Frage:
Was passiert wenn beide Schiffe keine Waffen mehr haben? Kreisen die dann ewig im Kreis bis der Angreifer auf Rückzug klickt? Und was passiert wenn man während einem Kampf den Browser schließt?

-Kampfbericht ? (stevg)
Könnte ich mir so vorstellen:
Nach dem Einloggen eine Liste mit Kämpfen seit dem letzten Ausloggen. Mit Schiffname + Anzahl Siege/Niederlagen


Anderes Thema:
Die Anzeige des Schiffsnamens ganz unten ist zu klein. Es gibt ein paar Schiffe deren Name einfach abgeschnitten wird. Und bei aktiver englischer Sprach wird sogar der Doppelpunkt bei "Opponent Ship:" halb abgeschnitten ^_^
 
V

Viper173

Gast
ALso, ehrlich. Das ist nun wirklich komisch!

Wie kann es sein, dass sich zwei Leute gleichzeitig die letzten Türme wegschießen??
Das hör ich jetzt schon zum 2. Mal. Ist doch eine wahnwitzig kleine Wahrscheinlichkeit....
Habe das nicht abgefangen und der Kampf wird endlos. -> Also Retreat (-3 Pkte)

az, bei Browserbeendung nach Kampfstart wird Dein Kampf als Niederlage gewertet. Muss ja, sonst könnte man nun wirklich einfach betrügen:)
 

Evolver

Bekanntes Mitglied
Viper173 hat gesagt.:
Wie kann es sein, dass sich zwei Leute gleichzeitig die letzten Türme wegschießen??
Das hör ich jetzt schon zum 2. Mal. Ist doch eine wahnwitzig kleine Wahrscheinlichkeit....

Nicht unbedingt. Wenn einer noch aktive Panzerung hat, kann der andere ja auch dadurch noch seinen eigenen Turm verlieren, oder?
 

az

Mitglied
genau, das Problem hatte ich jetzt auch schon einige Male. Einer verliert seine ganzen Waffen, hat aber noch paar Active Armor. Der andere schießt auf den Armor drauf, bis seine eigenen Waffen zerstört sind.


Wie sieht das jetzt eigentlich mit den erlaubten Angriffen pro Tag aus? Wenn ich mehrere Schiffe abwechselnd angreife, kann ich gegen jedes Schiff auch öfter kämpfen. Finde ich gut so, allerdings würde die Fehlermeldung angepasst gehören. Es ist ja dann doch nicht ein Kampf pro Tag. :)
 

Evolver

Bekanntes Mitglied
Also manchmal steht bei mir da, ich könnte nciht gegen einen bestimmten Gegner kämpfen, da ich 'heute' schon gegen ihn gekämpft habe, obwohl das garnicht stimmt.
 
V

Viper173

Gast
Evolver,
der Bug ist mit heute aufgefallen und wurde beseitigt. Neuer Tag -> Alle Gegner wählbar.
Im übrigen kann man jedes 5. mal den selben Gegner angreifen. Aber das habe ich nicht in eine kurze Fehler-Nachricht bekommen:) Was kannn man denn da schreiben? "Diesen Gegner erst wieder angreifen wenn Du vier andere angegriffen hast" Puhhh.....

Das mit dem Active-Armor ist mir ja gar nicht eingefallen:)
Stimmt. Aber dann hat man eben verloren oder?
 

Evolver

Bekanntes Mitglied
Viper173 hat gesagt.:
Das mit dem Active-Armor ist mir ja gar nicht eingefallen:)
Stimmt. Aber dann hat man eben verloren oder?
Naja, ich würde einfach den Kampf als unentschieden werten, wenn beide keine Geschütze mehr besitzen und keine Geschosse mehr unterwegs sind. Dann gibts halt für beide Spieler ein oder zwei Punkte.
 

Oni

Top Contributor
Hi,

kann es sein das man pro IP-Adresse nur einen account anlegen kann? finde ich schade, bin gerade auf der arbeit und habe meinem kollegen den link geschickt. der konnte sich dann aber nicht anmelden, weil er angeblich schon ein schiff hat.

gruß oni
 

Oni

Top Contributor
Du solltest den Link vielleicht noch einmal in einem stark frequentierten forum posten um das game etwas publik zu machen.

z.B. www.computerbase.de der hängen nur computerfreaks rum, da finden sich bestimmt ein paar spieler
 
V

Viper173

Gast
Danke, Oni.

Ja es ist richtig, dass man pro IP-Adresse nur ein Schiff erstellen kann. Ich hab's auf die schnelle nicht besser hinbekommen eine Begrenzung der Schiffserstellung zu bewerkstelligen.

Kann man einen Benutzer noch individueller erfassen als durch die IP-Adresse??
In php ist das mit der IP nur so einfach :=)
$ip ="$REMOTE_ADDR";


Danke auch für den Posting-Tip. Der ist wirklich Gold wert. Aber erst mal müssen wir ja die ganzen Tips umsetzen ;)
 

Kizz

Mitglied
Also ich kenn mich jetzt auch nicht so aus, aber ich kann mir nicht vorstellen, dass man als "externer" einfach so auf die Mac-Adresse eines Rechners zugreifen darf.

Ansonsten würde mir zur Absicherung nur E-Mail-Adresse einfallen. Also das man eine mit angeben muss, an die wird dann eine Mail geschickt mit Link zum verifizieren. Allerdings hat man sich bei GMX etc schnell mehrere besorgt und ausserdem denke ich dass das für euer Projekt ein wenig "Overkill" wäre.
 
V

Viper173

Gast
Das denke ich auch.
Außerdem mag ich diesen Verifizierungsaufwand nicht seiten des Benutzers. Mich nervt sowas immer.

Die MAC-Adresse ist mir ja auch noch nicht zu Ohren gekommen:) musste ich eben erst mal googlen. Sowas hätte ich mir auch alternativ vorgestellt. Eine Art Hardware-Fingerprint zur individualeren Identifizierung als die IP.

Ich muss mich da wohl erst mal ein gutes Stück schlauer machen...
 

az

Mitglied
Ich würde mir eine Update-Historie wünschen.
Erstens, weils einfach interessant ist, zweitens, um neue Änderungen gleich testen zu können und drittens um zwischen Bug und Feature unterscheiden zu können.

Seit ich in auf Level 5 gelandet bin, ist es richtig fad geworden. Die Anzahl der angreifbaren Schiffe ist extrem eingeschränkt und es ist auch nur ein Angriff pro Schiff möglich, da nicht genug Schiffe auf dem Level sind, um eine weitere "Runde" angreifen zu können.

Gestern und heute musste ich wiederholt festellen, dass mein Schiff Schaden bekommt, obwohl es noch mit Panzerung geschützt ist. Zumeist bei Kampfbeginn, wenn beide Schiffe gerade aufeinander zufliegen und der Feind Active Armor vorne eingebaut hatte. Aber nicht nur in diesem Fall.
Bug oder Feature? Wenn Feature, wovon hängt es ab?
 
V

Viper

Gast
Bug!

Ich habe schon Stunden über Stunden an diesem Problem gehangen, aber es will nicht weggehen!
Kugeln schießen halt manchmal durch die Panzerung. Ich habe schon die Strecke einer Kugel pro Zeitschritt verkürzt, so dass sie nicht über ein Tile hinwegfliegen kann in einem Integrationschritt....

Das es momentan fad auf Level 5 ist wird sich hoffetnlich bald ändern. Je mehr Leute dieses Spiel spielen, desto mehr sind es ja letztendlich pro Level...
 
V

Viper173

Gast
Ah, azrael..... Du legst es aber auch darauf an, dass man dir vorne durch die Panzerung schießt :)
 

Oni

Top Contributor
ein bug ist mir auch schon aufgefallen.
habe heute morgen gegen einen kämpft, und am ende hatte ich noch 2 kanonen und er keine mehr. die haben aber leider nur noch am gegner vorbei geschossen. nach 5min habe ich dann abgebrochen, weil kein einziger schuss beim gegner ankam.
 
V

Viper173

Gast
Oni, das ist auch so ein BUG, der mich nachts verfolgt.
Ich habe folgendes dagegen getan. Die Triebwerksleistung wird ab bestimmten Zeiten gedrosselt.
Erst auf 66%, dann auf 40%, dann auf 13% und jetzt habe ich eine weitere Drosselung nach ca. 250 SEkunden auf Timemulti 1 auf 3% (!) dazugetan. Und dann sollte jeder schuss treffen!!!

Also, AZ. Ich hatte schon den Weg jeder Kugel in einem Integrationsschritt halbiert. Somit fällt die Wahrscheinlichkeit, dass eine Kugel in einem Zeitschritt "über" ein Tile springt. Ich verviertel diese Stecke jetzt noch. Und der Rest ist dann ein Feature!! Da dieses Phänomen hauptsächlich bei hohen Relativgeschwindigkeiten auftritt, kann man es als geschwindigkeitsbegründeten Durchschuss gelten lassen. Das spornt zusätzlich Leute an, schnelle Schiffe zu bauen, was bei zukünftigen Triebwerk-Upgrades zu buche schlägt:)
 

Oni

Top Contributor
Das stand nach einiger zeit in meiner Java-Console:

Code:
Exception in thread "AWT-EventQueue-2" java.lang.OutOfMemoryError: Java heap space
	at java.awt.image.DataBufferInt.<init>(Unknown Source)
	at java.awt.image.Raster.createPackedRaster(Unknown Source)
	at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
	at sun.awt.Win32GraphicsConfig.createAcceleratedImage(Unknown Source)
	at sun.awt.windows.WComponentPeer.createImage(Unknown Source)
	at java.awt.Component.createImage(Unknown Source)
	at AppletFrame$DoubleBufferPanel.paint(AppletFrame.java:177)
	at sun.awt.RepaintArea.paintComponent(Unknown Source)
	at sun.awt.RepaintArea.paint(Unknown Source)
	at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-2" java.lang.OutOfMemoryError: Java heap space
	at java.awt.image.DataBufferInt.<init>(Unknown Source)
	at java.awt.image.Raster.createPackedRaster(Unknown Source)
	at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
	at sun.awt.Win32GraphicsConfig.createAcceleratedImage(Unknown Source)
	at sun.awt.windows.WComponentPeer.createImage(Unknown Source)
	at java.awt.Component.createImage(Unknown Source)
	at TFight$DoubleBufferPanel.paint(TFight.java:110)
	at sun.awt.RepaintArea.paintComponent(Unknown Source)
	at sun.awt.RepaintArea.paint(Unknown Source)
	at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-2" java.lang.OutOfMemoryError: Java heap space
	at java.awt.image.DataBufferInt.<init>(Unknown Source)
	at java.awt.image.Raster.createPackedRaster(Unknown Source)
	at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
	at sun.awt.Win32GraphicsConfig.createAcceleratedImage(Unknown Source)
	at sun.awt.windows.WComponentPeer.createImage(Unknown Source)
	at java.awt.Component.createImage(Unknown Source)
	at AppletFrame$DoubleBufferPanel.paint(AppletFrame.java:177)
	at sun.awt.RepaintArea.paintComponent(Unknown Source)
	at sun.awt.RepaintArea.paint(Unknown Source)
	at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-2" java.lang.OutOfMemoryError: Java heap space
	at java.awt.image.DataBufferInt.<init>(Unknown Source)
	at java.awt.image.Raster.createPackedRaster(Unknown Source)
	at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
	at sun.awt.Win32GraphicsConfig.createAcceleratedImage(Unknown Source)
	at sun.awt.windows.WComponentPeer.createImage(Unknown Source)
	at java.awt.Component.createImage(Unknown Source)
	at TFight$DoubleBufferPanel.paint(TFight.java:110)
	at sun.awt.RepaintArea.paintComponent(Unknown Source)
	at sun.awt.RepaintArea.paint(Unknown Source)
	at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "AWT-EventQueue-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "AWT-EventQueue-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "AWT-EventQueue-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "AWT-EventQueue-2" java.lang.OutOfMemoryError: Java heap space
....
 
V

Viper173

Gast
Aha,

ist ja n Ding! Out of memory. Ich dachte Java wär so toll und räumt für einen auf....
Kann mir jemand auf anhieb sagen, was das für Probleme sind??? Ich werd dort nämlich nicht schlau draus
 

Oni

Top Contributor
Java räumt die Objekte ja nur weg, wenn sie nicht mehr benötigt werden. vielleicht bleibt ja irgendeine abhängigkeit?

was passiert den hier (TFight.java:110)?

PS: meld dich doch mal im Forum an. :bae:
 
V

Viper173

Gast
Kann man hier wirklich Themen erstellen ohne sich anzumelden? Kann mich nämlich gar nicht mehr erinnern :oops:
Und ich versuch mich hier schon seit Minuten anzumelden.....


OK, die besagte Zeile macht folgendes:
if(offscreen == null) {
offscreen = createImage(getSize().width, getSize().height);
}


Aber der wahre Fehler liegt wahrscheinlich eher im memory leak....
Dann habe ich halt Fehler gemacht, OK...! Und jetzt werde ich von diesem doofen Java wieder dafür bestraft, da es angesichts des Garbage Collectors irrsinnig schwer ist, das Problem zu finden! Unter C++ brauch ich 15 Minuten für die Behebung eines memory leaks und was mach ich in JAVA!!!????

Hat jemand ne Idee??

before = Runtime.getRuntime().freeMemory();
after = Runtime.getRuntime().freeMemory();
aber after-before schwankt ja derart rum, dass ich daraus nicht schlau werde! :x
 

Oni

Top Contributor
#freeMemory() liefert dir auch immer nur einen wert, der relativ zu dem von der jvm für das programm zur verfügung gestellten arbeitsspeichers ist. das sind standardmässig maximal ~65 mb.

z.B:
#maxMemory() = 65mb
#totalMemory() = 20mb
#freeMemory() = 5mb

dann heißt das, dass 5 mb von den 20mb noch frei sind. aber das programm sich noch mehr holen kann.

du könntest dir das programm mit einem profiler anschauen. zb jprofiler, gibt es als testversion für 30-tage.
 
V

Viper173

Gast
Genau das meine ich! Jetzt brauche ich echt wieder fremdprogramme, weil man mit java nicht mehr alleine klarkommt...
Hab mir auch schon eins runtergeladen... und nicht verstanden.

Ich geh jetzt einfach zu Fuß und such den Fehler selbst ???:L
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben