Creating AI for Half-Life 2 MOD (General theory question)

G

gerbopel

Guest
Hello everyone, please forgive the extreme newbie-ness of this question. Also please bear with me as it's a fairly involved question. Hopefully someone can spend the same amount of time answering it as I have spent asking it :)

I am a very experienced C/C++ programmer. I have done a great deal of work on AI in the past. I am currently working on a dissertation in University regarding Intelligent AI Designs using biological structure simulation.

For my dissertation I am going to spend 99.2% of my time on the research and development of the AI techniques, however I would like something to demonstrate the code on when it is done. I have always been very interested in seeing how a MOD for a game like Half-Life 2 would get done, so I figured that I'd mix these two tasks together.

What I'm hoping to do is create a MOD of (to over simplify it to make my point) Pac-man. I want a first person Pac-man, no guns, no nothing, just Pac-man with a couple of ghosts. The levels will be simple to design (orthagonal walls only) and the gameplay programming will be non-existent except for the AI.

So, my question is coming now. Is it possible, within a MOD for Half-Life 2 to completely code, from scratch, all the AI logic for characters in the game. No scripting languages, no proprietary stuff for Valve, just straight C/C++ coding linked up with the Half-Life 2 libraries and built with Visual C++ 6.0?

I realize that the Source Engine is OVERKILL for Pac-man and the point is obviously not to make a game that will sell. I want to learn how developing AI for a MOD is done and the MOD will be as simple as possible outside of the AI.

So the question, again, is: Is it possible to develop some AI modules in C/C++ and have them link in with the Half-Life 2 MOD SDK, through Visual C++ 6.0?

Remember that I have a lot of experience with programming and C/C++ and AI but ABSOLUTELY NONE with MOD'ing or Half-Life 2 or Source or Half-Life 1 or anything relating to MOD'ing at all.

Many thanks for those of you that are still with me.
Gerb
 
Hey m8 :)

http://forums.bots-united.com/showthread.php?t=3301&page=1&pp=10

Check that thread out, people are just starting to figure out how to get bots in the CS:S and create a bot template... Still has a long ways to code and figure out (maybe you could help)

Oh I'm not really a programmer, but just curious, do you have the HL2 SDK? If not, purchase a copy and download the SDK, then go into the Source SDK menu item, then into Create A Mod, then Create A Mod from Scratch... that will copy over all the SDK code, I'm 99% sure there is AI coding in there.

CHEERS and good luck! :D
 
Thanks for the response, but I am not interested in making a bot for Counter Strike.

As far as I can understand it, I want to make a total conversion for Half-Life 2. I am inquiring as to whether the AI is coded entirely in C/C++ as stand-alone modules or if I would be using some proprietary scripting language or tools from Valve. My point is that all I want to have to do is write C/C++ code that I can then connect to the HL2 code and compile into a MOD. Again, I have no idea how any of this works.

Is there someone out there who knows what they're doing when it comes to coding a MOD for HL2? If so, I could sure use a few minutes of your time.

And I certainly have no intention of purchasing HL2 until I'm sure that I can do what I want to with it.
 
basically what HL2 is an executable that links the client DLL (the MOD) and provides a frontend for your mod.

It stands to reason you can link anything you want as well.. you're not limited in any way... hell, you could mod a trojan horse into the source if you were a mean bastard
 
Yeah, as far as I understand, it works so that you can with Visual C++ entirely. The inacessible parts of the game code are much of the engine, etc. However, absolutely everything that deals with the game mechanics, AI included, is compiled into a DLL file, the source for whihc is then latre open. If you create a total conversion, which you do in pure C++, you just compile it as a DLL, and that's it.
 
Back
Top