Verwijderd schreef op 24 November 2002 @ 21:40:
[...]
Het idee is erg leuk, maar ik denk dat er niet onderschat moet worden hoe lastig het is om een tank-engine te bouwen die echt een uitdaging gaat worden om door de clients bestuurd te worden. Maar ik vind het klinken als een uitdaging.
De engine wil ik juist ontzettend simpel houden! Het besturen van de tank wil ik ook niet al te moeilijk maken, maar het verslaan van je tegenstanders word juist de moeilijk heid.
[sub][al vast wat ideeen modus]
Je kan natuurlijk een 'tank-api' maken die aan valt te roepen (maar dan ook alleen de api en niets anders). Waarin je een soort echte wereld simuleert met regeltjes als (bijvoorbeeld):
- je kan niet verder dan 200 units ver kijken
- je kan er niet achter komen of zich achter een obstakel een ander object bevind
- je snelheid van bewegen is gelimiteerd
- etc...
Als je dan een de functie set_tank_pos(10, 20); aanroept dan gaat de engine kijken of dat uberhaubt wel mogelijk is, zoniet retouneert je functie met een error!
Je ideeen lijken me ok, had hier zelf ook al aan zitten denken. Een set_tank_pos gaat er in elk geval NIET inkomen.
Je maakt dan een grote map waarin een doel gesteld word, bijvoorbeeld iedereen elimineren of zo snel mogelijk de andere kant van het veld halen. Dan kunnen er best regels verzonnen worden waarmee je leuke competitie kan maken.
(Al denk ik dat je api-calls makkelijk kan omzeilen en hier toch een 'protocol' verzonnen moet gaan worden)
[/al vast wat ideeen modus][/sub]
Op IRC werd al gevraagd voor een team "capture the flag" mode
Mijn idee (in het kort):
Tank wordt ergens geplaats dpoor de engine. Waar op het veld geef ik niet door, dat mag je zelf uitzoeken. Je krijgt alleen de orientatie door van je tank en je turret (turret en tank dus los van elkaar te bewegen). Je kan per "beurt" 1 opdracht uitvoeren.
Opdrachten zijn dingen als
- Ga 1 unit vooruit of achteruit
- Draai links/rechts om (1/8 van een totale cirkel dus alleen horizontaal, verticaal en diagonaal mogelijk
- Draai turret links / rechts om
- 1 tank is 1 unit groot
- In elk geval in het begin voor de simpelheid een vierkant veld van bijv 100 bij 100 units (makkelijk weer te geven op een grid en makkelijk te implementeren).
- scannen. (waarbij ik het idee heb om of een radar ping te doen, dus je krijgt in een cirkel van een bepaalde straal alle gegevens terug, of je krijgt a.d.v. je turret orientatie afstanden door van objecten e.d. voor je.
- Schieten (waarbij een raket/kogel/whatever 1 unit groot is maar al schade doet als je in een aanliggende unit terecht komt.
- Na het geven van een commando aan je tank krijg je door of het gelukt is of niet. Waarom het niet gelukt is mag je zelf weer uitzoeken m.b.v. scannen
Tuurlijk is het allemaal NIET origineel. Beter goed gejat dan slecht bedacht.
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney