Autor Beitrag
nkp90
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24
Erhaltene Danke: 2



BeitragVerfasst: Sa 06.09.08 16:51 
Hiho

ich möchte hiermit mein "kleines" Towerdefense vorstellen was ich in letzter Zeit programmiert habe.

Was ist Tower-Defense?
Tower-Defense (kurz TD) ist ein Spiel-modi bei dem mit Türmen, die der Spieler errichten muss, verhindert werden, dass Gegner ein bestimmtes Ziel nicht erreichen. Die Gegner bewegen sich dabei von einem Checkpoint zum anderen und müssen alle passiert haben, eh sie in ihr Ziel laufen und dem Spieler damit ein Leben abziehen.

Wie kann ich es verhindern das die Gegner ihr Ziel erreichen?
Indem man Türme baut. Oben in der Mitte kann man sich zwischen 4 Grundtürmen entscheiden die man entweder in 4 andere Tower umgestalten kann oder diese Verbessern kann. Der 5. Turm ist eine Mauer. Diese greift nicht an und dient nur dazu zu "mazen".

Was ist "mazen"?
Mazen ist das wenn man mit den Türmen den Gegner in ein Labyrinth schicken muss, damit dieser an seinen Checkpoint oder ins Ziel kommt. Dabei habe ich eine neue Art des Mazen eingebaut die es erlaubt die maze noch enger und somit effektiver bzw komplexer zu gestalten.


Wichtig:
- es ist mir leider noch nicht gelungen die Fehler vollständig herauszukriegen. Die meisten Fehler sind Zugriffsverletzungen (wobei ich zwar sehen kann welche Zeile im Code diese Meldung verursacht, ich aber beim genauen prüfen nicht feststellen kann woran dort der Fehler liegen soll (Code-Bsp: main.geldlbl.Caption:=inttostr(F_gold); )
- die Balance beruht aktuell noch auf reiner Mathematik und kann somit auch unmöglich sein^^ ... muss ich noch ma überarbeiten... (bin selbst noch nicht über lvl 35 gekommen ^^)
- um creep-jugling (die dies können wissen was es ist^^) zu verhindern wird der Weg eines Creeps nicht aktualisiert, wenn ein neuer Turm errichtet wird.
- Todo-list
-- Zugriffverletzungen entfernen
-- Balance verbessern
-- evtl Musik im Hintergund trallern lassen
-- Speicher-möglichkeit einbauen
-- unterschiedliche Schwierigkeitsmodi

ansonst:
ich hoffe es ist trotzdem einigermaßen Spielbar ^^
und möchte pls ein bissl bewertung oder sonstige komments haben^^ (zB auch was man genau machen muss damit ein Fehler kommt oder so)

mfg
(ja ich weiß das ich noch nicht viel Posts hier im Forum habe^^(bin halt der stille Leser, der nicht jedem "müll" nachfragt^^))
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von nkp90 am Mi 01.10.08 20:47, insgesamt 5-mal bearbeitet

Für diesen Beitrag haben gedankt: Hidden
huuuuuh
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 665
Erhaltene Danke: 19

win xp, (win vista), win 7
VS 2008 Express Edition, VS 2010 Express Edition, VS 2010 Professionell
BeitragVerfasst: Sa 06.09.08 17:27 
colles konzept, so kenn ich towerdefence noch nich. das spiel macht einen guten eindruck.
aber wenn die bilder nich verfügbar sind hagelt es zugriffsverletzungen...
nkp90 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24
Erhaltene Danke: 2



BeitragVerfasst: Sa 06.09.08 18:30 
eigentlich müssten die mit in dem ordner drin sein: aber ich kann ma versuchen die bilder in die exe mit rein zu packen ....

mfg

edit:
bilder sind in der exe jetz drin ^^
DelphiMarkus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 303

OpenSuSE
Delphi 2009 Pro., Lazarus
BeitragVerfasst: Fr 12.09.08 17:20 
Hallo!
Sehr schönes Spiel, es machr richtig Spass! :zustimm: Aber das Spiel hat noch einige Fehler, z.B. Wollte ich eine Mauer bauen, da kam eine Zugriffsverletzung.
Das Spiel ist mir bei 4 Mal Spielen 2 Mal abgestürtzt, warum weiß ich nicht.

Die Zugriffsverletzung ist schon ärgerlich, schau mal ob du sie beheben kannst.
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 13.09.08 11:12 
Hi,

Gefällt mir sehr gut :zustimm:

Der Seuche-Tower ist genial, bekommt als einziger 'ne ganze wave allein down. Solche Sachen müssten aber einmal definiert werden: Ist Seuche aufaddierbar(du hast ja geschrieben "später"), wie lange hält sie an? Ist der Abzug prozentual oder ein Fixwert?

Bei früheren Towerdefense-Versionen hier im Forum(einfach mal suchen ;)) war es so, dass die Range mit einem gestrichelten Kreis beim Bauen angezeigt wurde. Das fände ich sehr schön :D

