Interview with Rick Johnson on HexenC

Inside3D
 • Front Page
 • Articles
 • Downloads
 • Forums
 • Hosting
 • Help Wanted
 • Interviews
 • Reviews
 • Staff

 
Allied Sites
 - AI Cafe
 - Bot Epidemic
 - Dark Places
 - Flat Earth
 - FrikBot
 - Ghoulish Art
 - Kilbert3D
 - Quake Info Pool
 - QSG: Quake Standards
 - Rusted Fork
 - Stroggs Gone Mad
 - More...
 
Quake
 - Getting Started
 - QuakeC Specs v1.0
 - QuakeC Tutorials
 - Quake Mod Index
 
Quake II
 - Getting Started
 - dll Sourcecode
 - Coding Tutorials
 
.dll Central
 - Getting Started
 - Learning
 - dll Primer
 - dll in C
 - dll in Delphi
 - Compilers
 
Jedi Knight
 - Getting Started
 - COG Specs
 - Sound Specs
 - Tutorials
 
Level Editing
 - Tutorials/Tips
 
 
Telefragged!!!
Hexen 2 interview with Rick Johnson! A Quite interesting interview, mainly about HexenC, the Hexen2 programing language. The Interview was done by Drywall

Rick Johnson Interview |

Drywall> Ok, first, and most obvious question, why did you choose to build on the Quake-C language rather than use C & DLLs?

    Rick-Johnson> As of about a month ago, id hadn't made the C scripting external yet - it was still be compiled directly into the code. So we really didn't have a choice about using the quake-c scripting language. Though I've seen what id has done so far in the regular c scripting, and it looks very nice. If we had another 3 months to the project, we probably would have converted everything over.


DW> Do you feel that Hexen2 has suffered from using HexenC? How?

    RJ> There are speed issues, as running the scripting language will never be as fast as directly compiled c code. There are also more annoyances that you have to live with in the hexen c language vs regular c (no case statements for example). We also hit many limitations that we had to extend in the language, but overall, I don't feel Hexen 2 has suffered.


DW> How did the limitations of QC effect Hexen2? Were there any features that you were not able to write in because of it?

    RJ> Pretty much anything that we needed, we wrote - we extended the Hexen C language quite a bit and added a bunch of new builtins. People on the net have always wanted file support, but there are just many problems with quake c / hexen c that make this difficult to implement.


DW> In what ways does HexenC improve upon QuakeC?

    RJ> We added arrays (constant read only), new mechanisms for dealing with frame definitions and showing of frames, 30+ new builtins, += -= *= operators, normal function definitions (void abc(void) ), unions, and other things I'm not remembering.


DW> Is there anything in using a language that is written specifically for a game that makes it inherently flawed, or is it merely the quality of the language written?

    RJ> A lot of games have always had a scripting language, though they were never released to the public. A scripting language allows you to accomplish a lot more, while making it easily extensible and flexible, though there are speed issues involved.


DW> Can you give us any information on Raven's upcoming projects? A Hexen 3 maybe? And will you bother to make any attempt to allow backwards compatability with HexenC patches?

    RJ> I'm sure there is going to be a sequel to Hexen 2, but as for the other projects, those have not been decided yet. As in the past with sequels, we start completely over, so we just have the Hexen 2 codebase, and then a completely new codebase for Hexen 3, so this won't make it difficult, just finding the time necessary.


DW> Is the HexenC code written for Hexen2 clean & commented for us patch makers to understand, or is it rather messy like ID's QC code?

    RJ> It will probably be in a little better state than id's, but there are hardly any comments in the code right now. As of right now, the .HC files total 1.7 megs, so that is a lot of code for us to clean up, so it may not ever get done.









UGO [an error occurred while processing this directive]

The Inside3D content and design is copyrighted by the Inside3D team, and may not be re-produced or copied without proper consent. All rights reserved. Any work credited to any author not part of Inside3D is copyrighted by that author. If you have any feedback, suggestions or flames please send it in to Inside3D or the author. Inside3D is hosted by telefragged and the design was originated by project-9.


.