Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (539)
Games in Android Showcase (132)
games submitted by our members
Games in WIP (603)
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  
  Poss-Engine - (Windows, Mac, Linux)  (Read 2423 times)
0 Members and 1 Guest are viewing this topic.
Offline Spacebeans
« Posted 2014-04-13 19:17:16 »



Poss Engine is a game about destruction and creation. I call it an engine because your gonna spend more time creating things to play with than actually using them.

The game has a custom entity engine that makes it easy for the player to make entities in-game, and use them to their will. This is also for lights, blocks, items, and buildings. Then, when they are done, the entity, block, item or building can be exported into a file format for other players to download and use however they want.

Destruction and physics is a big part of this game. It uses JBox2D for most of everything, and I am slowly implementing it into the engine.

Facebook: https://www.facebook.com/pages/PossEngine/640473439357065
GitHub: https://github.com/Spacebeans-/poss-engine
Youtube: https://www.youtube.com/user/passagearchive
Twitter: https://www.twitter.com/Spacebeans_

Demo: http://youtu.be/Vtab9CHEMCA
Offline Drenius
« Reply #1 - Posted 2014-04-13 19:24:37 »

Sooo ... what is it?
A game or an engine?
A modifiable game is still a game!
Offline Spacebeans
« Reply #2 - Posted 2014-04-13 19:28:13 »

Sooo ... what is it?
A game or an engine?
A modifiable game is still a game!
I mean it doesn't really have a story, or a theme. Everthing in it and how it plays is determined by the player. All the game really does is give the player the tools to create ANYTHING they want. Then the game engine adds physics, works entities, lights, and all the hard stuff.

I'm slowly adding details to the post. And a youtube demo is uploading with 98 minuets remaining Cheesy
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Drenius
« Reply #3 - Posted 2014-04-13 19:31:39 »

So ... it is basically a sandbox game or - lets called a game sandbox. Right?
Offline Spacebeans
« Reply #4 - Posted 2014-04-13 19:34:54 »

So ... it is basically a sandbox game or - lets called a game sandbox. Right?
I guess you could call it a sandbox game. But I'm still working out how everything plays for now. The final product could be allot different than the original idea.
Offline Spacebeans
« Reply #5 - Posted 2014-04-13 21:24:21 »

I added a video demo here: http://youtu.be/Vtab9CHEMCA
Offline LiquidNitrogen
« Reply #6 - Posted 2014-04-14 02:12:41 »

nice shadow Smiley

Offline Spacebeans
« Reply #7 - Posted 2014-04-14 02:21:35 »

Yeah, its actually a quad. See every mesh in the lighting world has a vertex array. I do a for loop for all the meshes, get their vertices and draw points from the two facing the outer-most.

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
for (int i = 0; i < vertices.length; i++) {
                 
               Vector2f currentVertex = vertices[i];
               Vector2f nextVertex = vertices[(i + 1) % vertices.length];
               Vector2f edge = Vector2f.sub(nextVertex, currentVertex, null);
                    Vector2f normal = new Vector2f(edge.getY(), -edge.getX());
               Vector2f lightToCurrent = Vector2f.sub(currentVertex, light.location, null);
                 
               if (Vector2f.dot(normal, lightToCurrent) > 0) {
               
               Vector2f point1 = Vector2f.add(currentVertex, (Vector2f) Vector2f.sub(currentVertex, light.location, null).scale(800), null);
               Vector2f point2 = Vector2f.add(nextVertex, (Vector2f) Vector2f.sub(nextVertex, light.location, null).scale(800), null);
                     
               glBegin(GL_QUADS); {
                  glVertex2f(currentVertex.getX(), currentVertex.getY());
                  glVertex2f(point1.getX(), point1.getY());
                  glVertex2f(point2.getX(), point2.getY());
                  glVertex2f(nextVertex.getX(), nextVertex.getY());
               } glEnd();
            }
      }
Offline opiop65

JGO Kernel


Medals: 161
Projects: 7
Exp: 4 years


JumpButton Studios


« Reply #8 - Posted 2014-04-14 02:22:31 »

