[JAVA] tank game the battle

Pagina: 1
Acties:

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Ok mensen, jullie kennen allemaal nog wel de atari , c64, amiga etc.. daar had men vroeger van die hele simpele spelletjes op, zoals tanks, mr robot, jumpman junior, bruce lee etc.. Nu ben ik altijd al geinteresseerd geweest in hoe ze dit soort spelletjes maken. Nu ben ik bezig om Java te leren, dit doe ik aan de hand van veel voorbeelden en door een boek te lezen. Nu wil ik zelf een soort tank game maken in Java, waar je 2 tank hebt die je kan besturen. Hiervan kun je tevens de loop draaien en de tank zelf. Nu vroeg ik mezelf af, hoe kan ik dit maken. Wat moet ik doen coor collision detection etc... Tevens moet het veld groter dan 1 scherm kunnen zijn. Het scherm net zoiets als Red Alert alleen dan wat kleinere velden. Nu vroeg ik me ook af, of ik het beste gebruik kan maken van sprites of van plaatjes of ??? Wie kan mij een zetje ind e goede richting geven. Het spel moet zo gemaakt worden dat het later voor multiplayer over het net uitgebreid kan worden.. Ik zoek geen source code, maar ik vraag om tips hoe dit te doen en waar moet ik rekening meehouden om dit te kunnen maken en zijn en nog addertjes onder het gras waar ik op moet letten zodat ik later niet in de problemen kom. Of eventueel goeie docs over het maken van spellen.. alles is welkom. Ik gebruik trouwens het boek... Core JAVA2 volume 1 j2se 1.4 is dit een beetje een goed boek?

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 11:21
Ik zou zeggen, kijk eerst eens naar wat Java je te bieden heeft. De Java 1.4 SDK heeft goede support voor 'snelle' grapics (wat in het verleden nogal problematisch was). Sprites bestaan niet, dus daar kun je al niet voor kiezen. In Java gaat alles met Images (om plaatjes in op te slaan) en Graphics objecten (om mee op het scherm en in plaatjes te tekenen).

Hoe je alles gaat realiseren lijkt me nou juist een deel van de lol. Die zal ik dan ook niet voor je verpesten.

Verwijderd

zoek eens op snowstorm in /13 ... misschien vind je daar wat handige dingen ...

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Owh.. En Core java is een goed boek :). Het heeft zeker voor een beginnende progger wel een wat hoog niveau... Kijk er eerst ff in of je het allemaal wel een beetje kunt volgen...

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


  • Tuinhark
  • Registratie: April 2000
  • Laatst online: 22-08 20:24

Tuinhark

Retro

Je moet je IMO goed verdiepen in het MVC pattern (Model View Controller). 'Model' is het data-gedeelte van je spel (op welke coordinaten staan tanks/bomen/etc), 'View' is het gedeelte van de code dat de weergave voor zijn rekening neemt (dus het renderen van een bepaald gedeelte van het grotere speelveld, ook wel viewport genoemd) en 'Controller' is het gedeelte dat input verwerkt en operaties uitvoert op het Model. Uiteraard, wanneer het Model is aangepast door een operatie van de Controller, moet de View worden geupdate. Daar kun je Observer/Observable voor gebruiken.

Als je niet precies snapt wat dit allemaal inhoudt, raad ik je aan info te zoeken met deze keywords. IMHO is dit echt wel de way to go, zeker omdat dit allemaal zo goed mogelijk wordt gemaakt met de Java APIs. B)

edit:

Owja, met Core boeken kun je idd haast niet meer mis gaan. *D


edit:

Eh, duidelijk is dat MVC slechts een pattern is, niet een kant-en-klare oplossing. Ja, er wordt een aantal voorzieningen in Java geleverd, maar daarnaast zul je bv Java2D oid moeten gebruiken voor bv het View gedeelte, bv Swing voor het Controller gedeelte en whatever voor het Model gedeelte.

Hoop dat het nog een beetje duidelijk is. (8>


:Y)

[ Voor 0% gewijzigd door Tuinhark op 11-10-2002 12:34 . Reden: typo/addon ]


  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Ik heb nooit iets gedaan met OOP, maar goed, ik begin het wel een beetje door te krijgen alleen al die regeltjes met classes en die heeft wel toegang tot dit en die weer niet tot dat etc.. dat breekt me een beetje op, maar ben nu op blz 250 ongeveer en moet er dus nog 350 ongeveer, erna nog een keer lezen en dan op naar deel 2. De hierarchy heb ik zo'n beetje gehad, nu komen ze aan met events controllers enzo.. dus het uitleggen van allerlei classes die er zijn.

BTW als er mensen zijn die zin hebben om mee te doen... dat kan altijd.. ben van plan om er iets moois van te maken... maar eerst moet ik het werkende zien te krijgen.

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

Alarmnummer

-= Tja =-

Tuinhark schreef op 11 oktober 2002 @ 12:30:
Daar kun je Observer/Observable voor gebruiken.
Ik gebruik daar persoonlijk propertyChangeSupport voor, of mijn eigen support voor verzamelingen (erg fijn).
Als je niet precies snapt wat dit allemaal inhoudt, raad ik je aan info te zoeken met deze keywords. IMHO is dit echt wel de way to go, zeker omdat dit allemaal zo goed mogelijk wordt gemaakt met de Java APIs. B)
Ik sta hier 100% achter. Je kunt het beste inderdaad mvc voor dit soort dingen gebruiken. Hierdoor hou je je data/logica gescheiden van je visualisatie waardoor je veel meer inzicht in de werking van je code krijgt. EN verder kan je super eenvoudig meerdere views voor 1 stuk data maken. bv de damage van de tank. Naarmate de damage groter wordt, wordt de tank zwarter en je damage meter die stijgt.

  • Tuinhark
  • Registratie: April 2000
  • Laatst online: 22-08 20:24

