KKND 2: Krossfire Development Diary
This week I checked out what some of the programmers have been up to. Programming seems to be the great unsung end of computer games creation in that its results are not very tangible without the more spectacular graphical side of things. As a programmer you can bang your head against a problem for literally months and not have too much to show for your time at the end (except to other programmers who are probably going to be completely blown way by the neat piece of code you've wrought).
Andrew has implemented unit pathfinding, and it is markedly improved over the original game, especially for the bigger units. It checks methodically for clear line-of-sight in all of eight compass directions, retracing its steps when it hits an obstruction. It also checks the path width to ensure those large vehicles don't get stuck in narrow corridors that foot troops pass through with no trouble.
Paul has been working on the Fog of War. In KKND2 you now have the option to choose to obscure terrain you've covered but aren't currently occupying. The distant terrain appears as your units last saw itthe landscapes onlybut grayed out to indicate that you can't be sure if anything new has appeared there. Fog of War mode obviously makes the game harder, but it's optional. The way in which the terrain is revealed is more aesthetically pleasing too. In the original KKND, terrain was revealed in a kind of a square. In KKND2 it's more even and circular.
In the original KKND the landscape started off blackened out, and you could reveal the lay of the land only by heading out to explore it. Now that black "shroud" is an optional feature, so you can make the game easier as well as more difficult with these new options.
Line of sight is now a fact of life, making 3D terrain a reality. Obstacles and undulations in the landscape can block a unit's view of the surrounding areaareas the unit can't see directly are fogged out and any movement in those areas is undetectable. You can see and fire down from cliffs but you can't fire up from below them, unless you have special artillery. Holding the high ground is now an advantage that needs to be seized!
Louis is working on the network code to improve the response of network or Internet games so that KKND2 can be played effectively over a TCP/IP link as requested by KKNDers everywhere. It's not easy coding but everyone's confident that if anyone can do a good job of it, Louis can. Keeping the packet size small is not a problemit was latency that tripped us up in the original KKND. KKND2 will stream packets so that it always has a queue of them to process. This way missing packets are more likely to arrive before their absence affects the performance of the game, even on slower networks. It's missing packets on a slow network that causes the gameplay to become jerky and slow. Louis and Justin debated about whether KKND2's latency solution amounts to loose synchronization over KKND's tight synchronization. Louis says no. I conclude that Louis' solution be deemed an original solution and no more textbook comparisons be made.
Programmers Matt and Alex have been pulled off other projects to work on the KKND2 Mission Editor, which has been the most-requested addition to KKND since we first released the game. You will be able to fiddle with the staples of the game using the mission editor, which is designed to be comprehensive and easy to use. You can create your own maps, place units and buildings, import your own map tiles, and set start and victory conditions on your own missions. Everything, in short, that the imaginative and enterprising real-time strategist could wish to play around with in the game. Matt, ever enthusiastic, assures me that it's almost completeanother few weeks at most and it will be done. It will be a separate utility from the main game, so you would run it, save your new parameters and then run KKND2.
For a brief while this week, the name "Industrial Revolution" was considered for KKND2. "Agricultural Revolution" might have been more appropriate .
|< Previous||1||2||3||4||5||6||7||8||Next >|