Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (762)
Games in Android Showcase (229)
games submitted by our members
Games in WIP (847)
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  
  Raycasting in a 3d game to create hitscan weapons  (Read 2399 times)
0 Members and 1 Guest are viewing this topic.
Offline MaartenS11

Junior Newbie

« Posted 2017-08-10 14:18:51 »

Hi I am new here on the forums and I have a question. I have been working on a wolf3d type of game(mostly the level design currently) and I wanted to start implementing gameplay currently my player can move around in the levels and look around and thats it. So I wanted to implement hitscan so the player has to make his way past the guards to complete the level through stealth or killing the guards I would use raycasting for this but I have no idea how I should start because I do not have any theory behind how it works. I know how to use it(I have used other game engines in the past) but I dont know how exactly i would implement this. Any help on this subject is appreciated. Here are some images of how it currently looks:
Offline gouessej
« Reply #1 - Posted 2017-08-13 16:31:45 »


Your game reminds me the very first blueprint of mine  Grin i used raycasting at the very beginning in 2006. You can throw a ray starting from your player's gun, going forward. You'll have to compute a bounding volume containing the zoomed bitmap for each enemy. As the ray might go throw some objects, you might find several collision results, you'll have to sort them and to pick the first one except for the projectiles that purposely go through walls. A ray is similar to an half-line in your case, you need three spatial coordinates for its start and a vector to represent its direction. I can help you to implement a method to compute the collisions between an axis-aligned bounding box and a ray if you want. Where is your source code?

P.S: Maybe this helps.

Julien Gouesse | Personal blog | Website | Jogamp
Offline jonjava
« Reply #2 - Posted 2017-08-13 21:17:41 »

..aren't you already using raycasting when rendering the game?

Essentially raycasting is casting a bunch of rays/projectiles in an arc around the camera -- these rays/projectiles have a direction they step through and check for collisions -- when they hit something they stop and you'll know the distance they travelled (so that you can draw the walls/etc big/small based on how far away they are from the camera).


Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline MaartenS11

Junior Newbie

« Reply #3 - Posted 2017-08-14 10:45:37 »

Thank you for all the current replies I'll check out the sources you have given so far.
Pages: [1]
  ignore  |  Print  

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

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

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

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

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

nelsongames (857 views)
2018-04-24 18:14:32

ivj94 (1317 views)
2018-03-24 14:47:39

ivj94 (428 views)
2018-03-24 14:46:31

ivj94 (1098 views)
2018-03-24 14:43:53

Solater (448 views)
2018-03-17 05:04:08
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 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!