Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (778)
Games in Android Showcase (231)
games submitted by our members
Games in WIP (856)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Collision Detection thought and is it possible?  (Read 1890 times)
0 Members and 1 Guest are viewing this topic.
Offline subless

Junior Newbie

« Posted 2012-09-06 09:57:48 »

I was thinking, since I am a visual learner I want to visually put my maps together from the image tiles, and save them as one big picture(similar to a spreadsheet I guess). Lets say that my tiles are going to be 40 x 40 pixles.

Instead of checking a map tile against the player's position for collision detection, would it be possible to check an array of the exact same size of the tilled map isself?

Let me explain...

I'd like to have an invisible grid laid on-top of the map. Each grid cell will be exactly the same size as each tile 40 x 40 pixles. Each cell will either have a value of 1 for true or 0 for false.

Would it be possible to check the array/grid for all the true values and let the player be-able to walk in those cells?

Sorry for my horrible explaining skills. Look at the photo below to get an idea. The bottom line is instead of checking the map for player collision, I'd rather just allow the player's character to walk in the cells that have a true(1) value. Since the array will be the exact size as the map, it will look as if the player is actually walking on the map, when the player is actually walking threw the array/grid cells.

The brown blocks are walls that the player shouldn't be able to walk through. Therefore the brown blocks would hold a 0(false) value. The gray is the walk-able area which holds the 1(true) value, letting the methods of character movement know that the player is allowed to move in those areas. The green dot is the player.

It just seems it would be easier and processer friendly to check a boolean value vs checking a players position, then having to check the tiles position and then having to compare the two for collision detection.

If this is indeed possible it would make map creation and checking for collision detection much easier! Even though if it is indeed possible there wouldn't be any need for collision detection since the player wouldn't be allowed to walk anywhere with a false value set in the array in the first playce Smiley

Thanks in advance for any ideas or replys.
Offline Sammyster

Senior Newbie

Medals: 1
Exp: 3 years

« Reply #1 - Posted 2012-09-06 11:09:20 »

Hello subless!

I belive there is an excellent tutorial for this over at if you havent checked that out yet!

A bit rough but all you should need to do is to declare an array wich holds the values you want, would be BLOCKED (0) and CLEAR(1) in this case.
Then you simply compare the players position to find out whether the tile you try to move too is clear or not.

something like this:
 public boolean moveable(int playerX, int playerY) {
        //return true if this happen- coords from player move
        return blockedData[ playerX ][ playerY ] == CLEAR;

Sorry for a terrible explanation, but take a look here  should cover something like this in greater details:)
Pages: [1]
  ignore  |  Print  

hadezbladez (362 views)
2018-11-16 13:46:03

hadezbladez (194 views)
2018-11-16 13:41:33

hadezbladez (363 views)
2018-11-16 13:35:35

hadezbladez (91 views)
2018-11-16 13:32:03

EgonOlsen (2193 views)
2018-06-10 19:43:48

EgonOlsen (2229 views)
2018-06-10 19:43:44

EgonOlsen (1386 views)
2018-06-10 19:43:20

DesertCoockie (2024 views)
2018-05-13 18:23:11

nelsongames (1677 views)
2018-04-24 18:15:36

nelsongames (2313 views)
2018-04-24 18:14:32
Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08

Deployment and Packaging
by gouessej
2018-08-22 08:03:45

Deployment and Packaging
by philfrei
2018-08-20 02:33:38

Deployment and Packaging
by philfrei
2018-08-20 02:29:55

Deployment and Packaging
by philfrei
2018-08-19 23:56:20

Deployment and Packaging
by philfrei
2018-08-19 23:54:46 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!