[game] oneindige map

Pagina: 1
Acties:

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Ik ben op dit moment bezig met een 2d shoot`m up

Afbeeldingslocatie: http://www.alarmnummer.net/sh1.png
Afbeeldingslocatie: http://www.alarmnummer.net/sh2.png
Afbeeldingslocatie: http://www.alarmnummer.net/sh3.png

Je kan hierbij rondvliegen zoals je maar wilt. Het is de bedoeling dat als je de map 'verlaat' dat je aan de andere kant er weer op komt. Het is dus een wereldbol maar dan geprojecteerd op een plat vlak. Het aan de andere kant plaatsen van een schip om het moment dat hij de wereld verlaat is niet zo`n probleem. Ik zit meer met het feit dat dit toch geen goeie vervanging is. Ten 1e laat je niet zien aan de andere kant van de map wat daar staat, ten 2e reageren de units ook niet op je (omdat je in principe helemaal aan de andere kant van de wereld zit). Ik kan mijn algoritmes hier wel op aanpassen, maar ben een beetje bang dat dit een enorm kostbare operatie gaat worden. Het is de bedoeling dat dit gaat draaien op j2me (java 2 micro edition) en ik moet wel een beetje oppassen met allerlei berekeningen.

Dus wie kan me wat goeie hints geven?

  • Daspeed
  • Registratie: Maart 2001
  • Nu online
misschien begrijp ik je probleem niet helemaal goed, maar als dat wel het geval is dan is dit misschien een oplossing:
op het moment dat je de wereld verlaat heb je eerst nog een aantal lege 'mappen' zee zeg maar, en als je daarover vliegt draait'ie automatisch om, of je ontlploft omdat je de combat area verlaat? (beetje BF1942 stijl)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
DrClearbottom schreef op 17 juli 2004 @ 20:07:
misschien begrijp ik je probleem niet helemaal goed, maar als dat wel het geval is dan is dit misschien een oplossing:
op het moment dat je de wereld verlaat heb je eerst nog een aantal lege 'mappen' zee zeg maar, en als je daarover vliegt draait'ie automatisch om, of je ontlploft omdat je de combat area verlaat? (beetje BF1942 stijl)
Het is echt de bedoeling dat je nooit het veld kan verlaten hoe lang je 1 kant ook opvliegt.

  • McKaamos
  • Registratie: Maart 2002
  • Niet online

McKaamos

Master of the Edit-button

dus dat als je links de map af zou vliegen, je meteen naar de rechterkant geteleporteerd word, zonder dat je het merkt :)

Iemand een Tina2 in de aanbieding?


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
FireWurX schreef op 17 juli 2004 @ 20:09:
dus dat als je links de map af zou vliegen, je meteen naar de rechterkant geteleporteerd word, zonder dat je het merkt :)
Vergelijk het met een wereld kaart. Als je aan de oost kan van amerika verder gaat (richting azie) dan schijnt het dat je tegenwoordig niet meer van de wereld afvalt.

Ik hoef echter geen perfecte algoritmes zoals je op een wereld bol zou aantreffen. Als het er maar een beetje op lijkt, dan is het goed genoeg. het is tenslotte een shooter.

  • McKaamos
  • Registratie: Maart 2002
  • Niet online

McKaamos

Master of the Edit-button

Alarmnummer schreef op 17 juli 2004 @ 20:11:
[...]

Vergelijk het met een wereld kaart. Als je aan de oost kan van amerika verder gaat (richting azie) dan schijnt het dat je tegenwoordig niet meer van de wereld afvalt.

Ik hoef echter geen perfecte algoritmes zoals je op een wereld bol zou aantreffen. Als het er maar een beetje op lijkt, dan is het goed genoeg. het is tenslotte een shooter.
jah ik bedoelde idd dat, maar ik leg meer uit wat de code moet doen :)

Iemand een Tina2 in de aanbieding?


  • Daspeed
  • Registratie: Maart 2001
  • Nu online