Das Info-Menü sollte imho nur angezeigt werden, wenn sich die Maus über den Buttons befindet.

Edit: Ein Menü, um die Türme(später?) aufzurüsten vermisse ich :)

Bist du dir beim Schaden des Seuche-Towers sicher? 1-1000 o.O

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
nkp90 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24
Erhaltene Danke: 2



BeitragVerfasst: Sa 13.09.08 12:45 
bei dem problem mit den zugriffsverletzungen zerbreche ich mir grad noch den kopf dran (schwer den fehler als solches zu finden, da mir die fehlermeldung und der angezeigte code nicht weiter hilft -.-)

das mit dem kreis zum anzeigen des radius is ne gute idee :)
---erledigt

und das mit der seuche bzw den dots das muss ich noch ma überarbeiten ...(aktuell is es so das zB da steht: 1-1000 ... dh alle 1000 milisekunden macht der tower 1 schaden usw...)
---erledigt

das mit den menüs: die gehen eigentlich nur auf wenn man sich mit der maus länger als xxx milisek darüberbefindet (absichtlich so gemacht ... wie ne art hint^^)
---sollt so sein ^^

das mit der späteranzeige bezieht sich auf lvl 10 tower ^^^(schreib ich noch dazu^^)
---erledigt

mfg
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 13.09.08 15:25 
user profile iconnkp90 hat folgendes geschrieben:
das mit den menüs: die gehen eigentlich nur auf wenn man sich mit der maus länger als xxx milisek darüberbefindet (absichtlich so gemacht ... wie ne art hint^^)

Jop, das finde ich soweit ganz gut. Aber, wenn man die Maus vom Knopf runternimmt, braucht's erst einen Rechtsklick, damit das Menü zugeht. Man kann sogar reinklicken ;)

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
j.klugmann
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 13.09.08 15:43 
Schickes Spiel!Macht richtig Spaß!Wie gesagt würde ich das mit dem Menu verbessern.
Ich finde es blöd das man das Progg nciht minimieren kann.Es ist ja ein Spiel für Zwischendurch und nciht sowas wie Age Of Empires was den ganzen PC beansprucht.
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 13.09.08 16:05 
Kannst du: Rechtklick auf das Symbol in der Taskleiste :lol:

Was ich chic fände wären Shortcuts für die Buttons, z.B. Strg+n für neues Spiel. Und uf jeden Fall ein Menü für einen angeklickten Turm. Wie wertet man eig. Türme auf :?: Verkaufen tät' ich gerne.

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
nkp90 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24
Erhaltene Danke: 2



BeitragVerfasst: Sa 13.09.08 18:55 
ich hatte festgestellt das in der alten version doch ein paar fehler zu viel dabei waren, welche mit fehlenden bildern zu tun hatte ^^ ... jetz sind die alle in der exe drin, wodurch es möglich ist die türme zu verbessern bzw zu verkaufen oder ähnliches

das mit dem menü weg machen wenn man mit der maus das tower-symbol verlässt war nicht mein plan da es zb auch informationen bzgl rüstung gibt: wenn man mit der maus zB über physisch geht sieht man wie sich physischer schaden auf welche rüstungsart auswirkt. geht man dann mit der maus über die schadensart magisch, wird dieser schriftzug grün und man sieht davon die entsprechende auswirkung auf die rüstung ^^

das minimieren .. naja.. son hässlichen windows-rahmen wollte ich nicht ringsherum haben, und es geht trotzdem (halt per taskleiste) ... ich kann ja mir noch ma was bzgl rahemn bauen einfallen lassen :)

cpu-lastig (wie aoe es war^^) ist das spiel eigentlich nicht ... nur die pathfinding-procedure ist etwas lastig, aber so schnell das es kaum auffallen sollte)

das mit den shortcuts per tastatur is ne gute idee ... nur müsste ich da erst noch bissl lernen, weil ich bisher noch nie was mit tastatursteuerung gemacht hab (außer edit-felder und so :D )
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: So 14.09.08 13:27 
Hi,

Dein Programm war gerade auf einmal weg :shock: Keine Fehlermeldung, kein garnichts, einfach verschwunden, der Prozess :gruebel:

Beim Verkaufen fehlt mir noch der Verkaufspreis und ein Hint, dass der Knopf zum Verkaufen da ist ;)

Ansonsten sehr schön :zustimm:

Edit: Argh, nimm bitte dem "Neu"-Button den Fokus weg, wenn er gesetzt wird.. Hab gerade 'ne Acessviolation mit Enter weggeklickt und dann aus versehen alles gelöscht :( War wave 10 :eyes:

