Software Engineering : What they don't teach you
Throughout the education of a computer programmer, he picks up a number of
computer languages and algorithms from class or books. If he's lucky, he'll
also learn the art of learning so that he can rapidly acquire new
skills to keep up with new demands in his career and the industry in general.
Unfortunately they just don't teach the important stuff, the skills that
make a decent worker into an effective programmer: real-world debugging, design
and management of large scale projects, and interacting with other developers.
The format of the Ambrosia Times has changed. We have added a discussion
board, so you can post responses to the following articles. I welcome your
feedback.
Writing Networked Simulations (can you say "games"?)
It seems everybody wants to write Doom or Quake clones -- and while there are
plenty of articles on writing 3D graphics engines, most networking guides are
just tutorials with sample code for BSD Sockets. Granted, it's possible to
drop in some code and make it work, but the best networked games are designed
from the ground up -- the engine and the networking tied closely together.
This collection of articles defines some basic networking concepts, describes
how to solve common networking problems, and examines several important
design issues. The content is aimed at both the novice and expert network
programmer.
Hosted by Ambrosia Software -
Maintained by Matt Slot -
Updated 8/1/01 -
Feedback welcome