zou je dan niet verder willen vliegen op repeterende kopieen van de volledige originele map, maar dan zonder de andere objecten?

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
DrClearbottom schreef op 17 juli 2004 @ 20:13:
zou je dan niet verder willen vliegen op repeterende kopieen van de volledige originele map, maar dan zonder de andere objecten?
Nope. De map is een kleine kaart van de wereld en daarop kan je rondvliegen. Ik ben dus niet op zoek naar andere oplossingen. Ik wil een oplossing voor dit probleem. In ieder geval een discussie en wat ideeen misschien.

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 11:06

Robtimus

me Robtimus no like you

Kun je niet voor zowel berekening als afbeelden aan alle 4 de kanten je speelveld er nog eens aan vastplakken?

Dan heb je dus zoiets:
code:
1
2
3
  X
X O X
  X
, met X is een kopie en O het origineel. Die kopieen zijn gewoon references, dus met alle objecten erop etc.

[ Voor 15% gewijzigd door Robtimus op 17-07-2004 20:19 ]

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • Rataplan
  • Registratie: Oktober 2001
  • Niet online

Rataplan

per aspera ad astra

Ik zou twee coordinatenstelsels gebruiken. Eén voor opslag van je objectjes, één voor de locatie van het vliegtuigje en dus ook voor het weergeven van de omgeving. De relatie tussen die twee is altijd een simpele vector, en meer berekeningen dan een carry komt er niet aan te pas. Wil je bijvoorbeeld weten wat er recht voor je vliegtuigje zit, dan moet je vanuit het vliegtuigje op vliegtuiglocatie (0,+1) kijken - zit het vliegtuigje op de 'boven'-rand van de map (zeg in een map van [0..9, 0..9] op positie (5,9) ) dan is de bijbehorende objectlocatie (5,9+1) modulo 10 is (5,0). En dat geef je dan boven het vliegtuigje weer. Is niet zo zwaar, zeker niet als je de maten van je map op machten van 2 kiest, dan AND je overbodige rommel d'r gewoon vanaf. (edit) Het spreekt wmb vanzelf dat je het spelletje rond het vliegtuigcoordinatenstelsel bouwt :)

Of denk ik nou te simpel :?

[ Voor 7% gewijzigd door Rataplan op 17-07-2004 20:20 ]


Journalism is printing what someone else does not want printed; everything else is public relations.


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
@iceman

Daar had ik dus ook aan zitten denken en een copy zou dan nog niet eens nodig zijn. Maar het aantal berekeningen gaat dan behoorlijk toenemen. Ipv dat ik op 1 manier een afstand naar iets kan bepalen, kan ik het op 4 manieren.

En ik ben dus een beetje bang voor al die exta berekeningen.

  • seweso
  • Registratie: Augustus 2003
  • Laatst online: 04-04-2018

seweso

de mouw is uit de aap

Hee dit heb precies zoiets gedaan met een 3d astroids spel, astroids is sowieso al een spel waarbij je als je bovenin uit het scherm vliegt je onderin weer terugkomt. Maar het probleem dat ik had (vergelijkbaar met jouw probleem) is dat je niet verder kan kijken op het 'einde' van de map. Ik had om dat op te lossen de wereld 8x gekopieerd, en dat werkte echt super (ook qua performance).

code:
1
2
3
XXX
XOX
XXX


Je kon trouwens op deze manier ook jezelf in de verte zien....wat op zich een beetje vreemd is.

(was een opengl spel trouwens)

