Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin
Verwijderd
Bij mij werkt het wel.....Yogho schreef op 01 oktober 2002 @ 12:46:
Clay:
Waarom doet dat testje het niet bij mij? De pagina geeft een fout in regel 196 char 2: "Object doesn't support this property or method".
Ik zit op win2k + IE5
ook W2k + IE5
Programmer - an organism that turns coffee into software.
Hier met W2K + IE6 werkt het.
“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.
Verwijderd
Let wel, hij is nog niet compleet, er worden geen variabelen meegegeven. Function.apply is vergelijkbaar, maar deze gebruikt een array als argumenten-lijst, ipv een "gewone" argumentenlijst.
1
2
3
4
5
6
| if(!Function.call) Function.prototype.call = function(THIS) { if(!THIS) { alert('First argument needs to be the owner object (this)'); return; } THIS.$call=this; return THIS.$call(); } |
* drm heeft overigens nog geen tijd gehad de source te bekijken, maar zal 't vanavond zeker doen
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
Verwijderd
Helemaal mee eens, maar ik had gehoopt dat iemand een ideetje had om die variabel aantal parameters mee te gevendrm schreef op 01 oktober 2002 @ 14:27:
mja, workarounds gaan alleen maar ten koste van de performance. wat mij betreft liggen de requirements dan gewoon wat hoger.
BTW, IE5/Win2K crasht toch veel te vaak op GoT
Dat is ziekBosmonster schreef op 01 oktober 2002 @ 14:30:
Misschien handig voor inspiratie:
http://www.smokymonkeys.com/triglav/
Een RPG in JS
Graphics zijn extreem vet ook.
code is ook behoorlijk netjes
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
Maar, wij zijn zo goed
Wellicht kunnen we trouwens wat problemen welke wij hadden bekijken hoe ze het daar hebben opgelost of gaan we net zolang door totdat we het zelf hebben uitgevonden...
* Woudloper persoonlijk gaat voor het laatste... Net zolang doorgaan totdat we het zelf hebben uitgevonden... leer je ook het meest van
Dan nog even een vraagje: moeten we alleen weten wat de isometrische X en Y zijn van de tiles, of moeten we precies weten waar op de tile (dus de 30 graden gedraaide X en Y coordinaten)? Dat laatste is iets moeilijker gok ik.
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin
Plaatje komen morgen wel (nu geen zin meer in)
2 opmerkingen:
- Clay kun jij een model / schema maken van hoe jij de engine zou zien? Dus een main engine en overerving door andere classen
- Dat smokeymonkey spel is echt mooi gedaan
"You're only as good, as what you did last week."
da's dus exact wat ik wilde zeggenoh,when?:
- Clay kun jij een model / schema maken van hoe jij de engine zou zien? Dus een main engine en overerving door andere classen
Verder had ik nog 2 opmerkingen:
Clay: nicely done, dat grouping mechanisme.
Ik ben ondertussen ook bezig met 't hele topic doorlopen op alle linkjes en interessante stukjes tekst, om ff te verzamelen op een site. Dat kan ik redelijk binnenkort af hebben. Dan hebben we iig een iets meer geconcentreerd punt van gegevens
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
Flap
Welke browser/OS gebruik je? En heb je alle onderdelen van DHTML aanstaan (Javascript en CSS)? Onder Mozilla 1.1 @ WindowsXP SP1 en IE6 @ WindowsXP SP1 werkt alles perfect.UDuckling5 schreef op 02 oktober 2002 @ 20:05:
Ben ik de enige bij wie die game niet werkt? Hij blijft hangen op het punt nadat ik het mannetje heb geselecteerd...
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
't is gelukkig geen lijfspreuk, integendeel zelfs. Ik vond hem alleen wel grappig.
Willen we trouwens een complete Starcraft rip-off maken? Met 3 rassen enzo? Ik ben persoonlijk voor een originelere aanpak (zonder carriers maar met Siege Tanks
Ik ga nog ff verder denken en iets uitschrijven ofzo. Ik ben alleen niet zo'n goede concept-art tekenaar, dus zouden mensen die daar wel goed in zijn zich even willen melden.
Maakt niet uitDiMension schreef op 07 oktober 2002 @ 15:27:Ik ga nog ff verder denken en iets uitschrijven ofzo. Ik ben alleen niet zo'n goede concept-art tekenaar, dus zouden mensen die daar wel goed in zijn zich even willen melden.
[ specs ] [ Tweaker gallery ]
Gelukkig zijn wij ook niet sceptischExplore schreef op 09 oktober 2002 @ 17:43:
Zijn jullie nou al 4 maanden bezig en nog geen concept? Hm... Ik ben niet sceptisch ofzo, hoor...
Spit voor de gein het hele topic maar eens door. Er is al veel werk verzet. En natuurlijk zijn we niet 4 maanden non-stop bezig (er wordt soms dagen niet gereageerd). Toch zijn er een aantal mensen wel mee bezig. Ik denk dat er binnenkort wel een storylinetje verschijnt van mijn kant, en dan kunnen we daar weer over gaan discussieren.
Denk dus even na en kijk even rond voordat je dit soort dingen gaat roepen. We hebben geen deadline te halen en iedereen doet dit voor z'n plezier. Er is dus geen haast bij.
Hij is wel zo'n beetje hét javascript-brein in dit project. Ik vrees dat mijn javascript-capaciteiten niet voldoende zijn (ik ben zeg maar begrijpend lezerExplore schreef er even bij:
En dat terwijl Peter Nederlof meewerkt (coole site!)
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
Ik geef toe dat ik niet heel het topic gelezen heb. Ik denk alleen dat je moet uitkijken dat het niet doodbloed. Wees blij dat je geen deadline hebt, aan de ene kant, aan de andere kant is het een stimulus om daadwerkelijk stukken code in elkaar te gaan zetten enzo.DiMension schreef op 09 oktober 2002 @ 17:51:
[...]
Gelukkig zijn wij ook niet sceptisch.
Spit voor de gein het hele topic maar eens door. Er is al veel werk verzet. En natuurlijk zijn we niet 4 maanden non-stop bezig (er wordt soms dagen niet gereageerd). Toch zijn er een aantal mensen wel mee bezig. Ik denk dat er binnenkort wel een storylinetje verschijnt van mijn kant, en dan kunnen we daar weer over gaan discussieren.
Denk dus even na en kijk even rond voordat je dit soort dingen gaat roepen. We hebben geen deadline te halen en iedereen doet dit voor z'n plezier. Er is dus geen haast bij.
Het leek me wel leuk om hier aan mee te werken, maar ik vraag me af wat ik bij kan dragen (als programmer) als hij al meedoet.Hij is wel zo'n beetje hét javascript-brein in dit project. Ik vrees dat mijn javascript-capaciteiten niet voldoende zijn (ik ben zeg maar begrijpend lezer). Maar een goede scriptert betekent nog geen razendsnel project. En dat hoeft gelukkig ook niet.
Beehive zorgt al voor 't meeste zware werk, denk ik. Bovendien zei iemand in een andere thread al dat 'mijn kennis niet serieus hoeft te worden genomen', dus och...
[ specs ] [ Tweaker gallery ]
Dat is dom natuurlijkExplore schreef op 10 oktober 2002 @ 11:12:Ik geef toe dat ik niet heel het topic gelezen heb.
Ik denk niet dat je je zorgen hoeft te maken dat het doodbloek, want er zijn hier genoeg mensen (GoT-ers) geïnteresseerd zodat dat niet gaat gebeuren....Ik denk alleen dat je moet uitkijken dat het niet doodbloed. Wees blij dat je geen deadline hebt, aan de ene kant, aan de andere kant is het een stimulus om daadwerkelijk stukken code in elkaar te gaan zetten enzo.
Genoeg, iedereen kan bijdragen. Er zijn en blijven genoeg vraagstukken over hoe één en ander te realiseren. Lees o.a. het draadje maar eens door op de algoritme e.d.Het leek me wel leuk om hier aan mee te werken, maar ik vraag me af wat ik bij kan dragen (als programmer) als hij al meedoet.
In principe is dat onzin. Iedereen zijn kennis kan bijdragen aan het project. De minder ervaren mensen kunnen de ervaren mensen triggeren om na te denken over zaken waar zij zelf uit ervaring over heen kijken e.d. Dus ik zou zeggen: hou het draadje in de gatenBeehive zorgt al voor 't meeste zware werk, denk ik. Bovendien zei iemand in een andere thread al dat 'mijn kennis niet serieus hoeft te worden genomen', dus och...
Over de deadline: je hebt wel gelijk, maar een deadline hiervoor stellen is niet reeel. Daarvoor is het project te slecht te overzien, en is het voor te veel mensen gewoon iets waar ze af en toe een uurtje in kunnen steken. Ikzelf heb zo verrot weinig tijd dat zelfs die website nog uit april ofzo stamt. Ben ondertussen met een wat beter overzicht bezig van wat er nou gezegd en afgesproken is, maar dat is ook nog niet af.
Probleem ligt wat dat betreft in de management hiervan. Die is er namelijk niet. Op den duur zullen knopen doorgehakt moeten worden, en ik denk dat wat dat betreft iedereen daarover zijn mond open kan trekken, als hij/zij denk dat 't anders doodbloedt. Als 't aan mij zou liggen was het over een jaar nog niet klaar, maar gelukkig ben ik niet de enige die hieraan deelneemt.
Kortom: hoe meer zielen hoe meer inzichten, hoe meer inzichten hoe beter 't perspectief.
en nou weer ontopic
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
De logica van het spel zelf wordt veel meer werk, objecten, regels, ai enz. Beehive kan alleen maar layers aanpassen
Doodbloeden is inderdaad misschien wel een reeele dreiging, of misschien niet doodbloeden maar in ieder geval dat het nog heel lang gaat duren voordat er iets speelbaars is, laat staan tot het af is (niet dat dat erg is). Toch, met regelmatige input van verschillende kanten denk ik dat dit nog best lang door kan gaan
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin
Verwijderd
mischien moeten er nog wat dingen afgesproken worden over kleurdiepte, transperantie en bestandsformaat enzo, misschien kunnen heel wat regeltjes van tweaktown kopieren wat dat betreft
1
2
| tilex = xposobject / tilewidth; xpos_on_tile = xposobject % tilewidth; |
en hetzelfde voor y.
En als de zaak onder een hoek staat, moet er nog wat gerommeld worden met cos en sin. Maar alvorens ik meer onzin uitkraam zal ik de thread 'even' doorlezen...
[ specs ] [ Tweaker gallery ]
Kunnen we niet Beehive 2 Lite inzetten?Clay schreef op 10 oktober 2002 @ 12:13:
Beehive(2) doet alleen de "grafische" onderlaag.
"You're only as good, as what you did last week."
Dat eerste gedeelte is het simpelsteExplore schreef op 10 oktober 2002 @ 12:53:
code:
1 2 tilex = xposobject / tilewidth; xpos_on_tile = xposobject % tilewidth;
en hetzelfde voor y.
En als de zaak onder een hoek staat, moet er nog wat gerommeld worden met cos en sin. Maar alvorens ik meer onzin uitkraam zal ik de thread 'even' doorlezen...
De rest heb ik ook al uitgewerkt. Ik neem aan dat we uitgaan van tiles die twee keer zo breed zijn als hoog (net als in het eerste voorbeeld van Clay).
Even wat afspraakjes:
X en Y (hoodletters) zijn de coordinaten van de rechthoekige tile (tweede tile van links heeft bijvoorbeeld coordinaat 1,0)
x en y (kleine letters) zijn de coordinaten binnen een tile. x+1 betekent 1 pixel naar rechts. y+1 betekent 1 pixel naar beneden.
Je doet het volgende: |2y| + |x|. Als dat groter is dan 196 dan zit je op de isometrische tile die coordinaten X+1 en Y+1 heeft. Is het kleiner dan 64 dan zit je op tile X-1, Y-1.

Door de x en y om te draaien (x/=tilewidth en x/=tileheight) kun je checken op de andere twee tiles.
Ik denk dat dit een redelijke manier is om uit te zoeken op welke tile een unit o.i.d. staat. Geen sinussen of cosinussen nodig.
Verwijderd
Een doel zou kunnen zijn een werkende engine, zonder al te veel optimalisaties, en met een minimum aan opties (en formuleer deze opties, type es een rijtje in). Daarnaast natuurlijk specs opstellen voor de graphics: dan kan iemand graphics maken.
En voor het verhaal, geef eens wat dingen die er per sé inmoeten (3 rassen? e.d.) dan kan ik daar mijn creativiteit op botvieren.
Flap
jaaaaaaaaaah!Clay schreef op 10 oktober 2002 @ 21:24:
[...]
Je doelt niet toevallig op die 700 bytes versie?![]()
mjah, dan kunnen we kijken of we met snowstorm aan de volgende the5K mee kunnen doen
zie je dat we steeds onze grenzen verleggen hier?
"You're only as good, as what you did last week."
minstens 1 geinige easter-egg.UDuckling5 schreef op 11 oktober 2002 @ 06:40:
geef eens wat dingen die er per sé inmoeten
* Annie loves easter-eggs
heeft iemand misschien compromiterende foto's van Clay die we kunnen inbakken
Today's subliminal thought is:
Eentje lijkt me wat weinig. Zeker als we een Starcraft rip-off makenAnnie schreef op 11 oktober 2002 @ 11:48:
[...]
minstens 1 geinige easter-egg.
* David loves easter-eggs
offtopic:
heeft iemand misschien compromiterende foto's van Clay die we kunnen inbakken![]()
Ik denk zelf dat 3 rassen wel redelijk ideaal is. Ik ben al aan het proberen een gigantisch originele storyline te bedenken. Schiet alleen nog niet zo op
Het gaat hier dus over rijdende tankjes van Limhes en uitleg over de isometrische map op 3 mehoden van Clay. Ik heb nu dus geen idee wat er allemaal al is uitgezocht... Deze info is verloren gegaan, ofzo?
Had drm zichzelf niet als webmaster opgeworpen?
[ specs ] [ Tweaker gallery ]
Verwijderd
Ik heb em ook ff getestYogho schreef op 01 oktober 2002 @ 12:46:
Clay:
Waarom doet dat testje het niet bij mij? De pagina geeft een fout in regel 196 char 2: "Object doesn't support this property or method".
Ik zit op win2k + IE5
Win 98,
mozilla 1.2a: perfect
ie 6.0: ook lekker
Enige wat ik een beetje vreemd vind dat ze over een lange afstand steeds sneller bewegen...dat is een beetje weird, maar voor de rest toppie
Dat is al uitgelegd. Over alle afstanden doen de 'units' 1 sec. Op een lange afstand zullen de units dus sneller bewegen.Verwijderd schreef op 12 oktober 2002 @ 17:06:
[...]
Enige wat ik een beetje vreemd vind dat ze over een lange afstand steeds sneller bewegen...dat is een beetje weird, maar voor de rest toppie
Over de website: drm, flans jij die ff in elkaar? Als je echt geen zin/tijd hebt zal ik wel kijken of ik dat kan doen. Er zijn hier vast ook wel andere mensen die mee kunnen helpen (we zitten niet voor niks in W&G)
bijvoorbeeld
Is dat warcraft-style? Nee? Hoeft nietgladiool schreef op 12 oktober 2002 @ 18:22:
hey, ik lees dit ook voor het eerst, moet zeggen leuk idee, ik hoop dat er wat uitkomt. Nou weet ik nix van java/etc. maar wel van plaatjes maken. Zo heb ik nog wat "untits" op mijn schijf staan, die jullie best mogen gebruiken. Ik weet dat jullie nog lang niet bij het grafische gedeelte zijn, maar misschien heb je er 1tje nodig als test versie ofzo, dunno. Iig wil ik best eens wat isometrisch uitrenderen etc.
bijvoorbeeld
[afbeelding]
Ik geloof dat ze alles van starcraft wouden jatten gebruiken... Maar lekker botje hoor
-dit is geen vermomde schop hoor
Over path-finding algoritmes: ik vind het 'manhattan-style' algoritme erg mooi. Moet een speler letten op z'n tanks als 'ie ze het SNELST ergens heen wil sturen.
Wat voor algoritme gebruikt warcraft eigenlijk?
Ik denk dat we eerst iets van een verhaal moeten hebben (ja, ik ben ermee bezig
Die shots zijn inderdaadkillercow schreef op 10 september 2002 @ 13:06:
ps weet iemand hier hoe je vectoren enzo doet?
dus hoe ik de lichtsterkte op een bepaald vlak kan uitrekenen?
Is die vraag al beantwoord? Is op zich niet ZO moeilijk, namelijk.
Lichtsterkte op een vlak is evenredig met de hoek die het invallende licht maakt met de normaal vector van het vlak: hoe kleiner de hoek des te groter de lichtsterkte en omgekeerd.
Maar hier was je waarschijnlijk allang achter...
Ik weet niet of dit offtopic is voor dit project.
Lijkt me wel een beetje 'over the top'.
[ specs ] [ Tweaker gallery ]
Hoe zit het verder met het groeperen van units? Dus een kadertje om een aantal units trekken en deze als groep definieren. Moet toch niet al te moeilijk zijn...
Niemand heeft nog de mogelijkheid ter sprake gebracht van een klein overzichtskaartje, waarop alles te zien is - een soort van navigator, zeg maar. Ik heb Starcraft ook nog nooit gespeeld, maar ik ken wel de meeste andere clones (C&C, Red Alert, etc.) en die hebben allemaal zo'n overzichts kaart. Je kan dan je group selecteren en op het kleine kaartje klikken om ze daar naartoe te sturen. Je hoeft dan niet op het speelveld zelf de bestemming te zoeken en zo het overzicht te verliezen. Best wel cruciaal in zo'n spel als dit.
Is het veld waar je nog niet geweest bent hidden (zwart zeg maar) en wordt het pas bekend als je er geweest bent met een scout-unit ofzo? Of is heel het speelveld meteen zichtbaar?
Het lijkt mij inderdaad belangrijk om een paar dingen af te spreken. Gooi er voor mijn part een poll tegenaan.
Dingen als:
1. hoeveel spelers in 1 veld (1 persoon, x computer)
2. drie types units: voetvolk, rijdende units en vliegende units
3. van die drie types zijn er weer verschillende soorten:
- voetvolk: infanterie, bommenwerpers, verkenner, spion, etc... (voor de verhaallijnbedenkers)
- rijdend: tank, auto's, etc...
- vliegend: je raad 't al.
Ook al zijn dat soort dingen niet per definitie van belang voor de werking van het spel. Het is al wel goed dat dat soort dingen (ergens ooit een keer) vast komen te staan, zodat iedereen een beter beeld heeft van de richting waar het heen gaat.
Zo moeilijk is het toch niet om dit soort besluiten te nemen?
Vergeet niet dat pathfinding een vrij intensief rekenwerkje is. Voor elke unit die van A naar B gaat moet zo'n path-berekening worden uitgevoerd en onderweg hoogstwaarschijnlijk herberekend, aangezien een spel dynamisch is. Bijvoorbeeld: Als een unit van de speler van A naar B wordt gestuurd, dan kan het zijn dat een computer speler - terwijl die unit onderweg is - op het pad een gebouw neerzet of een grote groep tanks. Zie hierover weer de post van Apollo_Futurae.
Wellicht ga ik morgen even freaken met het selecteren van een groep. Ik heb alleen nog nooit met Beehive gewerkt, dus ik zal 't wel op m'n eigen methode oplossen (als iemand anders me niet voor is).
[ specs ] [ Tweaker gallery ]
Verwijderd
Starcraft ventjes heb anders nog wel liggenIs dat warcraft-style? Nee? Hoeft niet
Ik geloof dat ze alles van starcraft wouden jatten gebruiken... Maar lekker botje hoor.

*bunker is ook beschikbaar
[ specs ] [ Tweaker gallery ]
Hij werkt niet in Mozilla. Ik denk dat dat wel een belangrijke issue is.Explore schreef op 13 oktober 2002 @ 15:21:
Goed, ik heb een unit-selectie demotje gemaakt
Ik zie hier voornamelijk staan dat het een IE-only project wordt. Maargoed, de voornaamste reden dat het niet in Mozilla werkt is vanwege het gebruik van attachEvent - Mozilla kent dat niet. 't Is niet echt een issue, valt zo te fixen. Het gaat meer even om het idee.DiMension schreef op 13 oktober 2002 @ 17:33:
[...]
Hij werkt niet in Mozilla. Ik denk dat dat wel een belangrijke issue is.
[ specs ] [ Tweaker gallery ]
Ik leef in de veronderstelling dat alle graphics zelf gefabriceerd gaan worden, nix "geleend" van bestaande games dusMithrandir schreef op 12 oktober 2002 @ 20:56:
Ik geloof dat ze alles van starcraft wouden jatten gebruiken... Maar lekker botje hoor.
Die selectie demo is erg cool
Idem voor events; Omdat er waarschijnlijk een oerwoud aan mouse (en andere) event handlers moet komen kan je niet met document.onmousemove = .... iets aan de muis gaan koppelen wanneer je dat nodig hebt, dat zou immers alle vorige mousemove handlers overschrijven. Dat zal dan met iets ala document.attachEvent("eventtype", referentie); gaan. Dit (het is niet de IE attachEvent, maar een gescripte) voegt die referentie TOE aan de bestaande lijst van eventhandlers die op dat tiepe moet reageren, en voert ze dus allemaal uit, zodat je eindeloze handlers op 1 event kan zetten (ook "onload").
Het enige wat ik wel zou veranderen aan die selectie is hem niet ondrag de selectie laten zoeken, maar onmouseup, puur voor de "optimalisatie".
Fog of war is in principe natuurlijk ook belangrijkIs het veld waar je nog niet geweest bent hidden (zwart zeg maar) en wordt het pas bekend als je er geweest bent met een scout-unit ofzo? Of is heel het speelveld meteen zichtbaar?
Ik dacht inderdaad dat het puur single player ging worden, en wat de computer betreft, die moet in principe 100% Object based/oriented worden zodat het technisch niet uit maakt of je als speler nou 1 of 10 computers tegen je hebt. In je code definieer je het prototype, het aantal instanties moet vrij zijn.1. hoeveel spelers in 1 veld (1 persoon, x computer)
whoa!hey, ik lees dit ook voor het eerst, moet zeggen leuk idee, ik hoop dat er wat uitkomt. Nou weet ik nix van java/etc. maar wel van plaatjes maken. Zo heb ik nog wat "untits" op mijn schijf staan, die jullie best mogen gebruiken. Ik weet dat jullie nog lang niet bij het grafische gedeelte zijn, maar misschien heb je er 1tje nodig als test versie ofzo, dunno. Iig wil ik best eens wat isometrisch uitrenderen etc.
Is het "makkelijk" om dat inclusief loop/shiet animatie in animated gifs te renderen? of ernaar om te zetten met wat handwerk?
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin
Gelukkig dat je er hemelaal doorheen bent geworsteldExplore:Ik ben er doorheen.het viel me op dat er een lange discussie gaande was/is over collision detection van units, terwijl mijn inziens dat helemaal niet van belang is. Het lijkt me verstandig deze post van Apollo_Futurae in de gaten te houden (waar volgens mij niemand op gereageerd heeft). Voor zover ik zijn uitleg begrijp legt hij uit dat je niet alle units continu alle mogelijke collisions hoeft uit te laten rekenen (zoals nog steeds in de samenvatting van Clay staat). Dit komt de optimalisatie wel ten goede.
Verder maak je een goed punt met betrekking tot dit posting van Apollo_Futurea. Het is ook nog zo dat dit geheel nog steeds openstaat en zo, want we gaan pas écht verder als Beehive(2) (en natuurlijk de daarbij behorende documentatie
Dit klinkt wel grappig en ik heb hier ook mee lopen spelen, maar is het niet zo dat dit ook voor meer performance zorgtNiemand heeft nog de mogelijkheid ter sprake gebracht van een klein overzichtskaartje, waarop alles te zien is - een soort van navigator, zeg maar. Ik heb Starcraft ook nog nooit gespeeld, maar ik ken wel de meeste andere clones (C&C, Red Alert, etc.) en die hebben allemaal zo'n overzichts kaart. Je kan dan je group selecteren en op het kleine kaartje klikken om ze daar naartoe te sturen. Je hoeft dan niet op het speelveld zelf de bestemming te zoeken en zo het overzicht te verliezen. Best wel cruciaal in zo'n spel als dit.
* Woudloper is wel te overtuigen hoor, kom maar met goede argumenten...
Liever discuseren wat mij betreftIs het veld waar je nog niet geweest bent hidden (zwart zeg maar) en wordt het pas bekend als je er geweest bent met een scout-unit ofzo? Of is heel het speelveld meteen zichtbaar?
Het lijkt mij inderdaad belangrijk om een paar dingen af te spreken. Gooi er voor mijn part een poll tegenaan.
Klopt, maar mijn inziens was jou idee over zo'n overall kaart t.b.v. unit selectie ook al vrij insentief v.w.b. het rekenwerk...Vergeet niet dat pathfinding een vrij intensief rekenwerkje is. Voor elke unit die van A naar B gaat moet zo'n path-berekening worden uitgevoerd en onderweg hoogstwaarschijnlijk herberekend, aangezien een spel dynamisch is. Bijvoorbeeld: Als een unit van de speler van A naar B wordt gestuurd, dan kan het zijn dat een computer speler - terwijl die unit onderweg is - op het pad een gebouw neerzet of een grote groep tanks. Zie hierover weer de post van Apollo_Futurae.
My points exactlyClay:Ik leef in de veronderstelling dat alle graphics zelf gefabriceerd gaan worden, nix "geleend" van bestaande games dus
Dat vond ik ook, werkt perfect... Nu alleen nog even zorgen dat deze ook gebruikt kan worden binnen Beehive(2)Die selectie demo is erg cool![]()
Wellicht dat we deze stelling (c.q. aanname) kunnen opnemen in het samenvattingen documenten, etc... Ik heb het gevoel dat hier meer een meer behoefte aan is aangezien het veel werk kost om de gehele thread door te lezen! Zie maar hoe lang Explore ermee bezig is geweest....Interresant verhaal over het attachen van events...
Hier heb je vaker over nagedachtFog of war is in principe natuurlijk ook belangrijkdat zou je kunnen doen door de tiles die je nog niet gezien heb gewoon zwart te maken (nog een laag eroverheen leggen is denk ik overkill) en alles wat daar aan layers in zit op hidden te zetten, of je kan het gewoon zo doen dat je als speler je view niet verder dan een dX en dY van je eigen units vandaaan mag doen.
Single PlayerIk dacht inderdaad dat het puur single player ging worden, en wat de computer betreft, die moet in principe 100% Object based/oriented worden zodat het technisch niet uit maakt of je als speler nou 1 of 10 computers tegen je hebt. In je code definieer je het prototype, het aantal instanties moet vrij zijn.
Lijkt mij ook wel handig om het daarin (animated gif) weg te werken.... Quea performance e.d. is dat wellicht een goede oplossing...whoa!![]()
Is het "makkelijk" om dat inclusief loop/schiet animatie in animated gifs te renderen? of ernaar om te zetten met wat handwerk?
iid daar was ik al achter maar ik kom voor geen meter verderExplore schreef op 12 oktober 2002 @ 23:59:
[...]
Die shots zijn inderdaad
Is die vraag al beantwoord? Is op zich niet ZO moeilijk, namelijk.
Lichtsterkte op een vlak is evenredig met de hoek die het invallende licht maakt met de normaal vector van het vlak: hoe kleiner de hoek des te groter de lichtsterkte en omgekeerd.
Maar hier was je waarschijnlijk allang achter...
Ik weet niet of dit offtopic is voor dit project.
Lijkt me wel een beetje 'over the top'.
de rest schiet al aardig op maar zonder alle tiles kan ik niet beginnen met het genereren van maps, zelfs nemesis (world generator) draait al aardig alleen kan ik nu nog steeds alle tiles met de hand gaan lopen fizen en dat zuigt.
zou jij met hands-on willen helpen? via msn / ftp oid?
dan kan ik namenlijk die techniek uitbreiden en eventueel klaar maken voor gebruik in snowstorm.
openkat.nl al gezien?
jajaja, got the hintWoudloper:
Gelukkig dat je er hemelaal doorheen bent geworsteldEigenlijk moet de samenvatting of de website van drm ook weer verder worden uitgebreidt, maar ja...
even ter verduidelijking: 't Komt eraan
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
Hah! Deze opmerking ben ik dus zo'n 10x tegengekomen in heel het topic - al vanaf april of mei ofzo.drm schreef op 14 oktober 2002 @ 11:57:
[nohtml]
[...]
jajaja, got the hint![]()
![]()
even ter verduidelijking: 't Komt eraan
Als je er hulp bij nodig hebt, dan hoef je maar te gillen hoor.
btw: ik zal zo effe wat andere posts hiervoor toelichten - ben nu druk bezig op de zaak.
[ specs ] [ Tweaker gallery ]
hmpf. Zoek het dan zelf maar uit hoorExplore schreef op 14 oktober 2002 @ 16:38:
Hah! Deze opmerking ben ik dus zo'n 10x tegengekomen in heel het topic - al vanaf april of mei ofzo.
Als je er hulp bij nodig hebt, dan hoef je maar te gillen hoor.
nodig, nodig, da's zo'n groot woord
</offtopic>
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
fizen?killercow schreef op 14 oktober 2002 @ 11:05:
[...]
iid daar was ik al achter maar ik kom voor geen meter verder
de rest schiet al aardig op maar zonder alle tiles kan ik niet beginnen met het genereren van maps, zelfs nemesis (world generator) draait al aardig alleen kan ik nu nog steeds alle tiles met de hand gaan lopen fizen en dat zuigt.
zou jij met hands-on willen helpen? via msn / ftp oid?
dan kan ik namenlijk die techniek uitbreiden en eventueel klaar maken voor gebruik in snowstorm.
Gebruiken voor snowstorm zou wel cool zijn, imho.
msn doe ik niet aan. icq evt. wel.
Even vraagje: ik neem aan dat je tiles redelijk predefined zijn en dat je geen compleet willekeurige hoeken kan hebben in je map - aangezien het dhtml is en geen complete 3d engine in C of Asm. Als dat zo is kan je een aantal aardige optimalisaties invoeren en hoef je je amper druk te maken over hoeken in 3d uitrekenen.
Btw: Ik ben nu weer op de zaak aan de gang. Gisterenavond naar concertgebouw geweest dus geen tijd gehad... vanavond wellicht weer...
[ specs ] [ Tweaker gallery ]
Verwijderd
is een selectiedemo.. weet niet of dat gebruikt moet gaan worden.. misschien handig voor als je een weg wilt tekenen ofzo..
http://www.countertrack.com/sel/
explore: de tiles moeten door een tilegenerator van te voren gemaakt worden, deze tile gen kan nu al de omtrek ed maken en deze invullen met een bepaalde texture maar ik krijg het dus niet voor elkaar om ook de gamma goed te krijgen.
ik moet dus de 3e berekening nog doen, en dan omzetten naar een waarde zodat ik het aan de gamma correctie tool van php kan voeren. hierna kan ik natuurlijk alle mogenlijke tiles genereren en opslaan zodat de game veel lichter wordt.
openkat.nl al gezien?
push wordt niet ondersteunt door IE5.0Verwijderd schreef op 15 oktober 2002 @ 11:36:
heb ook iets gemaakt.. vrij ranzige code..
is een selectiedemo.. weet niet of dat gebruikt moet gaan worden.. misschien handig voor als je een weg wilt tekenen ofzo..
http://www.countertrack.com/sel/
Onderstaande ervoor plakken en dat werkt hij goed...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
| if(!Array.prototype.toSource) {
function array_tosource(){
st = "";
for(var i=0;i<this.length;i++) {
tEl = this[i];
switch(typeof tEl){
case "string":
st+="\"" + tEl.replace(/"/g,"\\\"") + "\"";
break;
case "object":
st+=tEl.toSource();
break;
default:
st+=tEl
}
if(i<this.length-1)st+=","
}
return "[" + st + "]"
}
Array.prototype.toSource = array_tosource;
}
if(!Array.prototype.shift) {
function array_shift() {
firstElement = this[0];
this.reverse();
this.length = Math.max(this.length-1,0);
this.reverse();
return firstElement;
}
Array.prototype.shift = array_shift;
}
if(!Array.prototype.unshift) {
function array_unshift() {
this.reverse();
for(var i=arguments.length-1;i>=0;i--){
this[this.length]=arguments[i]
}
this.reverse();
return this.length
}
Array.prototype.unshift = array_unshift;
}
if(Array.prototype.push && ([0].push(true)==true))Array.prototype.push = null;
if(Array.prototype.splice && typeof([0].splice(0))=="number")Array.prototype.splice = null;
if(!Array.prototype.push) {
function array_push() {
for(i=0;i<arguments.length;i++){
this[this.length]=arguments[i]
};
return this.length;
}
Array.prototype.push = array_push;
}
if(!Array.prototype.pop) {
function array_pop(){
lastElement = this[this.length-1];
this.length = Math.max(this.length-1,0);
return lastElement;
}
Array.prototype.pop = array_pop;
}
if(!Array.prototype.splice) {
function array_splice(ind){
if(ind==null) return ind;
if(ind<0) ind = this.length + ind;
if(ind > this.length) {
if(arguments.length>2) ind = this.length;
else return [];
}
cnt = arguments[1] ? arguments[1] : this.length-ind;
firstArray = [];
secondArray = [];
thirdArray = [];
for(var i=0;i<this.length;i++){
tEl = this[i];
if(i<ind) firstArray.push(tEl);
else if(i<ind+cnt) secondArray.push(tEl);
else thirdArray.push(tEl);
}
this.length = firstArray.length;
for(i=2;i<arguments.length;i++){
this.push(arguments[i]);
}
this.concat(thirdArray);
return secondArray;
}
Array.prototype.splice = array_splice;
} |
Programmer - an organism that turns coffee into software.
Een level editor is natuurlijk wel cool (we blijven in de stijl van Blizzard
openkat.nl al gezien?
De meest ideale situatie voor levels maken zou een "editor" zijn, waar je een bepaald tiepe grondsoort aanklikt, en die op je level brusht. Dat principe is al eerder gepost, het enige wat het nog mooier maakt is de overgangen van type naar type aan de rand tiles met images te regelen. dus gras naar modder in enkele verschillende hoek overgangen. enz.
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin
Verwijderd
op http://www.countertrack.com/sel/index2.html kan je 't al een beetje zien.. probleem is alleen dat je heel erg veel verschillendetiles moet maken en je per geplaatste tile moet checken.. zitten nog een hoop fouten in, maar 't idee is aardig..
(javascript error als je dichter dan 1 van de rand af komt.. dit moet er uiteraard nog uit
weet iemand 't algoritme dat ze bij simcity 2000 hebben gebruikt voor wegen?
Verwijderd
en op http://www.gamedev.net/reference/articles/article934.asp staat een tutorial over die transitions..
Ik ben er trouwens wel voor om PHP of ASP te gaan gebruiken. Daarmee kunnen we makkelijk multiplayer-modes implementeren, de gamers een mogelijkheid geven om hun games te saven etc. De game zelf draait dan uiteraard gewoon op DHTML, en in het geval van saven of laden roepen we gewoon een extern PHP-script aan.
Tjabber, even een bythewaytje: www.countertrack.com werkt niet in Mozilla
Verwijderd
't is meer een plaats waar ik dhtmlspullen neerzet.. en omdat ik geen zin heb om weet ik veel hoeveelchecks enzo erbij te maken en er vml gebruikt wordt werkt alles ongeveer alleen maar in internet explorer.
Lijkt me wel zo raadzaam. Anders wordt het geheel gelijk als rip-off gezien.Clay schreef op 14 oktober 2002 @ 09:32:
Ik leef in de veronderstelling dat alle graphics zelf gefabriceerd gaan worden, nix "geleend" van bestaande games dus
ThanksDie selectie demo is erg cool![]()
Precies wat ik dacht...En wat mozilla betreft is dat niet zo erg, want omdat het imo extreem belangrijk is dat alles modulair en transparant wordt opgezet komt er een grafische onderlaag die alle browserspecifieke dhtml dingen overneemt. een layer (sprite) beweeg je dus niet met ding.style.left.... maar met sprite.moveTo(), die moveTo zorgt dan wel dat het overal in werkt.
Idem voor events; Omdat er waarschijnlijk een oerwoud aan mouse (en andere) event handlers moet komen kan je niet met document.onmousemove = .... iets aan de muis gaan koppelen wanneer je dat nodig hebt, dat zou immers alle vorige mousemove handlers overschrijven. Dat zal dan met iets ala document.attachEvent("eventtype", referentie); gaan. Dit (het is niet de IE attachEvent, maar een gescripte) voegt die referentie TOE aan de bestaande lijst van eventhandlers die op dat tiepe moet reageren, en voert ze dus allemaal uit, zodat je eindeloze handlers op 1 event kan zetten (ook "onload").
Zou kunnen. Ik ga tzt nog wel eens pielen met de code. Ben nog niet helemaal content. Als het niet te optimalizeren valt dan wordt dat inderdaad het alternatief.Het enige wat ik wel zou veranderen aan die selectie is hem niet ondrag de selectie laten zoeken, maar onmouseup, puur voor de "optimalisatie".
Dus voeg maar toe aan de tile-spec: een item 'isSeen' welke default FALSE is.Fog of war is in principe natuurlijk ook belangrijkdat zou je kunnen doen door de tiles die je nog niet gezien heb gewoon zwart te maken (nog een laag eroverheen leggen is denk ik overkill) en alles wat daar aan layers in zit op hidden te zetten, of je kan het gewoon zo doen dat je als speler je view niet verder dan een dX en dY van je eigen units vandaaan mag doen.
Inderdaad, met een aantal startup parameters, zoals start locatie op de map en 'intelligentie', etc...Ik dacht inderdaad dat het puur single player ging worden, en wat de computer betreft, die moet in principe 100% Object based/oriented worden zodat het technisch niet uit maakt of je als speler nou 1 of 10 computers tegen je hebt. In je code definieer je het prototype, het aantal instanties moet vrij zijn.
Wat betreft het aantal plaatjes wat nodig is voor bv. een tank hoor ik telkens andere getallen. Toch nog eens even nagaan, hoor:
4 voor N, O, Z, W
4 voor NO, ZO, ZW, NW
Dat zijn er dus 8 verschillende plaatjes in totaal. Maar die zijn dan staties. Ik kan me voorstellen dat er een 'animatie' van 2 plaatjes in elke unit zit. Dit zou dan (inderdaad) resulteren in 16 verschillende plaatjes per unit.
Echter... dan ben je d'r nog niet. Ik kan me voorstellen dat bij bv. tanks de turret (de loop van 't kanon, zeg maar) los van het voertuig kan bewegen. Lijkt me handig om dat in een aparte layer te zetten, als dat tenminste nodig is. Maarja, anders zou een tank eerst moeten draaien alvorens deze een bepaalde kant op kan schieten, als je de zaak tenminste echt wil laten kloppen...
En wat betreft het isometrisch perspectief. Ik vraag me af of dat nodig is. Misschien een stomme vraag, maar kunnen we de kaart niet gewoon in een normaal grid laten lopen (dus horizontaal en vertikaal ipv. diagonaal) en alle plaatjes van gebouwen, tanks, mannetjes, ed. allemaal onder een hoek tekenen? Krijg je dan netto niet hetzelfde effect, maar veel simpeler programmeerbaar?
Die post refereert puur naar het algoritme met betrekking tot laten rijden/lopen van de units. Niet zozeer het verplaatsen van layers. Er zitten nogal wat haakjes en ogen aan het implementeren van zo'n algoritme. Stel je het volgende voor:Woudloper:
Verder maak je een goed punt met betrekking tot dit posting van Apollo_Futurea. Het is ook nog zo dat dit geheel nog steeds openstaat en zo, want we gaan pas écht verder als Beehive(2)...
1
2
3
4
5
| +---+---+ | x | A | +---+---+ | | y | +---+---+ |
'x' en 'y' zijn twee tanks die allebei naar tile 'A' willen. Het algoritme wat Apollo_Futurea voorsteld (hoe goed het ook in elkaar steekt) gaat hier falen: voor allebei de tanks is tile A in eerste instantie vrij en ze zullen dus allebei tegelijk naar tile A gaan... Dat mag dus niet. Dit is nog maar 1 voorbeeld...
Wat betreft het overzichtskaartje:
Op zich valt het wel mee. Voor het overzichtskaartje gelden ongeveer dezelfde regels als voor de speelkaart: wat op de grote kaart 'unexplored' is, is niet zichtbaar op de overzichtskaart en units die zich in zo'n 'unexplored territory' bevinden zijn hidden. Verder is alles op de overzichtskaart op een schaal van 1 pixel - bijvoorbeeld. Dus echt heavy is het niet. Ik kan me voorstellen dat het een optioneel item is voor mensen die een beetje een heavy systeem hebben, in het geval dat het toch veel performance kost.Dit klinkt wel grappig en ik heb hier ook mee lopen spelen, maar is het niet zo dat dit ook voor meer performance zorgtPersoonlijk zie ik dit als een feature (mogelijke toekomstige toevoegingen...) en heeft het (in mijn ogen) nog geen prioriteit, maar wellicht dat andere hier anders over denken...
Ik heb hier overigens ook mee lopen spelen, maar dan in een andere mate...
Zo, verder werken...
[ specs ] [ Tweaker gallery ]
Misschien idd wel, maar hoe laat je stukken landschap dan in elkaar overlopen? met vierkanten kan je het isometrische perspectief denk ik maar met moeite nadoen, met rechthoeken misschien nog wel, en op zich wordt het coordinaten stelsel toch gewoon horizontaal en vertikaal, er hoeft alleen maar op basis van die gewone x en y een tile object aangeroepen te kunnen worden, als dat 1 keer staat (en daar wou ik morgen of van het weekend eindelijk eens wat mee doenEn wat betreft het isometrisch perspectief. Ik vraag me af of dat nodig is. Misschien een stomme vraag, maar kunnen we de kaart niet gewoon in een normaal grid laten lopen (dus horizontaal en vertikaal ipv. diagonaal) en alle plaatjes van gebouwen, tanks, mannetjes, ed. allemaal onder een hoek tekenen? Krijg je dan netto niet hetzelfde effect, maar veel simpeler programmeerbaar?
yup. Denk ik ook. en een tank -moet- eigenlijk wel een losse turret hebbenEchter... dan ben je d'r nog niet. Ik kan me voorstellen dat bij bv. tanks de turret (de loop van 't kanon, zeg maar) los van het voertuig kan bewegen. Lijkt me handig om dat in een aparte layer te zetten, als dat tenminste nodig is. Maarja, anders zou een tank eerst moeten draaien alvorens deze een bepaalde kant op kan schieten, als je de zaak tenminste echt wil laten kloppen...
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin
Afstappen van een isometrisch raster kan natuurlijk (nu ik even nadenk: Starcraft gebruikt ook geen isometrisch raster) en dan hebben we geen omrekenalgoritme nodig.
Ik neem aan dat we units niet naar een specifieke tile laten bewegen maar gewoon naar een X,Y-coordinaat (tenzij je de minimap gebruikt). Als we elke unit een soort van 'lebensraum' meegeven (een ruimte om ze heen die ze innemen) en andere grote units daar niet binnen mogen komen. Kleinere units mogen gewoon doorlopen totdat ze tegen de daadwerkelijke unit aanlopen (denk in Starcraft aan Zerglings die een Siege-Tank aanvallen) om niet al te vreemde grafische onvolkomendheden te krijgen. Check gewoon tijdens het moven via een collision-detection algoritme (moeten we sowieso hebben) of ze daar wel mogen komen.code:
1 2 3 4 5 6 : +---+---+ | x | A | +---+---+ | | y | +---+---+
'x' en 'y' zijn twee tanks die allebei naar tile 'A' willen. Het algoritme wat Apollo_Futurea voorsteld (hoe goed het ook in elkaar steekt) gaat hier falen: voor allebei de tanks is tile A in eerste instantie vrij en ze zullen dus allebei tegelijk naar tile A gaan... Dat mag dus niet. Dit is nog maar 1 voorbeeld...
Het komt er dan dus neer dat je zoveel units naar een punt mag bewegen als je wilt, maar dat de units via collision-detection uitmaken dat ze niet op/onder elkaar terecht komen.
nieuwe map demo
De maptest die ik een tijd geleden had gemaakt is geupdate en samengevoegd met de unittest, samen met verschillende andere hier geposte ideeen, tests en demo's, en dat is nu dit geworden: woei!
- 1 van de units aanklikken deselecteert de andere _niet_
Selectie trekken met muis om 1tje _wel_ - Een geselecteerde unit kan alleen naar 1 van de 4 ernaast liggende velden lopen, enz. niet zomaar 2 of 10 in 1 keer. Dit is om in de code een mini voorbeeld van buur-tiles te hebben. Het transparante deel kan je op deze manier (wel door snel "een circel pad eromheen" te klikken) niet op.
Elke tile kent zijn (4) buren, op zich kan dus al gepoogd worden hier een path algoritme voor te maken. - Een unit legt nog steeds zijn afstand in 1 seconde af, hoe ver weg die ook moet. Eigenlijk moet een unit gewoon een speed hebben, en met die speed naar een tile kunnen lopen, waarna die (path) doorgaat naar de volgende. morgen weer een dag
- Code zit dan wel vol met commentaar, ik heb zelf ook altijd moeite om snel code van anderen te doorgronden, dus hoewel ik denk dat het redelijk overzichtelijk gescript is zal ik echt wel nodig docs en diagrammen moeten gaan maken
- Veel dingen in de code zijn nog suf, onlogisch, slordig, of moeten gewoon anders.
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin
Verwijderd
eehm dat kan wel hoorClay schreef op 18 oktober 2002 @ 22:32:• Een geselecteerde unit kan alleen naar 1 van de 4 ernaast liggende velden lopen, enz. niet zomaar 2 of 10 in 1 keer. Dit is om in de code een mini voorbeeld van buur-tiles te hebben. Het transparante deel kan je op deze manier (wel door snel "een circel pad eromheen" te klikken) niet op.
ik kan dus wel gewoon over dat transparante gedeelte heenwandelen als ik een beete snel doorklik
Verwijderd
dit heeft dus betrekking op mijzelf, ik had dus de post van clay niet goed gelezen, want hij gaf juist al aan dat dat mogelijk was
[ Voor 0% gewijzigd door Verwijderd op 19-10-2002 17:34 . Reden: uitleg ]
Verwijderd
-1000 overbodig. Clay hij bedoelt dat hij wel over het transparante gedeelte heen kan wandelen.
Cool!Clay schreef op 18 oktober 2002 @ 22:32:
* Update *
nieuwe map demo
De maptest die ik een tijd geleden had gemaakt is geupdate en samengevoegd met de unittest, samen met verschillende andere hier geposte ideeen, tests en demo's, en dat is nu dit geworden: woei!
[ specs ] [ Tweaker gallery ]
Wat wordt er gemaakt, en hoe ver zijn we dermee?
Extra toevoegingClay schreef op 18 oktober 2002 @ 22:32:
* Update *
nieuwe map demo
De maptest die ik een tijd geleden had gemaakt is geupdate en samengevoegd met de unittest, samen met verschillende andere hier geposte ideeen, tests en demo's, en dat is nu dit geworden: woei!
- 1 van de units aanklikken deselecteert de andere _niet_
Selectie trekken met muis om 1tje _wel_- Een geselecteerde unit kan alleen naar 1 van de 4 ernaast liggende velden lopen, enz. niet zomaar 2 of 10 in 1 keer. Dit is om in de code een mini voorbeeld van buur-tiles te hebben. Het transparante deel kan je op deze manier (wel door snel "een circel pad eromheen" te klikken) niet op.
Elke tile kent zijn (4) buren, op zich kan dus al gepoogd worden hier een path algoritme voor te maken.- Een unit legt nog steeds zijn afstand in 1 seconde af, hoe ver weg die ook moet. Eigenlijk moet een unit gewoon een speed hebben, en met die speed naar een tile kunnen lopen, waarna die (path) doorgaat naar de volgende. morgen weer een dag
- Code zit dan wel vol met commentaar, ik heb zelf ook altijd moeite om snel code van anderen te doorgronden, dus hoewel ik denk dat het redelijk overzichtelijk gescript is zal ik echt wel nodig docs en diagrammen moeten gaan maken
- Veel dingen in de code zijn nog suf, onlogisch, slordig, of moeten gewoon anders.
Ik kan ook niet meer door de map heen scrollen. En dat klopt?
En het selecteren van zo'n tile komt geeft een lijntje erom heen. Blijft dat zo?
Wat je ook als nadeel hebt dat als je de één niet kan deselecteren en beide units over elkaar heen gaan dat je ze niet meer van elkaar kan krijgen. Maar daar had je vast al rekening mee gehouden.
Goed bezig. Leuk dat hij al je stappen onthoud waar je op klikt. Dan moet je sneller zijn als 1 seconde.
http://hawvie.deviantart.com/
Leuk gedaan overigens om die selectiekaders van de units/map e.d. gewoon uit afbeeldingen te laten bestaan. Ik zat eerst te denken aan een leuke/gave CSS oplossing, maar dat bleek niet zo te zijn...
Het is trouwens wel zo dat de unit gewoon over het transparante vlak heenschuift (mits je natuurlijk snel genoeg aan het klikken bent). Wellicht dat degene die eerder in dit topic hun pathfinder algoritme hebben bedacht deze kunnen uitwerken (ofwel een werkend voorbeeld geven) zodat het één en ander geïmplementeerd kan worden en de unit gewoon zijn weg kan vinden. Zelf ben ik daar namelijk minder sterk in hoewel ik altijd uitmuntende cijfers had voor wiskunde. (Ik zie het waarschijnlijk nog niet...)
Het tekenen van zo'n map ziet er erg eenvoudig uit, maar even voor mijn perceptie. Wanneer er in een toekomstige situatie een map komt (* Woudloper neemt aan dat dit gewoon een grote .jpg is) is het dan zo dat deze:
- Als het ware achter de map ligt
- Je met behulp van de nummertjes (1,2,3,4) je de map opbouwtcode:Ik vraag mij dan af hoe je een map als bovenstaande zal tekenen
1 2 3 4 5 6 7 8 9 10 11
+----+ | | | +-------+ | | | | | +-+ | | | | | | +-+ +-+ | | | | +----------+
* Dit moet je toch ook nog doen voor Beehive
Dat je als je snel klikt wel over het transparante deel kan had ik meteen al gezegd, maar dat schijnt niemand te lezen
Extra toevoegingHawVer schreef
Nou niet echt nee. Maar losse demo's is 1 ding, alles samenvoegen in 1 werkend geheel is weer heel wat anders.
Ik kan ook niet meer door de map heen scrollen. En dat klopt?
Ja. maar de constructie die dat mogelijk maakt is er nog wel. Het scrollde eerst "real time" met de muis mee. Dat lijkt me ivm performance in de final niet echt handig.
En het selecteren van zo'n tile komt geeft een lijntje erom heen. Blijft dat zo?
Nee, wat mij betreft niet. Dit is puur ter indicatie.
Wat je ook als nadeel hebt dat als je de één niet kan deselecteren en beide units over elkaar heen gaan dat je ze niet meer van elkaar kan krijgen. Maar daar had je vast al rekening mee gehouden.
Path & collision zit er (nog) niet in nee, op zich mogen units natuurlijk eigenlijk niet over elkaar heen liggen.
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin
In het 1e geval is path-finding aanzienlijk makkelijker omdat je op dat moment van een statische situatie uit kan gaan; in het tweede geval moet je al lopend elke keer je gevonden pad gaan verifieren om te kijken of er door een andere beweging geen obstakels in de weg zijn komen staan...
Intentionally left blank
Ja, dat is natuurlijk stomClay:
De map wordt juist geen grote jpg, maar wordt opgebouwd uit allemaal losse tile images. Dat maakt het ook mogelijk om sneller meer verschillende levels te maken (wat niet bepaald makkelijk is als voor elke map een nieuwe grote jpg gemaakt moet worden) De 1, 2, 3 enz. geven dan het type tile aan, waarbij het de bedoeling is dat het script zelf de goede tile van dat type plaatst om alle tiles netjes in elkaar over te laten lopen.
Nog ff terugkomen op die type tiles. Was het nou ook mogelijk om daar specifieke eigenschappen aan mee te geven. Ja, toch
Op de 'verstuur bericht' knop gedrukt ipv 'bekijk bericht'.. Natuurlijk is het zo dat je specifieke eigenschappen kan meegeven, zie het voorbeeld maar...
Nog maar ff een bakkie doen
iedereen mag alles tegelijk doen.crisp schreef op 22 oktober 2002 @ 09:28:
Hoe werkt dat eigenlijk in zo'n spel; doen spelers om beurten units verplaatsen, of kunnen meerdere units onafhankelijk van elkaar gelijktijdig verplaatst worden.
In het 1e geval is path-finding aanzienlijk makkelijker omdat je op dat moment van een statische situatie uit kan gaan; in het tweede geval moet je al lopend elke keer je gevonden pad gaan verifieren om te kijken of er door een andere beweging geen obstakels in de weg zijn komen staan...
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin
Even een zelfquote
We renderen/pixelfucken dan alle plaatjes wel isometrisch. Ik zie namelijk het nut niet van het sturen van een unit naar een tile. We kunnen units veel beter naar een X,Y-coordinaat sturen. Da's veel makkelijker te proggen, werkt een stuk sneller en is exacter. Colission-detection zal wel omgegooid moeten worden, maar je hoeft niet meer te checken of er al een unit op die tile aanwezig is.Afstappen van een isometrisch raster kan natuurlijk (nu ik even nadenk: Starcraft gebruikt ook geen isometrisch raster) en dan hebben we geen omrekenalgoritme nodig.
Ik hoop dat jullie mijn idee een beetje volgen. Volgens mij is dit gewoon veel beter.
Oftewel je stopt als er zich onverhoopt toch een unit zich op jouw eerstberekende pad bevind? Path-finding in-time is natuurlijk een stukje zwaarder omdat je elke stap je path moet verifieren, en als er iets onverhoopt in de weg staat een nieuw path moet gaan uitrekenen; het kan allemaal wel natuurlijk, maar kost wat rekenkracht....Clay schreef op 22 oktober 2002 @ 10:09:
[...]
iedereen mag alles tegelijk doen.Maar je zou het pathfinden ook zo kunnen doen dat ie wel een globaal pad heeft over een aantal tiles, maar dat de unit binnen zo'n tile nog ff kijkt of die niet tegen andere units gaat opbotsen. Een tile blokken omdat er teveel units op staan is dan misschien ook niet zo'n goed idee, dat maakt het alleen maar ingewikkelder.
Intentionally left blank
Deze discussie is al eerder in het topic gevoerd: je hoeft niet constant alle units te laten colission-detecten of pathfinden. Je laat een unit een pad uitstippelen. Check in het begin of er units in de buurt zijn. Zijn ze ver weg, dan kun je met een lekker grote tijdsinterval colission-detecten. Staat de unit vlakbij een andere unit, dan wordt de tijdsinterval kleiner. Pas als de units echt botsen hoeft het pad veranderd te worden.crisp schreef op 22 oktober 2002 @ 22:28:
[...]
Oftewel je stopt als er zich onverhoopt toch een unit zich op jouw eerstberekende pad bevind? Path-finding in-time is natuurlijk een stukje zwaarder omdat je elke stap je path moet verifieren, en als er iets onverhoopt in de weg staat een nieuw path moet gaan uitrekenen; het kan allemaal wel natuurlijk, maar kost wat rekenkracht....
Het zou namelijk onzin zijn dat als een unit een pad uitkiest, en er tijdens zijn tocht over dat pad er een andere unit heel ergens anders op zijn pad het pad kruist (<- sorry, 't kon niet duidelijker) hij een nieuw pad moet gaan finden.
Prima, maar ik zie niet hoe je met rechthoeken tileable ruit-based tiles kan renderen? Kan je dat anders misschien even verduidelijken in een plaatje? Verder stuurt wat ik laatst postte een unit niet direct naar een tile, maar gewoon naar een normale x / y coordinaat. Obv die coordinaat wordt de tile opgezocht, en als object teruggegeven. De unit heeft dan op zijn beurt die "moveToTile" functie, maar dat kan natuurlijk ook anders. Als units werkelijk met elkaar gaan colliden staat er niets in de weg dat met normale x'en en y'en te doen. Sterker nog, dat is de bedoeling!DiMension schreef op 22 oktober 2002 @ 22:05:
Wat vinden jullie trouwens van het idee om rechthoekige tiles te gebruiken ipv. ruitvormige?
We renderen/pixelfucken dan alle plaatjes wel isometrisch. Ik zie namelijk het nut niet van het sturen van een unit naar een tile. We kunnen units veel beter naar een X,Y-coordinaat sturen. Da's veel makkelijker te proggen, werkt een stuk sneller en is exacter. Colission-detection zal wel omgegooid moeten worden, maar je hoeft niet meer te checken of er al een unit op die tile aanwezig is.
Ik hoop dat jullie mijn idee een beetje volgen. Volgens mij is dit gewoon veel beter.
Feit blijft ook dat je _altijd_ uit zal gaat van een rechthoekig systeem, of een vertaling daarnaartoe. Ook dit wat er nu staat is gewoon een vertaling van ruit naar rechthoek. Html is per definitie rechthoekig (doh), dus een systeem zonder ruit-tiles zoals die nu zijn zal in wezen gewoon een andere vorm zijn om isometrisch perspectief naar een rechthoekig html systeem te vertalen
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin
Vertaling van rechthoek naar tile is heel simpel. Je hoeft per X,Y-coordinaat maar 2 simpele delingen te doen.Clay schreef op 23 oktober 2002 @ 13:55:
qua performance weet ik nietdat zou natuurlijk best kunnen verschillen per oplossing, maar die vertaling van rechthoekig naar tile moet je idd volgens mij wel blijven doen ja, hoe je het ook aanpakt.
Even verduidelijkend plaatje van een paar posts terug:

Je ziet dat Starcraft rechthoekige tiles gebruikt. Het plaatje van de supply depot is gewoon isometrisch gerenderd/getekend.
Achso. We moeten sowieso een heel stel verschillende landschap-tiles maken.Clay schreef op 23 oktober 2002 @ 19:56:
Volgens mij praten we langs elkaar heenik bedoel het landschap. niet de units/buildings.
[edit]
uit de editor (lelijke ding is de "brush" waar je meer verft):
[afbeelding]
We kunnen het beste toch gewoon rechthoekige tiles maken met isometrisch landschap daarop. Op http://www.gamedev.net/reference/articles/article934.asp kun je het een en ander over overgangen vinden tussen soorten landschap. In de Starcraft-editor is het waarschijnlijk ook gewoon een fancy-isometrisch vakje om een rechthoekige brush heen. Je werkt toch met vantevoren gedefinieerde plaatjes.
Maar waarom dan en vooral hoe?We kunnen het beste toch gewoon rechthoekige tiles maken met isometrisch landschap daarop.
Wat ik probeer te vragen is dit:

Hoe ga je met rechthoeken ipv van ruiten bijvoorbeeld dit "gras"

heb je voor 1 tile in de "oude" situatie al 4 tiles nodig, die moeten allemaal in hun eigen tablecell, en het aantal daarvan is ook beperkt. Ook het aantal images per tilesoort neemt toe. In ruitvorm heeft het bovenstaande voorbeeld er 4. een volle, een "op" en "neer", en een hoekstuk. op de onderstaande manier zouden er 7 nodig zijn. 2 voor op, 2 voor neer, 2 voor het hoekstuk, en een volle.
Ik zie dus nog niet wat het voordeel is van rechthoeken ipv ruiten.
Leg anders ff uit wat je precies bedoelt?
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin
Ik denk dat wat wij bedoelen op hetzelfde neerkomt..
deze borders kun je dan in een laag over de normale achtergronden plaatsen, je kunt dan ook gelijk weinig tiles (geen border layer) gebruiken voor lichte machines en mooie maps met border tiles voor de zware machines.
je moet dus alleen de overgangen tekenen in dunne strookjes, daarna draai je die strookjes naar de juiste positie en plak je ze bovenop de normale tiles, voila je hebt een mooi aflopen stukje gras/water/berg/asfalt.
doordat je in de versie zonder mooie randjes veel minder images nodig hebt wordt deze dus ook enorm veel makkelijker voor de lichtere machine.,
enventueel kun je nog gaan klooien met doorzichtige rotzooi tiles bovenop al die lagen welke bijvoorbeeld kraters/guelen/afwijkingen in de normale ondergrond/borders aanbrengt, maar ook hier, instelbaar detail?
openkat.nl al gezien?