That immediate mode rendering... yeah.

Offline Spacebeans
« Reply #9 - Posted 2014-04-14 02:23:57 »

I had to. The quads vertexes were ALWAYS changing in real time. So I used something that constantly sends vertexes to the card. VBOs are interleaved, so you cant change their data. But the actual blocks are VBOs.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline opiop65

JGO Kernel


Medals: 161
Projects: 7
Exp: 4 years


JumpButton Studios


« Reply #10 - Posted 2014-04-14 02:26:09 »

Thats where vertex arrays come into play. Come on, do you really think that modern engines use immediate mode rendering styles because their vertices change constantly? Nope. They use modern rendering techniques because that's what the "new" OpenGL is based around. The fixed function pipeline is pretty much dead, I wouldn't suggest using it anymore for anything besides maybe quick testing.

Also, vertices, not vertexes.

Also, also.
Quote
But the actual blocks are VBOs.
VBOs (vertex buffer objects) are just containers for raw data that your graphics card can interpret. VBOs are not "blocks" or anything of the sort, they are simply containers of data. I see many people make that mistake.

Offline Spacebeans
« Reply #11 - Posted 2014-04-14 02:34:52 »

Thats where vertex arrays come into play. Come on, do you really think that modern engines use immediate mode rendering styles because their vertices change constantly? Nope. They use modern rendering techniques because that's what the "new" OpenGL is based around. The fixed function pipeline is pretty much dead, I wouldn't suggest using it anymore for anything besides maybe quick testing.

Also, vertices, not vertexes.

Also, also.
Quote
But the actual blocks are VBOs.
VBOs (vertex buffer objects) are just containers for raw data that your graphics card can interpret. VBOs are not "blocks" or anything of the sort, they are simply containers of data. I see many people make that mistake.

Thanks for the advice, really. Also, I mean't the block engine in game is using VBOs as their main way of rendering. I will try to implement a new way of editing the float buffers from my sprite batches. Then implement it through that.

EDIT: I should have mentioned the framework for the lighting was actually made by the LWJGL.org user, DrArgonmoray
github: https://github.com/DrAgonmoray/BasicLighting/
Offline Jacob Pickens

JGO Ninja


Medals: 32
Projects: 5
Exp: 10-12 months


Do things you don't know how.


« Reply #12 - Posted 2014-04-18 23:55:15 »

And the tweening is by the one and only Jacob Pickens!!! (I was recruited into this project. I have done nothing since Tongue)

Live development of whatever I feel like making! http://www.twitch.tv/jacob_pickens
Offline Longarmx
« Reply #13 - Posted 2014-04-19 13:49:54 »

And the tweening is by the one and only Jacob Pickens!!! (I was recruited into this project. I have done nothing since Tongue)

Just to let you know, there are over a dozen Jacob Pickens in this world...

@Spacebeans  if you have a float array cache, and you put your blocks into the array in a certain order, then modifying the vertices should be relatively easy

Offline Spacebeans
« Reply #14 - Posted 2014-04-19 20:19:34 »

@Spacebeans  if you have a float array cache, and you put your blocks into the array in a certain order, then modifying the vertices should be relatively easy

I'm actually re-programming the engine (due to the sloppiest code in the world), I'm working out the sprite batches now actually, thanks for the advice.
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.

rwatson462 (33 views)
2014-12-15 09:26:44

Mr.CodeIt (23 views)
2014-12-14 19:50:38

BurntPizza (51 views)
2014-12-09 22:41:13

BurntPizza (84 views)
2014-12-08 04:46:31

JscottyBieshaar (45 views)
2014-12-05 12:39:02

SHC (59 views)
2014-12-03 16:27:13

CopyableCougar4 (59 views)
2014-11-29 21:32:03

toopeicgaming1999 (123 views)
2014-11-26 15:22:04

toopeicgaming1999 (114 views)
2014-11-26 15:20:36

toopeicgaming1999 (32 views)
2014-11-26 15:20:08
Resources for WIP games
by kpars
2014-12-18 10:26:14

Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

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
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!