seweso's blog


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
seweso schreef op 17 juli 2004 @ 20:26:
Hee dit heb precies zoiets gedaan met een 3d astroids spel, astroids is sowieso al een spel waarbij je als je bovenin uit het scherm vliegt je onderin weer terugkomt.
Daarom is het ook zo`n kloten spel :)
Maar het probleem dat ik had (vergelijkbaar met jouw probleem) is dat je niet verder kan kijken op het 'einde' van de map. Ik had om dat op te lossen de wereld 8x gekopieerd, en dat werkte echt super (ook qua performance).

code:
1
2
3
XXX
XOX
XXX


Je kon trouwens op deze manier ook jezelf in de verte zien....wat op zich een beetje vreemd is.
Op zich wel cool. En misschien kan je jezelf ook nog wel stukschieten ;)

  • BurningSheep
  • Registratie: Januari 2000
  • Laatst online: 03-05 22:13
Je zou het bepalen van de afstand kunnen doen door het berekenen van deltaX en deltaY (afstand op resp. x en y as tussen de twee objecten). Als vervolgens geldt dat minstens een van de twee groter is dan de helft van de map size (in die richting) dan kan je dus beter via de rand van de map gaan.

Beetje moeilijk uitleggen zo, waar ik dus gebruik van maak is deze stelling (die volgens mij geldt als je een map hebt die 'wrapt'):

abs( ObjA.x - ObjB.x ) < Map.width / 2

hetzelfde geldt voor y natuurlijk

[ Voor 8% gewijzigd door BurningSheep op 17-07-2004 20:46 ]


  • seweso
  • Registratie: Augustus 2003
  • Laatst online: 04-04-2018

seweso

de mouw is uit de aap

Alarmnummer schreef op 17 juli 2004 @ 20:42:
[...]
Daarom is het ook zo`n kloten spel :)
[...]
Op zich wel cool. En misschien kan je jezelf ook nog wel stukschieten ;)
Doordat ik opengl gebruikte kon ik allerlei camera posities gebruiken dus ook vanuit de cockpit én op de door jou voorgestelde manier.

En ja je kon jezelf ook kapotschieten.

De truuk is om een wereld te creeeren waarbij elk object als het links van de map raakt rechts weer opduikt. En vervolgens moet je dat gewoon met elk object doen.

class Vliegtuig extends InMapObject;
class Bom extends InMapObject;
etc.

seweso's blog


Verwijderd

Gewoon als hij op de kant komt de locatie veranderen?
Dus:
If x-coord=uiterste x-coord then
x-coord=minimum x-coord
Else If y-coord
...

BTW, wordt het progje ook portable naar t610? :)

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 11:06

Robtimus

me Robtimus no like you

Verwijderd schreef op 17 juli 2004 @ 20:52:
Gewoon als hij op de kant komt de locatie veranderen?
Dus:
If x-coord=uiterste x-coord then
x-coord=minimum x-coord
Else If y-coord
...

BTW, wordt het progje ook portable naar t610? :)
Waarom die Else daar? Je wilt nml zowel X als Y corrigeren.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Ik heb denk ik de meest eenvoudige oplossing al. Ik ben en blijf het centrum (0,0). Alle andere coordinaten worden relatief tov mij bepaald. Op dit moment heb ik toch al een overflow policy, en die kan ik ook wel uitbreiden tot definitief coordinaat bepaler.

Op het moment dat iets bv meer dan een halve map hoogte onder mij ligt, plaats ik het nu iets minder dan een halve map hoogte boven mij.

een setLocation(x,y) zet dus niet altijd een unit op x,y, maar wel een een gelijkwaardig alternatief.

[ Voor 64% gewijzigd door Alarmnummer op 17-07-2004 21:29 ]


  • Rataplan
  • Registratie: Oktober 2001
  • Niet online

Rataplan

per aspera ad astra

Alarmnummer schreef op 17 juli 2004 @ 21:17:
Ik heb denk ik de meest eenvoudige oplossing al. Ik ben en blijf het centrum (0,0). Alle andere coordinaten worden relatief tov mij bepaald. Op dit moment heb ik toch al een overflow policy, en die kan ik ook wel uitbreiden tot definitief coordinaat bepaler.

Op het moment dat iets bv meer dan een halve map hoogte onder mij ligt, plaats ik het nu iets minder dan een halve map hoogte boven mij.

een setLocation(x,y) zet dus niet altijd een unit op x,y, maar wel een een gelijkwaardig alternatief.
Ga je dan bij elke move het complete landschap laten shiften? Dat is namelijk een performancehit van hier tot ver achter Tokyo :)