E2: Ach so, und manchmal kann man an bestimmte Stellen nichtmahr bauen. Stattdessen kommt 'ne AccessViolation und ein Rotes Fokus-Kreuz oben Links.

E3: Autsch, gerade bei wave 20 oder so('ne Weile nach 14..) ein Haufen von AccessViolations(wie mit'm Timer) und dann, als ich gerade den Prozess killen wollte, war er plötzlich verschwunden :P

War schon fast ger ganze Bildschirm vollgebaut :)

E4: Eventuell während des Baus eines Turms(bevor der Platz gewählt wurde) schon upgraden. Dann könnte man den Platz nach dem Upgraden nach der wirklichen Range auswählen ;)

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
nkp90 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24
Erhaltene Danke: 2



BeitragVerfasst: So 14.09.08 15:59 
@ hidden:
-das mit nem hint fürs verkaufen lässt sich einrichten
-das mit dem fokus muss ich ma suchen wie man das macht ^^

-das mit dem bauen is mir auch schon ma passiert, aber als ich dann geguckt hatte durch was es verursacht wurde musste ich feststellen das die selbe procedure die den fehler verursachte eigentlich ständig ausgefürht wird, aber seltsamerweise da keine fehler bringt -.-
-das mit den ganzen violations liegt an folgender zeile
if ((F_path[F_passedpath].pkt.x*15-15=x) and (F_path[F_passedpath].pkt.y*15-15=y)) then begin
diese zeile wird immer dann ausgeführt, wenn der creep sich ein pixel weiterbewegt. an der stelle wo der fehler aber auftrat, ist es (schon nach einigen tüfteln) so, dass das dyn. aray F_path zwar gut bestückt ist und auch immer die stelle F_passedpath besitzt, aber trotzdem ein fehler kommt (durch was auch immer -.-)

das is nämlich aktuell noch mein problem bei dem ganzen programm das fehler zustande kommen dessen ursache ich aber nicht finden kann da sie (meiner meinung nach) unlogisch sind --.--

mfg
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: So 14.09.08 16:20 
Hi,

Wenn du willst, kannst du das Projekt auch mal hochladen, wären sicher einige bereit, da mal drüberzuschauen :)

Ich glaub, jetzt hab' ich alle Fehlersorten einmal durch :lol: Gerade: .. hat ein Problem festgestellt und muss beendet werden.^^

E: wave 23 und abgestürzt :?

E2: Wenn das Spiel den >Fokus verliert, sollte es auf Pause schalten :)

E3: Wave 27, meinen Highscore angehängt. Wer sich über die vielen schwächenden Türme Wundert: Meine Maus hat da so 'nen Tick und ich hab' verzweifelt versucht, 'nen Laser-Turm zu bekommen :P

mfG,
Einloggen, um Attachments anzusehen!
_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Di 16.09.08 22:42 
Ist das eig. Absicht, dass Türme mit 1-1 keinen Schaden machen? =) Z.B. die ersten Stufen des Laser-Turms ;)

Edit: hier nochmal ein etwas strukturierterer Ansatz :D Bin nicht ganz so weit gekommen, da sicher der Feuer-Caster(besonders bei den unfair vielen auf wave 25) einfach besser eignet. Übrigens der einzige Turm, den ich ohne weiteres auf Stufe 10 bekommen habe :?

E2: Hier sieht man's jetzt nicht, aber der Physik-Tower ist Stufe 9.

E3: Das Teleportationslabor kann ja jeden Feind nur ~3 Mal teleportieren. Steigt da die Teleportationsstrecke oder die mögliche Häufigkeit mit der Stufe?

E4: Du solltest das OnPaint der Paintbox benutzen ;) (sry, falls du das bereits tust und es an 'was anderem liegt). Dann wird das Spiel nämlich auch während der Pause neu gezeichnet und ein anderes Fenster wischt beim drüberfahren nicht alles weg.

mfG,
Einloggen, um Attachments anzusehen!
_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Mitmischer 1703
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: Do 18.09.08 17:59 
Sehr tolles Programm, Respekt :D !

Was du vielleicht noch überarbeiten könntest, wäre die Einstellung, welcher Feind denn abgeschossen werden soll: Du klickst also auch einen deiner Feinde, und der wird dann von allen dienen Einheiten angegriffen (sofern in Reichweite)

_________________
Die Lösung ist nicht siebzehn.
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Do 18.09.08 18:44 
Hi,

  • Aufrüsten: Beim projezierten Radius die Stärkungs-Aura mit einbeziehen. Außerdem muss man nach dem Aufrüsten erst einmal den Fokus wegsetzen, damit die Verstärkungen der Aura hinzugerechnet werden
  • Beim verkaufen nicht ganz löschen sondern Rückbau um eine Stufe. Zumindest eine Mauer sollte stehen bleiben, da sonst für die aktuelle wave ein Durchbruch da ist.
  • Statusanzeige der aktuellen Gegner: hp gesammt, Gegnerzahl. Außerdem Gegner markierbar. Dann für den markierten Gegner den Status und, wie schon von anderen gesagt, einen Knopf, um alle Türme in Reichweite auf ihn switchen zu lassen.
  • Immunität gegen Seuche nich absolut machen!! Es ist praktisch unmöglich, auf dem Turm aufzubauen, da für den Fall einer Immunität auch alle Arbeit ohne ihn reichen muss :?
  • Was ich auf jeden Fall vermisse ist eine ausführliche Hilfe zu dem Spiel: Dieses verrückte Verhalten der Rüstungsklasse "Held" habe ich z.B. immer noch nciht verstanden: Bilde ich mir das ein oder haben die so nach Lust u8nd Laune ab und zu mal Phasen, wo sie überhaupt Schaden nehmen können^^
  • Ich hätte gerne einen Button, um das Spiel zu Beschleunigen.. Ab wave 20 oder so ist es eig. nurnoch so, dass man die Wave totwartet und einfach das Geld für die nächste Aufrüstung braucht..[dringend] :)
  • wird fortgesetzt


