| | | Quake 2 BSP Rendering using XNA | | Written by Korax | | Friday, May 22, 2009 |
| The past few months I've been working on/off on a project that loads and renders Quake2 (idTech2) BSP files using the .NET language called C# for the program logic and XNA for input and rendering purposes.
Initially the idea was to use XNA and build from the ground up game technology to run our titles on using technologies I'm familiar with in the form of the idTech1 and idTech2 engines. Initially the idea was to try and swat two flies at once by developing tech that could carry our game titles on as well as have a clean replacement for our "Unofficial Quake Engine" (UQE) project.
The UQE project is a very personal project of mine and with it I'm sharing my passion for the idTech engines with both gamers and game developers interested in the same subject matter. UQE is not one of our primary game development objectives and its development is being managed as time permits us to work on it. The UQE project is great for expanding our knowledge on XNA and helping us build and use game subsystems we can re-use for our XNA targetted projects.
It also stands as proof for anyone out there that game development and its related technologies is completely possible in Africa and in showing she is not as dark and illiterate as the media makes her out to be. As far as my research stretches at the time of this writing, Excentrax Games have developed THE most complete XNA-based idTech2 BSP renderer out there. Yet, sadly, our renderer is not complete, it still lacks entity (MD2 and submodels) rendering as well as rendering static lightmap styles.
View my UQE Journal to read the full story as well as much more shots! :) |
|
| Quake/Hexen2 and idTech2 | | Written by Korax | | Wednesday, November 12, 2008 |
| The past few months I've been doing quite a lot of technology testing and related regarding the way forward for UQE and this is what I came up with:
Before jumping in on engine code and the likes, it might be a better idea to get clarity on the data conversion process. So I've tested by writing various conversion routines that loads classic Quake1 data and get it converted to idTech2 and idTech3 and do comparisions visually and down to the technicals and taking the time into account how long the whole process would take.
I settled on writing tools to convert Quake1/Hexen2 assets to its closest cousin, idTech2. The results are quite amazing as you will be able to see looking at my UQE Journal and its related comments where I've posted numerous screenshots on the conversion subject.
The project currently uses a slightly modified Quake2 engine, based upon the original source release. I've added classic Quake sky rendering support to the engine which is configurable when building your level or switchable on the console.
The engine also supports an all new WAL32 texture format. uqeMaps is a tool I've developed that takes only a Quake1 level BSP and MAP combination as input and writes out a Quake2 BSP, complete with external WAL32 textures. :)
The new BSP files are beight built with modified versions of the original Quake2 build tools found on zerowing.idsoftware.com The new Quake2 BSP files matches the originals by between 98% and 99% with the three most obvious benefits being the availability of lightgrids and for modding purposes the ability to perform colored lightmapping as well as textures that emit light. :)
Once we reach full conversion/emulation of Quake1 (idTech1) in Quake2 we will look at a second-phase project to rewite the technology to C#/XNA as well as looking at taking Hexen2 through the same process. |
|
| Ultimate Quake Engine : Journal | | Written by Korax | | Friday, September 12, 2008 |
| As some starter information, heres the link to the official UQE journal: Ultimate Quake Engine
The link to the journal is now also permanently created on the menu on the left hand side. The newest information is on top, so be sure to read it from the bottom upwards. ;)
To clear-up any confusion.. Ultimate Quake Engine (UQE) and Unofficial Quake Engine (UQE Hexen2) is not the same engine. The latter is a modification of the original Quake1/Hexen2 engine.
Ultimate Quake Engine is a brand new from the ground-up engine I'm working on, designed in C#, that is a combination of all the skills and experience I've built up over the years regarding the Quake architecture.
Ultimate Quake Engine will take the best features/ideas from NewHexen, UQE Hexen2 and Quake 3 Arena and put it all together in one modernized .NET/XNA based engine. |
|
| Ultimate Quake Engine | | Written by Korax | | Wednesday, May 21, 2008 |
| Like you can see by the heading, there might be a slight renaming of the project and site once the new UQE technology is completed. This technology is a huge step away from what you have traditionally known as far as Quake's C-based engine is concerned.
What is "Ultimate Quake Engine" ? Its the new Microsoft.Net C# based engine I'm working on, developed from scratch that will use Microsoft XNA. The technology will firstly be designed to emulate Quake2.
Once Quake2 emulation is successful, the technology will be extended to support secondly Quake1 and thirdly Hexen2. Through this most burning issues that specifically affect Quake1 and Hexen2, graphical and networking limitations will be lifted significantly.
Imagine being able to play, especially Quake1 and Hexen2 with the same ease you would have played Quake2 and moreover Quake3 over a network or the internet. Microsoft XNA also provide the possibility of have an XBox360 version of the engine, and thus the chance of having Quake1, Quake2 and Hexen2 playable on the Xbox360.
The new UQE engine is actually part of our game development company Excentrax Games' current project but these three games are so close to me personally, that the project was to not only develop a classic-styled FPS engine but also be able to run actual classic FPS games on it.
Keep an eye on my developer journal to stay upto date! Emulating Quake |
|
| Development Status | | Written by Korax | | Tuesday, March 11, 2008 |
| Just to give an update on what has been happening:
I have been doing a lot of reading up and research on Quake1 and Quake2 architecture. Since I'm writing an emulation game engine, I'm looking at the possibility of using the Microsoft .NET framework in addition to XNA using technology and architecture based on the Quake2 engine design.
Up until now I have done a few subsystem already, like the CVAR system based on Quake2 that will be used as a start in the Quake upgrade. Once that works well it will be extended to cover Hexen II as well. :)
So why do it this way? Well, I would like to see Quake1/Hexen2/Quake2 running on any .NET platform, 32bit or 64bit and ultimately have the same networking capability given to Quake1 and Hexen II that Quake2 has.
Obviously a very radical project to be taking on! :) |
|
| My Bad! :( | | Written by Korax | | Thursday, December 06, 2007 |
| I think apologies are in order for taking this long to write a news post..
I'm not dead, the project is not dead, but quite a lot unforseen circumstances got in the way of an earlier release of the updated UQE Hexen II and UQE Quake engine.
The development of the www.sagamedev.com website took longer than I anticipated, and there was some business pressures I needed to deal with so our company can make some money and help keep UQE online.
Another culprit taking up my time lately, its not a bad thing, is I'm working on establishing my own game development company.. that is a hell of a lot of work! :)
Rest assured, I'll be getting my hands dirty with some Hexen/Quake code pretty soon! :) |
|
| UQE Hexen II v1.14 in Development! | | Written by Korax | | Friday, July 27, 2007 |
| It's been a long time coming, but Im happy to announce that the next version is in development and should be ready in the coming few weeks!
Updates done to this new version of the UQE Hexen II engine will also be ported to the new UQE Quake engine that will also be due soon. ;)
A forum thread has been created for requests the community might have for this coming release of the UQE Hexen II engine. |
|
| Upgrading to Dedicated Server | | Written by Korax | | Thursday, May 03, 2007 |
| We are in the process of moving SAGameDev and Unofficial Quake Engine to our brand new Dedicated Server! :)
Updated versions of all four development sites have been successfully installed and configured. Earlier today all the DNS entries have been updated to point to the new Dedicated Server.
If you are experiencing any problems opening any of these sites successfully, please be patient as the DNS propagation is underway and everthing should return to normal in the next few hours. ;) |
|
| Work In Progress | | Written by Korax | | Saturday, January 20, 2007 |
| These past few months was pretty rough! For most of the part I was busy working on developing and releasing online South Africa's only real game development website: "South African Game Development", www.sagamedev.com
I'm still doing some work to finalize it, not too long from now I will be returning to active UQE Quake1 development since the UQE Quake1 engine update is very close to completion.
There is also a few bugfixes and enhancements that will be done for UQE Hexen II that I have been working on, that is just waiting to be implemented! :)
Further plans are to do some enhancements to the UQE website to improve its performance and looks, so watch this space! :) |
|
| Breaking the silence... | | Written by Korax | | Monday, October 30, 2006 |
| I'm sure some of you are probably wondering why it has been so quiet regarding the latest happenings to the UQE family of engines, since there has been no new news for more than a month.
The past month I've been distracted a lot from active UQE Quake engine development since I'm currently busy develping the new www.sagamedev.co.za (South African Game Development) website. All the free-time I have is being invested into this project, since the new site needs to be launched in the coming few weeks.. before end of November.
The development of the new SAGameDev site is going well and it should be ready to go online in the next week. Once it is running stable, I will once again be actively doing UQE development. This means that I'll probably be running late with the launch of UQE Quake by a month about.
This means that UQE Quake should be ready for launch by February. |
|
| Messageboard upgrade completed. | | Written by Korax | | Wednesday, September 20, 2006 |
| After numerous reports by the community and me responding to those problems to try and rectify them, it was decided to get a far better solution to the problem.
I received an update from the forum developers and its been successfully implemented. The forum has been upgraded from version 4.1.3 to version 4.1.4, which should now resolve for one the spellchecker that wasn't working.
One of the biggest issues was that from time to time the messageboard was getting errors relating to the fact that it wasnt running in the root, since it sometimes looked for resources in the wrong locations.
It has been moved to http://forums.quake-engine.com which should have it run a lot more stable than previously. |
|
| UQE Quake project announcement. | | Written by Korax | | Monday, August 21, 2006 |
| Since Hexen II can now be described as a stable, working engine, the time has come to let all of you know that theres a new project in the pipeline. That project would be UQE Quake!
Development on the UQE Quake engine kicked-off a few days ago, and its feature-set would be very simmilar to that of the UQE Hexen II engine.
If theres anything specific you need to have in the "know", don't hesitate to post your opinions or feedback in the "Wish List" and "Bug Report" forums in the "Quake" category on the messageboard. |
|
| UQE Hexen II documentation updated! | | Written by Korax | | Monday, July 31, 2006 |
| The documentation has been updated with everything needed to make full use of all the new features in UQE Hexen II.
Added to it is some more "How To" entries regarding building new maps for the game. Also included is a list of newly added Commands (cmd) and Console Variables (cvar), including a description of what they do as well as if its saving to the config and what its default value is.
Don't hesitate to email if there is anything you think I should add to it! :) |
|
| UQE Hexen II v1.13 hotfix and build tools released! | | Written by Korax | | Tuesday, July 25, 2006 |
| There was alot of feedback since the initial release of the UQE Hexen II engine, some of which was some teething bugs that should have been in the initial release from the start.
If you have downloaded your copy of UQE Hexen II before 20:00:00 (GMT+2) on the 25th July 2006, you would need to update your copy of UQE Hexen II.
It was decided to fix these bugs and throw in a few extras and release this hotfix to the engine. This update brings the current version of UQE Hexen II to perfection with the accompanying release of the build tools.
Theres quite a bit of changes and additions done to the build tools. The most significant of those is the ability of the BSP tool to extract the internal BSP textures to external HWAL (UQE Hexen II WAL) texture files!
View the change log for complete list of changes to the engine and build tools.
The fully updated documentation for the engine and tools should be available in the next few days. |
|
| UQE Hexen II documentation now online. | | Written by Korax | | Thursday, June 22, 2006 |
| The documentation is finally ready for view or download on the Hexen II downloads page.
It contains the basics of what has been changed in the engine, so keep your H2MP Help documentation handy, since this doesn't replace the original documentation, it just adds onto it.
Currently it contains a quick introduction to the engine, the installation notes, a few tips on how to get some of the new features working, aswell as some developer information regarding some changes that was done to the Server Protocol.
The documentation will be updated on-the-fly, as necessary. Proper announcements will be given when the documentation gets updated.
Just one of the things that would get added to the documentation soon is a list of new commands (cmd) and console variables (cvar) and what their respective functionality is.
Any suggestions to what else should be added to the documentation is more than welcome! |
|
|
| |
|
| Featured Screenshot |  | | Quake 2 |
|
|
|