Journalism is printing what someone else does not want printed; everything else is public relations.


  • Macros
  • Registratie: Februari 2000
  • Laatst online: 30-04 09:28

Macros

I'm watching...

Ik moest ooit een deeltjes simulatie maken. Daarbij interacteerde alle deeltjes met alle andere deeltjes, wat een nogal vervelende vergroting van de complexiteit van de berekening met zich meebracht als het aantal deeltjes heel groot werd. Daardoor hebben we een optimalisatie toegevoegd. Het hele veld werd ingedeeld in vlakken. Alle deeltjes hadden dan alleen interacties met alle deeltjes in zijn eigen vlak en de 6 vlakken om hem heen.
Zoiets zou je ook kunnen maken. Ook mbt. tot de AI van de vijandjes. Dan is het implementeren van een oneindige map heel makkelijk.

"Beauty is the ultimate defence against complexity." David Gelernter


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
[edit]

was ff aan het blaten.. *is verder aan het prakkedenken*

[ Voor 90% gewijzigd door Alarmnummer op 17-07-2004 22:04 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:55

Creepy

Tactical Espionage Splatterer

als je 1 map hebt, en je weet hoe breed en lang deze is. dan kan je alle x coordinaten modulo de breedte van me map en de y coordinaten modulo de hoogte.
Ik neem aan dat het een tilemap is? Dan kan je na de laatste tile gewoon weer doorgaan met tile 0. De map blijft dan gewoon doorlopen, en aangezien je coordinaten modulo met de breedte en hoogte gaan zit je daarna dus ook echt weer op coordinaat 0,0.

Het lijkt me dat je je algoritmes hier vrij makkelijk op aan kan passen.

[ Voor 10% gewijzigd door Creepy op 17-07-2004 23:09 ]

"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


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 23-05 18:13
Van de genoemde suggesties lijkt me die van Rataplan nog het zinnigste. Gewoon alle objecten laten 'wrappen' (met simpele modulo arithmetic) om de absolute coordinaten te bepalen en bij alle concrete berekeningen (zoals AI van de tegenstanders en het tekenen van de wereld) uit te gaan van relatieve coordinaten ten op zichte van de speler. Dit is redelijk eenvoudig te doen en zorgt (denk ik) voor de minste overhead en complicaties.

Overigens werkt deze aanpak natuurlijk alleen als je een duidelijk gedefinieerde hoofdentiteit hebt. Mocht je er een multiplayer-variant van maken dan zou je in de knoop kunnen raken (de AI moet immers op alle spelers tegelijk reageren), maar misschien is dat voor jouw situatie niet relevant,

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
modulo rekenen is niet zo heel duur, en daar kun je lijkt me wel gebruik van maken...

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Ik heb het nu even vrij lomp opgelost door in de worldpainter alternatieve dx en dy (de afstand tussen de tekenen object:o en de player) te bepalen.

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
World world = o.getWorld();
int worldWidth = world.getWidth();
int worldHeight = world.getHeight();
int ox = o.getX();
int oy = o.getY();
int px = playerShip.getX();
int py = playerShip.getY();

int dx = ox - px;
if(dx>worldWidth/2){
    dx = -((worldWidth-ox)+px);
}else if(dx<-worldWidth/2){
    dx = (worldWidth-px)+ox;
}

int dy = oy - py;
if(dy>worldHeight/2){
    dy = -((worldHeight-oy)+py);
}else if(dy<-worldHeight/2){
    dy = (worldHeight-py)+oy;
}


Optimaliseren ga ik later wel doen.

Verder zorgt mijn overflow policy ervoor dat een unit aan de andere kant van de map wordt neergezet als hij de map gaat verlaten:

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
final public class GlobeOverflowPolicy extends OverflowPolicy{

    public GlobeOverflowPolicy (){
    }

    public boolean request(int newX, int newY, AbsoluteWorldObject o) {
        World world = o.getWorld();
        int height = world.getHeight();
        int width = world.getWidth();

        if(newX>=width)
            newX = newX-width;
        else if(newX<0)
            newX = newX+width;

        if(newY>=height)
            newY = newY - height;
        else if(newY<0)
            newY = newY+height;

        o.setPositionWithoutCheck(newX,newY);
        return true;
    }
}

[ Voor 45% gewijzigd door Alarmnummer op 19-07-2004 12:55 ]


Verwijderd

IceManX schreef op 17 juli 2004 @ 21:07:
[...]
Waarom die Else daar? Je wilt nml zowel X als Y corrigeren.
Ik ging er even vanuit dat een vleigtuigje (of wat is het?) enkel horizontaal of verticaal kan vliegen (gsm besturing is meestal met maar vier richtingen). Dan moet enkel de x of y coördinaat worden aangepast :+

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Verwijderd schreef op 18 juli 2004 @ 11:11:
[...]

Ik ging er even vanuit dat een vleigtuigje (of wat is het?) enkel horizontaal of verticaal kan vliegen (gsm besturing is meestal met maar vier richtingen). Dan moet enkel de x of y coördinaat worden aangepast :+
Dit is een heel bijzonder vliegtuig. Hij kan hooveren, alle kanten op zelfs achteruit :P

Verwijderd

Hooveren? Een normaal vliegtuig maakt dan een grote plons in het water...
(maar ja je moet wat originaliteit in het spel brengen)

  • WildernessChild
  • Registratie: Februari 2002
  • Niet online

WildernessChild

Voor al uw hersenspinsels

Wat jullie hier aan het doen zijn (wrappen aan alle randen van een rechthoekige map) is geen bol, maar een torus. Als je bij de noordpool komt (bovenrand van de map) en doorvliegt kom je over het algemeen niet meteen op de zuidpool (onderrand van de map) uit ;)

