Queen's Crook

Queen’s Crook. This is the game I have decided to write with my graphics library, as a sort of final project for my software rendering expeditions.

The game itself is going to be based around the idea that you’re a thief that works for the queen/king. The crown hires you to infiltrate the hideout of thieves who have stolen from the kingdom and your goal as the Queen’s Crook is to steal back what the thieves stole from the kingdom.

Art style is similar to Thief: The Dark Project and Dishonored. I want it to be a medieval steampunk game but leaning more on the medieval side.

I’m not expecting this project to be finished anytime soon but I thought I might as well post a thread on it so that in the future I have a place to post.

The game itself is written on top of a 3D BSP tree based world. Collision and culling are done in a similar fashion to Quake.
Big thanks to David Brackeen for his 2003 book Developing Games in Java and theagentd for generously helping me out and explaining concepts to me.

Here are some current screenshots of a little map I made using models that I made lol. The lightmaps look better without the textures so that’s why I have some pictures without textures.

The little white thing in the distance that you see in the outdoors pictures is the test entity. He’s currently a cute little ellipsoid.

Information about the code/layout

FFP (Fixed Function Pipeline) - the graphics engine
-supports most of the features in OpenGL 1.1 but implemented in software
-very fast and optimized quite well, and visual quality was still relatively maintained
-some features were added in extra. Like mixed texEnv, dithered filtering, and block filtering
-includes FFPAUX which is the equivalent to GLAUX and GLU combined
-FFPAUX has the equivalents to the GLU quadric functions, matrix functions, etc
-Multithreaded or single threaded rendering
— Engine specs/limits
----- Maximum textures - 32768
----- Maximum texture dimension - 1024
----- True color texturing unless using bilinear filtering, which only allows 256 colors (the engine quantizes the textures for you)
----- Max number of lights - 128
OSG (Old School Graphics) - this is the library that handles the Frame, Image, Input, and Game loop
-Keyboard and mouse input
-Fast basic 2D rendering (no Java2D)
-Native 64 bit/char font that doesn’t need to be loaded from external file
-Support for custom rasters (ex: 3R5G4B or whatever you’d like). Allocates byte, short, or int array depending on bit depths. Also has an option for using the best raster for the system
-Fixed-step and variable time game loops
-Fullscreen support using FSEM
FFPWLL (FFP Wrappers and Loaders Library) - the library that encapsulates the FFP structs with java objects and also includes loaders.
-Axis-Aligned Bounding Box
-Lights
-Materials
-3x3 and 4x4 matrices
-Models, including OBJ model loading
-Model Factory, for creating primitive shapes and storing them in objects
-3D Planes
-Polygons
-Vertices
-Quaternions
-Utility functions to draw polygons
-Texture loading and bitmap manipulations
-FFP Texture Memory handling, includes a key-value pair table with texture names and texture ids
-BMP image reading, including RLE8, Raw RGB, and bitfields
-TGA image reading/writing, including RLE and Raw RGB
Crook Engine (c3d) - The game engine for this game.
-BSP map
-BSP collision
-BSP map reader
-Lightmapping
-Entity Manager
-Skybox Manager
-Particle Manager
-World Light Manager

That looks really nice! It reminds me slightly of Morrowind and the overall wonders of that game.

Will the map be continually loaded as you walk around, or will you walk to the edge of the map and be—dare I say—teleported to a new map of the same size?

[quote]The lightmaps look better without the textures so that’s why I have some pictures without textures.
[/quote]
I personally think it would be cool if you left the textures out completely. Haven’t seen too many games like that before. Makes it look like a modern game whilst not ruining its wonderful “old-ish” atmosphere.

It’s not an open world game. It’s going to be mission based the same way that Thief and Dishonored are. So it’ll be one map loaded once per mission.

Leaving the textures out is a possibility. I’ll have to think about it. I’d still have to color the polygons though because having white polygons is a little boring.

Although very much off-topic—how on Earth was it you gave someone a medal? ???

Quite some years ago I was a member on JGO and as far as my memory goes, it wasn’t that difficult. You definitely deserve a medal for this! 8)

Just hit the “appreciate” button :slight_smile: Looks cool @Archive! I’m excited to see the updates as they come.

I’m pretty sure there is no appreciate button for me. I’m probably just unusually blind today :emo:

Edit: Holy piñata! It’s there now!

Hahahaha thanks everyone :slight_smile:

Your persistent plugging away at this is admirable and I salute you :smiley:

Updated main thread to give a huge breakdown of the code that goes into this game/engine