Tuinhark

Retro

Alarmnummer: Ik gebruik daar persoonlijk propertyChangeSupport voor, of mijn eigen support voor verzamelingen (erg fijn).
offtopic:
Even op een zijspoor: het Observer/Observable ding dat door Java wordt geleverd is inderdaad niet het allerbest. Zelf gebruik ik nu deze, welke beter geschikt is voor mijn huidige project. :7


:Y)

  • cameodski
  • Registratie: Augustus 2002
  • Laatst online: 06-11-2023
Het zelf ontwikkelen van games staat ook nog altijd op mijn verlanglijst. Lijkt me heel interessant en leerzaam.
Overigens heb ik daarbij nooit gedacht aan java. C++ leek me de meest voor de hand liggende optie, omdat applicaties in C++ nu eenmaal sneller zijn. En dat is voor games vaak wel belangrijk. Zeker als je aan games als Red Alert zit te denken.
Maar in java is waarschijnlijk veel meer kant en klare code beschikbaar die je kunt gebruiken, zodat je game weer een stuk sneller af is.
En snelheid is nu eenmaal te koop. :)

Never underestimate the power of


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

Alarmnummer

-= Tja =-

Ik ben zelf wat aan het stoeien met een krachtiger property systeem, met kant en klare view/controller/model objecten.

[rml][ java] MVC kan veel generieker[/rml]

Dit is intussen al weer vrij oud, en er is al zeer veel aan verander. Ik ben ook bezig geweest met een Nice versie, maar helaas is er op dit moment een zeer irritante beperking in de geparametriseerde polymorfisme aanpak.

  • .oisyn
  • Registratie: September 2000
  • Nu online

.oisyn

Moderator Devschuur®

Demotivational Speaker

cameodski schreef op 11 oktober 2002 @ 13:52:
Het zelf ontwikkelen van games staat ook nog altijd op mijn verlanglijst. Lijkt me heel interessant en leerzaam.
Overigens heb ik daarbij nooit gedacht aan java. C++ leek me de meest voor de hand liggende optie, omdat applicaties in C++ nu eenmaal sneller zijn. En dat is voor games vaak wel belangrijk. Zeker als je aan games als Red Alert zit te denken.


mwoah, game logic kan in principe in elke taal, zelfs php ;)
Maar voor visualisatie en dergelijke heb je idd iets snels nodig. Je zou gewoon je java API kunnen gebruiken, waarmee het best mogelijk is, maar die is daar niet echt voor gebouwd. Misschien is het interessant om op zoek te gaan naar een native geimplementeerde library die vanuit java aan te roepen is?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
.oisyn schreef op 11 oktober 2002 @ 18:24:
Misschien is het interessant om op zoek te gaan naar een native geimplementeerde library die vanuit java aan te roepen is?
Ik zal Alarmnummer vandaag eens voor zijn :P
Zo'n native wrapper, die redelijk bekend is, is SWT. Zie onderandere dit topic : [rml][ Java] Swing vs SWT (of JFace)[/rml]

edit:
Rag ik net heel fancy op de verstuur button, gooi ik in m'n enthousiasme m'n thee om :(

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

Alarmnummer

-= Tja =-

SWT is leuk voor widgetsets ed, maar ik denk in mindere mate voor normale graphics. Vanaf jdk1.4 heeft java de mogelijkheid om gebruik te maken van native rendering, dmv VolatileImage

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
wat een terminologie toch allemaal weer.. hoop dat ik er binnenkort ook wat meer van snap... eerst maar eens uitzoeken hoe ik de mainfigure het beste kan maken, dus mbv sprites, images pf wat dan ook, want als de tank draait dient het plaatje ook te veranderen.. of zit er dan een simpele rotate functie ergens of moet pixel voor pixel berekend worden wat zijn nieuwe positie iss ?? Dat zijn allemaal vragen die ik nog moet uitzoeken.. als iemand een leuk faqje weet van allemaal terminologieen ed die voor OO talen gebruikt worden om games te maken.. be my guest!

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

Alarmnummer

-= Tja =-

Misschien is een game op dit moment nog erg hoog gegrepen (alhoewel ik je motivatie erg goed begrijp). Probeer anders eens wat mvc experimentjes. Hier staat nog wel een voorbeeld van me:
http://forum.javahova.net/topic.php?id=526
en dan moet je even scrollen naar mijn reply (en de rest negeren).

Als je mvc in de vingers hebt, dan kan je echt hele mooie dingen maken :) Als je het op de 'klassieke' manier (dus alles met elkaar gaat integreren), dan krijg je echt een choas die niet te onderhouden valt en die eigelijk ook erg lastig is om te schrijven.

  • TheOneLLama
  • Registratie: Oktober 2000
  • Laatst online: 20-01-2022

TheOneLLama

A llama like no llama before

Glimi schreef op 11 oktober 2002 @ 20:00:
[...]

Ik zal Alarmnummer vandaag eens voor zijn :P
Zo'n native wrapper, die redelijk bekend is, is SWT. Zie onderandere dit topic : [rml][ Java] Swing vs SWT (of JFace)[/rml]

edit:
Rag ik net heel fancy op de verstuur button, gooi ik in m'n enthousiasme m'n thee om :(
SWT is niet voor dit soort dingen bedoeld. Wil je dit in SWT maken dan zit je nl alsnog alles in een andere taal als Java te doen. Standard Widget Toolkit.

Opera OpenOffice.org Jabber Psi jabber://llama@mordax.com

Pagina: 1