Maar als je echt een bol wilt coden maak je het jezelf wel een stuk moeilijker...

Maker van Taekwindow; verplaats en resize je vensters met de Alt-toets!


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Verwijderd schreef op 18 juli 2004 @ 12:41:
Hooveren? Een normaal vliegtuig maakt dan een grote plons in het water...
(maar ja je moet wat originaliteit in het spel brengen)
Speelbaarheid staat op #1.

Het is een shooter, dus wie geeft er nou iets om realiteit. Als die maar lekker knalt toch.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 23-05 18:13
off-topic:
WildernessChild schreef op 18 juli 2004 @ 12:43:
Wat jullie hier aan het doen zijn (wrappen aan alle randen van een rechthoekige map) is geen bol, maar een torus donut.
Niet van die moeilijke woorden gebruiken hé. :P

Verwijderd

WildernessChild schreef op 18 juli 2004 @ 12:43:
Wat jullie hier aan het doen zijn (wrappen aan alle randen van een rechthoekige map) is geen bol, maar een torus. Als je bij de noordpool komt (bovenrand van de map) en doorvliegt kom je over het algemeen niet meteen op de zuidpool (onderrand van de map) uit ;)

Maar als je echt een bol wilt coden maak je het jezelf wel een stuk moeilijker...
Mja, tenzij hij met 2 cirkelvormige maps zou werken (boven en onderkant).
ik vraag mij alleen af of dit wel de moeite is, de gebruiker merkt het waarschijnlijk van zijn leven niet ;)

  • Macros
  • Registratie: Februari 2000
  • Laatst online: 30-04 09:28

Macros

I'm watching...

Je kan de wereld simuleren (als bol) door als je aan de boven of onderkant eraf gaat, dat je dezelfde wereld alleen op zijn kop doorvliegt en als je aan de zijkanten eraf gaat niet... :)

"Beauty is the ultimate defence against complexity." David Gelernter


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Zoals ik het nu hebt speelt het werkelijk te gek. Dat de vijanden nog niet zo slim zijn om aan de 'andere' kant van de map te kijken heb ik eigelijk nog niet eens hinder van ondervonden. Het is hele fijne shooter en je hebt toch geen tijd om op heel veel details te letten.

[ Voor 3% gewijzigd door Alarmnummer op 18-07-2004 21:01 ]


  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08-2025
Heb je een demootje voor ons? :*)


Maar modulo rekenen lijkt mij toch het makkelijkst.
code:
1
dx = min ( (obj1.x-obj2.x) % width), (obj2.x-obj1.x) % width) )

| Toen / Nu


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09:13

Janoz

Moderator Devschuur®

!litemod

Het lijkt me trouwens veel makkelijker om de maps afmetingen van machten van twee te geven. Dan heb je ook geen dure modulus bewerkingen meer nodig.

[ Voor 3% gewijzigd door Janoz op 18-07-2004 21:30 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Janoz schreef op 18 juli 2004 @ 21:30:
Het lijkt me trouwens veel makkelijker om de maps afmetingen van machten van twee te geven. Dan heb je ook geen dure modulus bewerkingen meer nodig.
Op dit moment is het voornamelijk de fixedpoint library die erg naad is. Het programma zit 30% van de tijd in de div en de atan. Die moet ik dus nog zien te tabelen (de atan). En de div ga ik gewoon via de normale div laten verlopen. Wat ik wil is een benadering van floats mbv ints en 1 of 2 cijfers achter de comma is al meer dan plenty (in tegenstelling tot de huidige fixedpoint library die ik gebruikt)

[ Voor 23% gewijzigd door Alarmnummer op 18-07-2004 21:34 ]


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
SuperRembo schreef op 18 juli 2004 @ 21:25:
Heb je een demootje voor ons? :*)
Binnenkort. Ik moet nog even kijken hoe ik j2me via een applet aan de praat kan krijgen (het is mogelijk). En ik moet de obfuscator nog ff aan de praat krijgen, dan zijn de jad/jars ook wel te proberen.
Maar modulo rekenen lijkt mij toch het makkelijkst.
code:
1
dx = min ( (obj1.x-obj2.x) % width), (obj2.x-obj1.x) % width) )
Ik zal er ff naar kijken. Ik ben op dit moment blij dat het werkt en ik ga me morgen wel bezig houden met de performance.

  • koli-man
  • Registratie: Januari 2003
  • Laatst online: 13-05 14:28

koli-man

Bartender!!!!

offtopic:
met welke (java)ontwikkel omgeving ben je bezig?

Hey Isaac...let's go shuffleboard on the Lido - deck...my site koli-man => MOEHA on X-Box laaaiiiff


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
koli-man schreef op 19 juli 2004 @ 12:41:
offtopic:
met welke (java)ontwikkel omgeving ben je bezig?
Wat bedoel je? j2me/j2se/j2ee zaken (dan ben ik met j2me bezig). Of bedoel je de ide? Gewoon IDEA en verder gewoon ANT met ANTENNA.

  • 12_0_13
  • Registratie: April 2004
  • Laatst online: 12-02 13:19
Als ik het goed begrijp gebruik je dus een soort van window om je huidige positie heen en vertaal je alles naar dat window (dmv modulo rekenen?).

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
12_0_13 schreef op 19 juli 2004 @ 12:49:
Als ik het goed begrijp gebruik je dus een soort van window om je huidige positie heen en vertaal je alles naar dat window (dmv modulo rekenen?).
[rml]Alarmnummer in "[ game] oneindige map"[/rml]

Verwijderd

ff een domme vraag, beweegt je vliegtuig of beweegt de wereld om je vliegtuig heen ?

als de wereld om je vliegtuig heen beweegt moet het vrij makkelijk kunnen door een voorwaarde aan je world position toe te voegen.

een niet werkend voorbeeld

if left + 1 then begin
if draw(x,+1) < 256 then draw(x,0) else draw(x,+1)

als je zoeets herhaalt voor alle richtingen dan bouw je vanzelf een wereld bol aan.
Pagina: 1