Cardinal Gaming Library

Most recent snapshop/showoff image:

http://i.imgur.com/idnL2l8.jpgf

^ Water w/ some nice optical effects (fresnel, reflection, refraction, ripples, etc.) ^
Sorry for the choppy FPS, I’m running the game and recording it on an i3 processor, usually I’ll run around 300+ FPS ;D


Original first image:

https://s22.postimg.org/jo0mj91dd/snapshot.png

Image above only takes around 100 lines of code to do using library (between loading files, rendering, collision, etc. this isn’t bad at all!)

I have a few threads that give insight to how my progress has been with creating this library so far, but I’ve recently done a ton of work to it. Now that I’m finally able to see progress visually I figure this is as good a time as any to make a WIP thread showcasing my project!

What it is:
I’ve been doing game development for a while now, and I’ve almost consistently used LWJGL to write my games from scratch while reusing some code here and there. This gets pretty tiresome after a while, so a while back I decided that instead of designing a game I should design a library that will make it easier for me to create games in the future. This library has utilities for both 2D and 3D games and permits the use of both utilities at the same time (E.g. if you want a GUI in a 3D game).

Currently the library is sporting these flexible utilities / features:

  • Component-Based Architecture
  • Window Creation/Management System
  • FPS, Timing, etc. Management
  • Numerous Math/Vector Utilities
  • User Input Functionality (Keyboard/Mouse Utilities)
  • File Loading, Reading, and Writing Utilities
  • Loading/Parsing/Rendering of blender .OBJ Models
  • Loading/Rendering Heightmaps
  • Multi-texturing
  • Texture Atlases
  • Collision Detection between .OBJ Models and Heightmaps
  • Console/Command System
  • Font/Text-Rendering System
  • Shaders System

I’m currently working on adding functionality to the library that would make it easy for the user to add unique graphics like water (you can see I just started working on this in the image above).

Here’s a list of features I am working on currently, or will start soon: (will be updated as I go)

Water
[list]
[li]Reflection (Complete)

  • Refraction (Nearly Complete)
  • Ripples
  • Waves
  • Depth level of visibility

[/li]

  • Lighting System (ambient, directional, shadows, etc)
  • Bump Maps
  • Displacement Maps
  • Particle System
  • ??? ~ Not sure yet, baby steps. Can only plan so far ahead.
    [/list]

Just a small update showing off nicer-looking graphics.

http://s18.postimg.org/c796z2y0p/Untitled_1.png

Looking good :slight_smile: Keep up the awesome work! Do you have a day/night cycle implemented?

Not yet. Perhaps when I finish with the water I will begin that. I haven’t done any work to accommodate for lighting yet, but that’s definitely next on the list. Followed by either shadows or bump/displacement maps.

On an unrelated note, I need some advice from my fellow game programmers. I’m at the point in my library, I feel at least, where I don’t know if I should continue keeping this a library or turn it into a game engine. Where it stands right now I could use this to make a multitude of 3D games, for example if I participate in Ludum Dare (48 hour gaming competition held every few months) I could reuse this library for each game I make and still churn out games that are nothing alike. BUT, I could also turn this into a pretty cool game engine. I’m right at that tipping point, anyone have any suggestions?

Finally making progress on the water rendering! Just a quick update on what I’ve got so far before head to sleep… :slight_smile:

http://s22.postimg.org/8vvxlv70x/Untitled_1.png

Looks very nice!

Thanks! I plan on adding some movement/distortion to the water as well before considering it “finished” and moving on to something else, and possibly the ability to add sine waves as well. I’ll update once I get a little more work done to the water, but the reflection and everything is a big step from what was just static texturing. It’s nice to finally be able to see visual evidence of progress! ;D

UPDATE:
Water now ripples! Good enough for me, time for lighting/shadows and such.