DEMO UPLOADED! See below!
Vortex Realms is my first large scale project made with Dark Basic Professional. I've been using DBP for 5 years and haven't made anything really playable until now, imagine that! It's a joint project with Raman Kleyn, a friend of mine from the Hogeschool van de Kunsten, Utrecht. We are both in our second year of the Game Design and Development course.
Here's some brief background information, taken from the game design document:
Description:
VR is a First Person Shooter with some RPG elements. The game takes
place across a series of ‘realms’ and every realm has 5 levels.
The game world takes inspiration from a broad range of fantasy and
science fiction, and deliberately combines weaponry, items,
enemies and locations from vastly differing periods of history. The
player can pickup and add many items to his inventory which is
unlimited in size (this is explained in the story), but may only
equip himself with two weapons at a time (plus a sword). Each realm
contains hundreds of enemies, who will try to overwhelm the player
with sheer numbers and force. The game is as a result very chaotic
and action oriented. There are however lulls in the combat which
let the player relax and go exploring for special items or secret
locations.
Story:
The player character is a young man named ____ (undecided on name)
who has never known his father, but one day is confronted by a wide
eyed man knocking at his door. The mysterious man hands him a cube
engraved with complex designs and with six glowing holes on each
face. He tells him that his father was a vortex keeper, and that he
is the last in a long line of such keepers. He explains that the
vortex cubes are powerful magical artifacts that can transport
people to alternate dimensions, known as realms, and that the realm
____ has lived in his entire life is known as the realm of earth.
There are a few Greater cubes, which are the kind that keepers
possess, and many, many Lesser cubes. The Greater Alpha cubes, like
the one he has handed you, have the ability to store an infinite
amount of items in limbo, and can also transport the keeper to any
realm of his choice. The Greater Omega cubes allow the keeper to
create entirely new realms and populate them. Unfortunately, one
such Greater Omega cube has fallen into the hands of a corrupt
keeper who is now creating armies of monsters and preparing to
invade the realm of earth. The Lesser cubes are used to keep realms
open, so by absorbing them with a Greater cube, the keeper can
destroy a realm. The mysterious man tells you that you are one of
the few keepers remaining, and that you must travel into the vortex
realms to find and destroy the corrupt keepers Omega cube.
Setting:
Each realm has a different setting, however, every realm has
several similarities: They are kept open by a Lesser vortex cube,
which must be found and absorbed to destroy the realm. They contain
a large amount of items and weapons which can be found and put
into the players inventory. Some examples of planned realms: A
zombie infested swamp, a dusty crater, the top of a wind blasted
spire, etc. There are a few important gateway realms, such as the
Sanctuary, which the player will visit several times. The Sanctuary
is a small realm which houses traders who will buy and sell items
collected from the realms. It can be used a resting place between
realms for the player before moving to the next one.
Here's the latest version of the development log, if you're interested:
30th Jan. ~ 1 hour
Started a new game project with some fresh ideas and started on the menu.
1st Feb. ~ 1 hour
Adapted and implemented timer based movement system from a tutorial.
2nd Feb. ~ 2 hours
Finished menu system basics, started work on level editor with raise, lower and raise-to matrix functions.
4th Feb. ~ 3 hours
Added wireframe option, improved editor in several respects and started blending tiles in photoshop.
5th Feb. ~ 2 hours
Added brush size options, made some more editor improvements (highlighting, mouse interface).
6th Feb. ~ 3 hours
Added water plane, water level function and fiddled with water shaders. Still looking for a good water shader.
Added some more editor interface functionality.
7th Feb. ~ 2 hours
Made several optimizations to the terrain editing for speed. Also fixed a few minor bugs and added some more
editor options.
8th Feb. ~ 2 hours
Added water level and randomize functions to the editor.
9th Feb. ~ 3 hours
Added brush size indicator, added shift key function to hold brush in one spot (useful for precision
editing). Also finally added terrain smoothing and equalize functions.
11th Feb. ~ 2 hours
Added mouse control to menus. Vastly improved terrain smoothing function. Emailed ISA form, so project
should soon start officially.
12th Feb. ~ 1 hour
Added editor preview function.
13th Feb. ~ 3 hours
Fixed a major problem to do with transparency/mip mapping on tree models. Tweaked the water shader alot,
but im still not 100% happy with it. Also added skybox.
14th Feb. ~ 5 hours
Stayed up all night wrestling with a bug after implementing a different water shader. Finally figured it
out by switching to sparkys collision dll for the editor mouse detection resulting in a much better framerate,
but still have a few problems to work out.
16th Feb. ~ 2 hours
Fixed several bugs with the new water shader. Added camera tilting when using the preview mode.
19th Feb. ~ 3 hours
Tweaked some stuff to do with texture loading. Added fog system and finally added object placement functions.
21st Feb. ~ 2 hours
Made several important improvements to the object placement functions and optimized some code.
22nd Feb. ~ 0 hours
ISA project officially started. Agreed to rewrite the project goals, I was a little too ambitious.
23rd Feb. ~ 2 hours
Worked on texture mipmapping problem, still havent solved it yet.
24th Feb. ~ 6 hours
Decided that the coding framework was too messy to warrant the label of 'framework' so I started rewriting it.
Spent a lot of time ensuring that the old code would still work with the new framework, still havent finished
that task.
25th Feb. ~ 3 hours
Made some optimizations to the new framework (which still isn't complete), got camera and terrain loading
reimplemented (now using advanced terrain).
1st Mar. ~ 1 hour
Finally got back to work with the framework to make the editor deadline (3rd March).
2nd Mar. ~ 3 hours
Further work on framework + UI, still not finished!
4th Mar. ~ 2 hours
Reimplemented water, cleaned up code structure
5th Mar. ~ 7 hours
Reimplemented ambient light, fog system and terrain lighting. Fixed some major problems with the water shader
involving camera clipping and tearing issues. Added skybox switching. Reimplemented object functions with
moving, rotating, scaling. Added underwater and color features to the water shader. I wouldn't have been able
to make these edits without the pixelshader seminar, so I'm very glad I took it!
8th Mar. ~ 3 hours
Spent some time reimplementing terrain editing, but decided that matrix to AT transformations were too complex
to get working in the time allotted. Instead I will rely solely on heightmaps and leave full terrain
deformation for another project.
9th Mar. ~ 2 hours
Worked on implementing terrain painting.
10th Mar. ~ 1 hour
Continued work on terrain painting, just about finished. Only need to add brush size selector & indicator.
11th Mar. ~ 1 hour
Brush size selector working, havent added indicator yet.
12th Mar. ~ 3 hours
Finally got the editor done, all basic requirements are in. 9 days late =/
~ Exams and preparation for them caused me to lose some time here.
6th Apr. ~ 1 hour
Started work on the load/save system.
8th Apr. ~ 8 hours
Continued work on the load/save system. Worked with Ramana on implementing and scaling his models in-engine,
we got some very nice results! Also fixed some problems with object loading/duplicate water planes that were
driving me NUTS. Did some searching for an appropriate skybox for the first level, no luck so far.
9th Apr. ~ 7 hours
Ramana finished the shotgun, so I added the weapon in first person to the game. Cleaned up entity functions,
got entity loading in game working. Worked on the first level. Fixed a major bug with the collision system in
the editor that was causing a crash. Started implementing a new fog system, because the current one ignores
shader surfaces. (very annoying)
11th Apr. ~ 5 hours
Reduced a z-fighting issue with the water. Added loading for Ramana's sword, shield and rock models. Worked on
the first level. Implemented some more of Ramana's models. Rewrote the camera physics to fit in the new
collision system, sliding collision works great!
12th Apr. ~ 5 hours
Added X and Z rotation to the editor for the graves/reed models. Attempted to add a new fog shader, no luck.
Added weapon bobbing, including proper bobbing for jumping, landing, uphill, and downhill. Added invisible
barriers for the level edges. Added weapon switching.
13th Apr. ~ 1 hour
Limited camera rotation on the X axis (no camera flipping anymore). Today is my brothers bday, Happy Birthday
Duco!
14th Apr. ~ 4 hours
Did some bugfixing work on the weapon bobbing. Added shotgun sound. Started work on muzzleflash. Cleaned up
the code structure a bit, seperated code into appropriate source files so they werent clutted into long pages.
This makes my life much easier.
15th Apr. ~ 3 hours
Got muzzleflash working properly, finally. Added footstep sounds. Worked on the first level (its taking a lot
more time than I expected). Fixed a grass color problem (had to do with ambient lighting).
16th Apr. ~ 5 hours
Made some serious progress on a grass exclusion method that lets me hide grass statics when they're too far
away. This should allow me to coat the entire ground in grass statics without any serious slowdown. Spent a
disproportionate amount of time trying to get the method to cover the entire level, but with no luck. Ill have
to work some more on this later.
17th Apr. ~ 3 hours
Put in some work on the reloading/ammo system. I just got the shotgun shells model from Ramana, intend to
apply it ingame soon, along with item/pickup code. Spent some time fixing the in game GUI to work with the new
ammo system. Added a bullet function, working great! Collision is fast with sparkys collision plugin.
18th Apr. ~ 2 hours
Added the new wall models Ramana made and did some work on the first level.
20th Apr. ~ 1 hour
Fixed an incredibly annoying terrain collision bug that was causing the player to stutter/jitter when
travelling uphill. I had forgotten to exclude the terrain from the normal collision check.
~ Moving house twice, the summer vacation & re-examinations kept me really busy during these months.
19th Aug. ~ 2 hours
I realized that in order to meet the requirements I set myself in the project documentation I would have to
give up some features such as the level editor. Instead I will focus on a randomly generated level type. I
also decided that while I was recoding the level structure I could refresh and clean up the GUI code and
implement the fog and bloom shaders. To make this all feasible I created a fresh coding project and started
importing most of the old code.
20th Aug. ~ 5 hours
Spent lots of time importing old code and making it compatible with new code. The new framework is better
organized internally, and makes adding new code simpler. After a whole day of importing and compiling and
testing repeatedly I finally got the game running again and loading a heightmap.
21st Aug. ~ 7 hours
Re-added terrain lighting. Fixed a camera bug causing the weapon models to be mis-aligned. Fixed a terrain
texturing bug that was irritating me. Added DOOM style mouselook (no vertical) for the old school players.
I also added camera recoil when the shotgun is fired, I'm quite satisfied with it. Added water splashing
sounds when walking through water. Fixed a long standing footstep sound bug.
Still working on: Water shader bugs, water zfighting and jittery movement (most likely a TBM problem).
22nd Aug. ~ 8 hours
Added weapon animations to the shotgun, added reloading and pump action sounds. Cleared up several bugs with
the reloading function while I was at it. Spent an hour tweaking the shotgun to make the animations, sounds
and muzzle flash line up perfectly. Worked on the GUI overhaul, including ingame and frontend. Add a timer to
the loading text for informational purposes. Finally imported Ramanas item models and coded a system to add
items to the game world and keep track of them. I also implemented light coronas, for extra effect.
23 Aug. ~ 4 hours
Imported and revamped the old statics (grass) system, its looking much better and the performance is vastly
improved. I also updated the water shader, took out reflection (its swamp water) and gained about 10 frames
per second. Also added tree generation. I struggled with the performance hit, havent quite figured out how
to gain back the lost fps.
24th Aug. ~ 3 hours
Decided to decrease the grass and tree density in favor of fps, because I just couldnt get them to perform
at a reasonable speed together. Added the tree line silhouette to the edge of the level, next up: walls.
25th Aug. ~ 4 hours
Added perimeter walls and pillars, also with collision boxes. Optimized some system code to keep everything
neat. Added rocks and gravestones. Added zombie animations and a test model.
26th Aug. ~ 5 hours
Added a zombie for every grave. Worked a lot on enemy AI, got the grave exit animations working well, only
I'm still having some trouble getting the collision working right while the zombie is exiting. Also got aggro
and idle states working correctly. I ran some performance tests, unfortunately my laptop couldnt handle
anything but the lowest settings.
29th Aug. ~ 5 hours
Added enemy attack AI with animation. Spent hours trying to get enemy collision system working, after several
sessions of trial and error I settled on using sphere sliding. The speed hit seems reasonable, but a lot of
tweaking is still required to get the desired smoothness. Fixed some glaring timer based movement bugs,
resulting in much better animations for the zombies and the shotgun when the FPS are less than the desired 60.
I also added some new sounds: Swamp ambience, a zombie growl and a zombie attack (the latter two are stock
DBPro sounds, and are just placeholders).
30th Aug. ~ 6 hours
Improved grass smoothing. Took advice from a tester who suggested lowering the resolution on some textures for
a small but noticeable FPS gain. Spent a lot of time on weapon impacts and particles. Added water ripples,
blood particles and spent some time debugging them. Added weapon reloading when pressing R, as opposed to only
when the clip is exhausted. Added extra zombies and fixed a bug that popped up with the new reloading. Had to
drop the blood particles when I realized they were causing an incredibly irritating bug with the fog. Im glad
I have the TGC forums to go to, otherwise trying to find this bug myself would've driven me insane.
~ School started!
6th Sep. ~ 6 hours
Started work on adding the flaregun to the game. Got everything working technically, still need to add some
graphical polish. Also need to replace flare-bullet with actual flare. Removed some of the auto generated
scenery to increase framerate. Made the zombie lunge faster and added camera recoil when being hit. Added a
damage indicator, now I just need to find a sound. Added aggro on hit to AI routine. Added a screenshot
function (very handy!). Fixed some minor AI bugs. Added player and zombie damage sounds, and switched to 3d
sound system. Implemented a hardcoded sword thrust, it's functional but needs a lot of polish.
9th Sep. ~ 2 hours
Worked on implementing a better particle system, I got quite a lot done considering the amount of time I spent.
10th Sep. ~ 9 hours
Further refine particle system, blood and flare smoke is now working properly. I'm not100% satisfied, but this
is more due to DBPro's shortcomings than my own. Added max particles variable, reminding me I need to update
the config options. Fixed several minor bugs in the weapon logic. Improved flare gun accuracy. Perfected the
water impact. Next up is dirt! Also touched up some particle artwork. Finally added a working melee attack. It
was much easier than I expected, I could have taken care of it ages ago easily. Added an exit feature to the
level generator.
11th Sep. ~ 1 hour
Added Ramana's fixed weapon models. Implemented flarebox item. Implemented zombie death animations and second
skin.
~ Took a break from coding to focus on school, which is really keeping me busy.
19th Sep. ~ 3 hours
Added shield defense animation and logic. Looking for an appropriate blocking sound. Worked on implementing a
nicer loading screen with a controls layout. Improved loading text and added debug text function.
20th Sep. ~ 1 hour
Worked on the title screen. Tweaked the shield animation.
22nd Sep. ~ 2 hours
Added burning zombies and flare explosion.
23rd Sep. ~ 7 hours
Tweaked loading screen, flare explosion and flare smoke. Also tweaked the sword and shield delay. Finally
added player death. Also added item spawning and dropping. Added vortex cube item. Added item pickup effect!
Tweaked item drop and spawn chances. For some reason I was unable to get the vortex graphic loaded in game...
The problem is bizarre and it's 1:30AM so will leave it out for now. Made a gigantic improvement to the
framerate while experimenting with the terrain size, I'm very happy! It seems to have broken items drops
from the monsters though, so I'll have to investigate it some more. Added a player health burn when above
100. Continued tweaking item spawns and drops, also tweaked some player logic. Added an objectives key and
the appropriate function. The only thing missing is the completion logic/win screen.
24th Sep. ~ 3 hours
Added completion logic with exit distance. Increased item grab radius. Fixed key press bug when winning or
losing the game. Gave the shellbox item less shells. Fixed a vexing timer based movement bug. Increased the
zombies attack damage. Added a configuration option for doom look. Added cheat code, for cheaters. Added
sounds for shield block, sword swing, burning zombie, zombie damage and item pickup.
Total time ~ 199 hours
DEMO UPLOADED! It's available on rapidshare.com, if you prefer another file host, please let me know and I'll do my best to upload it soon. There is a LOT of important information in the included readme.txt, please have a look before running the game.
VORTEX REALMS DEMO 1 (rapidshare.com)
I have recorded one video so far, it is available on youtube in low resolution and on rapidshare in high resolution. Please note that this video is already quite outdated and doesn't represent the features present in the current build:
Low Quality
High Quality
Here are all the screenshots I've released on this forum, in order from newest to oldest.