First thing, is making sure you understand C++. Second, it helps if you understand how the game engine is designed and what is readily available at the top level.
The Source Engine is designed to give you quick and easy access to building different weapons (server), changing movement code (shared), adding networked variables from Server to Client (shared/separated), updating the Player class for gameplay (shared/separated), managing spawns (server), and creating custom entities (server/shared). The more intermediate areas, are working with the User Interfaces (client), VGUI and HUD, usually you use HUD for information that's always on your screen and VGUI for inputs from the player, Input Controls (client), Particle Effects (client), creating scripts for custom settings outside of hard coding (server/client), and Client To Server networking. The advanced areas of interest are, Rendering (client), Shaders (client), Prediction (client/server), and Custom Animation (client). There are of course more things you can do that I did not state, but to get a grasp of the different things and their level of difficulty helps a bit. The hardest thing to grasp as a beginner will probably be how the Client and Server communicate, there are several ways they can communicate, and I suggest you read about it on Valve's Wiki. On Sat, Feb 12, 2011 at 12:54 PM, Marcus Posey <[email protected]>wrote: > Great place to start looking is the Valve Developer Community. > http://developer.valvesoftware.com/wiki/Main_Page > > > On Sat, Feb 12, 2011 at 12:28 PM, Richard O'Brien <[email protected]>wrote: > >> I'm looking to try and learn how to program for a Source mod, but >> struggling to find resources. I'm a Computer Science graduate and the >> language I've mostly used is Java, but I just don't know really where to >> start when it comes to games programming. I've never touched it before and I >> don't know quite what's involved. Any help/pointers will be greatly >> appreciated. >> >> Thanks >> >> ------------------------------ >> Date: Sat, 12 Feb 2011 11:32:58 -0600 >> From: [email protected] >> To: [email protected] >> Subject: Re: [hlcoders] GoldSrc questions. >> >> Thanks Tom Edwards. >> >> On Sat, Feb 12, 2011 at 6:25 AM, Tom Edwards <[email protected]>wrote: >> >> >> http://web.archive.org/web/20070301012630/http://collective.valve-erc.com/index.php?go=q1_or_q2 >> >> >> On 12/02/2011 1:47, Marcus Posey wrote: >> >> Can you link to the source? >> >> On Fri, Feb 11, 2011 at 6:50 PM, Tom Schumann <[email protected]<mailto: >> [email protected]>> wrote: >> >> Actually, I just found it. >> From the article titled "Half-Life's Code Basis" by Chris Bokitch, >> originially posted on the VERC: >> >> What came first, the chicken or the egg? What is Half-Life built >> on, Quake 1 or Quake 2? These questions pop up pretty frequently, >> and neither seems to have an accepted answer. In an effort to >> extinguish the argument, I've asked the people who know best. >> About Half-Life, that is. We're not touching the question about >> the chicken. >> >> Ken Birdwell explains it like this: >> >> "It is fundamentally just a heavily modified Quake 1 engine. There >> are about 50 lines of code from the Quake 2 engine, mostly bugs >> fixes to hard problems that Carmack found and fixed before we ran >> into them." >> >> At its core, it's a Quake 1 engine. You can tell this by comparing >> Half-life's map compiling tools with those shipped with Quake1. >> You'll find very minor differences -- none of them are >> fundamental. The core rendering is architecturally identical to >> Quake1, the only "significant" change is removing the fixed >> palette, making map lighting RGB instead of 8 bit, and converting >> software rendering to be 16 bit color instead of 8 bit color, >> which was pretty easy and only required minor code changes. Our >> skeletal animation system is new, though it was heavily influenced >> by the existing model rendering code, as were a lot of our updated >> particle effects, though less so with our beam system. Decals are >> totally new, our audio system has some major additions to what >> already existed, and at ship time our networking was almost >> totally Quake1 / QuakeWorld networking but about a year later Yahn >> rewrote most of all of it to be very different in design. The most >> highly changed sections are the game logic; ours being written in >> C++ and Quake's being in written interpreted "Quake C". Our AI >> system is very /very/ different from anything in Quake, and >> there's a lot of other significant architectural changes in the >> whole server and client implementations, though if you look hard >> enough you can find a few remnants of some nearly unmodified >> Quake1 era entities buried in places. >> >> Jay Stelly adds, "We also took PAS from QW and/or Q2 and a couple >> of other minor routines I can remember (no more than 100-200 lines >> of code there). There was some feature overlap (as Ken mentions) >> like game code DLLs and colored lighting, but we developed our own >> solutions to those independent of Q2." >> >> So there it is. This should put some arguments to rest. Half-Life >> is based on Quake 1, although it has a very small amount of Quake >> 2 code. Yahn notes that "we did use some of the winsock functions >> from Q2, that's about it. Probably more than 50 lines, but nothing >> too interesting." >> >> >> On 12 February 2011 10:47, Tom Schumann <[email protected] >> <mailto:[email protected]>> wrote: >> >> I believe it's the Quake engine with some parts of the Quake 2 >> engine used very late in development. >> I can't remember where I saw that though. >> >> On 12 February 2011 09:30, Krzysztof Krysztofiak >> <[email protected] <mailto:[email protected]>> wrote: >> >> Hello there, I'm still confused about GoldSource, i mean i >> know it's based on Quake, but i do not really know if it's >> modified Quake Engine (QuakeWorld) or Quake 2 Engine. >> >> Wiki doesn't really tell to me anything because i do not >> belive Wiki, everyone can change his mind there and share >> with it with other people. >> >> So ? >> >> Cheers. >> >> _______________________________________________ >> To unsubscribe, edit your list preferences, or view the >> list archives, please visit: >> http://list.valvesoftware.com/mailman/listinfo/hlcoders >> >> >> >> >> >> _______________________________________________ >> To unsubscribe, edit your list preferences, or view the list >> archives, please visit: >> http://list.valvesoftware.com/mailman/listinfo/hlcoders >> >> >> >> >> _______________________________________________ >> To unsubscribe, edit your list preferences, or view the list archives, >> please visit: >> http://list.valvesoftware.com/mailman/listinfo/hlcoders >> >> >> _______________________________________________ >> To unsubscribe, edit your list preferences, or view the list archives, >> please visit: >> http://list.valvesoftware.com/mailman/listinfo/hlcoders >> >> >> >> _______________________________________________ To unsubscribe, edit your >> list preferences, or view the list archives, please visit: >> http://list.valvesoftware.com/mailman/listinfo/hlcoders >> >> _______________________________________________ >> To unsubscribe, edit your list preferences, or view the list archives, >> please visit: >> http://list.valvesoftware.com/mailman/listinfo/hlcoders >> >> >> > > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > >
_______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders

