Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (497)
Games in Android Showcase (114)
games submitted by our members
Games in WIP (563)
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  
  Sprites rendering in 2.5D raycasting engine  (Read 1019 times)
0 Members and 1 Guest are viewing this topic.
Offline frg

Junior Newbie





« Posted 2013-04-08 14:39:36 »

Hi all! I've been reading this BB for a while and this is my first post Smiley

I'm a CS student and I'm quite new at game development, though I have good Java skills.

After working on some 2D games I decided to try to implement a Wolfenstein 3D-like game engine from scratch (I know it's not a novel idea Tongue).

My current engine is capable of correctly displaying walls and textures, but I'm stuck at sprites rendering.

My engine does not use matrices, just some geometry and trigonometry; but I'm missing the technique needed to get sprites on screen.

It's quite easy to determine if a sprite is currently visible on the screen, but I definitely don't know how to determine the portion of the sprite image that has to be drawn.

In the following picture, if the red dot is the viewer (with its field of view) and the blue dot is a sprite, how can I render it on screen? How can I determine the on-screen x coord of the sprite?



Thanks a lot (I hope my english is not that bad Wink)
Online Jimmt
« League of Dukes »

JGO Kernel


Medals: 131
Projects: 4
Exp: 3 years



« Reply #1 - Posted 2013-04-08 19:55:31 »

Are you using Java2D? Or something else?
Offline frg

Junior Newbie





« Reply #2 - Posted 2013-04-08 22:45:51 »

I'm using just AWT. Anyway after an afternoon of work I figured out how to make it, maybe I'll post some screens of my engine ^^
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline SwampChicken
« Reply #3 - Posted 2013-04-09 02:13:30 »

So your using ray-casting to determine line-of-sight?
Offline frg

Junior Newbie





« Reply #4 - Posted 2013-04-09 10:31:16 »

Yes. The engine draws the walls and stores their distance, then it calculates the distance to the visible sprites (the sprites contained in the current field of view) and draws their vertical stripes which are not covered by a wall.
Offline atrakeur

Junior Newbie





« Reply #5 - Posted 2013-04-09 10:42:49 »

If I remember correctly, wolfenstein use bsp map format.
Correct me if I m wrong but there is directly visibility data inside the bsp tree, so you just have to render all sprites inside the visible zone computed by vis.
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

BurntPizza (21 views)
2014-09-19 03:14:18

Dwinin (35 views)
2014-09-12 09:08:26

Norakomi (62 views)
2014-09-10 13:57:51

TehJavaDev (87 views)
2014-09-10 06:39:09

Tekkerue (42 views)
2014-09-09 02:24:56

mitcheeb (65 views)
2014-09-08 06:06:29

BurntPizza (47 views)
2014-09-07 01:13:42

Longarmx (35 views)
2014-09-07 01:12:14

Longarmx (40 views)
2014-09-07 01:11:22

Longarmx (36 views)
2014-09-07 01:10:19
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org 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‑gaming.org
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!