Gefällt mir sehr gut, lass dich nicht von den vielen Vorschlägen abschrecken :zustimm:

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
nkp90 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24
Erhaltene Danke: 2



BeitragVerfasst: Fr 19.09.08 21:17 
erst ma schon ma danke für die vielen gedankenanstöße, leider kann ich aber während der woche eher schlecht weiterarbeiten, weil ich da in meiner wohnung ca 50 km weg von @ home bin und dort noch kein inet hab (erst seit 3 wochen dort oder so und kaum geld -.-)

das mit den anregungen find ich gut ... doch ich werd nicht jede einbauen, da das spiel ansonst entweder zu voll, zu unübersichtlich oder eventuell zu schwer oder gewöhnungsbedürftig werden könnte ^^

und das mit dem zeichnen: ich zeichne auf ein virtuelles bild im ram, das ich dann auf den desktop werfe, was ich aber noch ändern werde ^^

um den rest werd ich mich jetz das we ma bissl kümmern bzw gucken was geht, ohne das ich das halbe prog neu machen muss ^^ (wird schon :) )

mfg
ps:
das mit dem laser-tower auf den lowlevel liegt aktuell an bissl rechnung: 1-1 schaden heißt das mit jedem schuss 1 schaden gemacht wird, aber durch die rüstung, welche 50% ignoriert ist es so, dass (weil ich bisher nur mit integer rechne) halt die zahl abgerundet wird auf 0 schaden ^^

und: lvl 31 hab ich bisher auch noch net geschafft (lvl 30=pers. rekord ^^)
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 20.09.08 11:45 
Hi,

Kannst du die Rüstung nicht irgendwie in die tatsächlichen hp einfließen lassen? Integer bietet ja doch einiges mehr an Performence ;)

mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
nkp90 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24
Erhaltene Danke: 2



BeitragVerfasst: Sa 20.09.08 12:08 
mh... *grübel grübel*

für die ersten angenommen 10 lvl würde es sich lohnen, aber später weiß ich nicht ob ich an das integercap kommen würde, weil der lvl 50 boss hat doch schon einiges aufn kasten :D

ich werde mir dazu auch paar gedanken machen, kann aber nicht garantieren das ich das das we schaffe, weil doch noch einiges an RL ansteht^^ .. aber ich wollte jetz die woche den rechner ma mit zur wohnung nehmen, was so viel heißt wie das ich vorankommen müsste und nächstes we (leider erst) ein update da sein müsste ^^

mfg
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Sa 20.09.08 16:37 
Hi,

Sonst nimm doch schonmal cardinal und steig später auf int64 um.. immernoch mehr performence als extended, oder?

Was heißt "mehrmals" beim Seuche-Tower Stufe 10? beliebig oft? das wär' ja ziemlich heftig :shock:

Edit: Und was ändert sich beim Teleport-Labor durch aufrüsten?

E2: Also priorität hat im Moment auf jeden Fall, dass das Spiel immer weider zu crashen scheint. Ich habe meinen Königsweg inzwischen gefunden und glaube, dass ich auch lvl 31 knacken würde.. Ist mir aber heute schon drei Mal um lvl 30 rum gecrasht und langsam bin ich es leid^^

Also: entweder speichern(sicherlich am einfachsten zu realisieren) oder diesen Fehler finden :?

Im Anhang: Meine Strategie, hatte dann auf lvl 30 noch die hälfte der Mauern in Numb-Türme(Hammer) verwandelt und das ging mit dem Boss schonmal ganz gut, der hat sich kaum noch bewegt :D

mfG,
Einloggen, um Attachments anzusehen!
_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)