Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (495)
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  
  [Prototype] Mass Voxel Render  (Read 2649 times)
0 Members and 1 Guest are viewing this topic.
Online Longor1996
« Posted 2013-04-24 20:39:21 »

Hello everyone!

I made a small voxel-engine!

"Pictures can say a thousand words..."





A video of me playing a bit around in the engine.
<a href="http://www.youtube.com/v/-axg0Ylv9aU?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/-axg0Ylv9aU?version=3&amp;hl=en_US&amp;start=</a>

-need to rewrite technical information-

What do you think of this?

Have a nice day!

- Longor1996

Sorry for my bad English! That's because i am from Germany.
Offline steg90

Senior Member


Medals: 1



« Reply #1 - Posted 2013-04-24 20:53:39 »

Very impressive :-)

Would be interested to know about the server/client model - I'm looking at putting in multiplayer into mine.

Thanks
Online Longor1996
« Reply #2 - Posted 2013-04-24 20:57:01 »

The networking is based on raw Java NIO/TCP and my own network protocol called NetPac.
It's pretty fast. It takes just 8-20ms to send 8 chunks from one PC to another PC in a local network.

- Longor1996

Sorry for my bad English! That's because i am from Germany.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline steg90

Senior Member


Medals: 1



« Reply #3 - Posted 2013-04-24 21:23:27 »

Sounds good to me.

I need to look into doing something similar, any advice of where to look?

Thanks
Online Longor1996
« Reply #4 - Posted 2013-04-24 21:31:23 »

In the Networking or the Voxel handling?

Here is a more detailed explanation of the Server/Client model.
'C' is the Client, 'S' is the Server. '>>' means that 'X goes from A to B'.
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
C: Create Socket and try to connect to Server
S: Accepts Connection
C >> S: Sends Login Request Packet
S: Checks if the login is valid (Player isn ot already there/Server is not full, etc.etc.)
Not-Accepted: Send ConnectionKill Packet to Client and Stop.
Accepted{
 S >> C: Send Asset-Count and Assets //NYI
C: Receive Assets and use them //NYI
C >> S: Send the Asset Packet back
 C: Create local World Instance
 C: Go into infinite Packet reading loop
 S: Start a new Thread and go into an infinite Packet reading loop
 S >> C: Send Spawn-Area Chunks
 
 // LOOP START
C: Read every Packet and execute it using the assigned Handler
 S: Read every Packet and execute it using the assigned Handler
}


Btw:
The NetPac system is a modular multipurpose tcp-packet networking system i made for my applications.
How Packet's are handled still has to be specified for every Server/Client instance.
But that isn't really hard to do.

- Longor1996

Sorry for my bad English! That's because i am from Germany.
Offline steg90

Senior Member


Medals: 1



« Reply #5 - Posted 2013-04-24 21:36:07 »

Hi,

Network handling.  I take it the app needs to be running on both computers - just wanting to do something like in MC where you can search for LAN games and join them.

Thanks
Online Longor1996
« Reply #6 - Posted 2013-04-24 21:40:26 »

How to search for LAN-Games:
Send a UDP Packet with some client informations to all units in a network.
This happens by sending the UDP packet to the address '255.255.255.255'.
When a Server receives one of these messages, it just has to sent a info packet back to the client.

- Longor1996

Edit:

I managed to work on this project again.
The result is a (nearly) 1km view distance!

Some pictures: (The fog is a bit too close I think)








The FPS where just around 60 while I took the pictures.

- Longor1996

Sorry for my bad English! That's because i am from Germany.
Offline Riven
« League of Dukes »

JGO Overlord


Medals: 798
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #7 - Posted 2013-12-30 14:02:44 »

reopened on request Pointing

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Online Longor1996
« Reply #8 - Posted 2013-12-30 15:13:57 »

Yay! Now I can post that update video!

<a href="http://www.youtube.com/v/-axg0Ylv9aU?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/-axg0Ylv9aU?version=3&amp;hl=en_US&amp;start=</a>

Would anyone want to try out the prototype?

Have a nice day!

- Longor1996

Sorry for my bad English! That's because i am from Germany.
Offline Simn
« Reply #9 - Posted 2013-12-30 15:22:35 »

This is really impressive, nice work!

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

JGO Knight


Medals: 36
Exp: 7-9 months


Damn maths.


« Reply #10 - Posted 2013-12-30 15:30:36 »

Very nice. Every voxel project on this forum that I've looked at seems to use display lists. Is there a reason that they're used versus VBOs? I'm just curious.

Why are all OpenGL tutorials written in Brainf**k?
Online Longor1996
« Reply #11 - Posted 2013-12-30 15:42:56 »

Very nice. Every voxel project on this forum that I've looked at seems to use display lists. Is there a reason that they're used versus VBOs? I'm just curious.

I am not using displays in the way everyone else does.
1  
2  
3  
GL11.glNewList(...)
VertexArray.batch()
GL11.glEndList()


Its pretty fast. I tried to switch it out with VBO's once, but it was terribly slow compared to this method.
Although I think it doesn't work on every graphics-card...

Have a nice day.

- Longor1996

Sorry for my bad English! That's because i am from Germany.
Offline opiop65

JGO Kernel


Medals: 154
Projects: 7
Exp: 3 years


JumpButton Studios


« Reply #12 - Posted 2013-12-30 15:46:28 »

I believe Minecraft also uses the display list and vertex array method to render too, just for reference.

Good job Longor! It's impressive.

Online Longor1996
« Reply #13 - Posted 2013-12-30 15:52:28 »

I believe Minecraft also uses the display list and vertex array method to render too, just for reference.

Good job Longor! It's impressive.

Yes, Minecraft does use that method too.
I realized after a lot of testing that this method is the fastest, and easiest way, for rendering tons and tons of chunk-meshes.
And it has a surprisingly small memory-foorprint!

Have a nice day.

- Longor1996

Sorry for my bad English! That's because i am from Germany.
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 (14 views)
2014-09-19 03:14:18

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

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

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

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

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

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

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

Longarmx (37 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!