|
The Frontier is the third large application that I developed. This
is by far the first game that I designed that really looked interesting
- with the exception of the graphics. The largest implementation flaw
that I made was that I made the app procedural-oriented, even though I
had just read about what classes are. I have modules exceeding 5000
lines in length - overall, I have 15,000 to 20,000 lines of code in
modules! The Frontier is a foreign-planet game where you can build
about 30 kinds of vehicles and 150 buildings (if you include
upgrade-type buildings). There are also about 250 different topics of
research that may be researched between three different types of
research facility. The data backbone for the GUI and game units was
implemented rather well for a procedural-oriented implementation. There
are three layers - V1, V2, and V3. V1 is arrayed 1000x1000 or whatever
the may dimensions are. The V1 layer holds terrain information, lava
information, and a pointer (not a pointer data type, but a conceptual
pointer) for the V2 layer. If there is a vehicle or building at the
location, the pointer pointed to a member in the V2 layer. The V2 layer
(arrayed to 10000) contains graphical information that overrides terrain
graphical information when the GUI is "drawn" (the GUI is a grid of
icons that are pieced together to form images (about 500 icons to the
graphical display) and points to the V3 layer. The V3 layer holds unit
information, such as the building type or vehicle type. With this
implementation, up to 1000 units can be built, up to 10,000 / 100,000
map tiles can be filled with these units (most buildings are larger than
1x1 - some can be as large as 10x8!), and up to 1,000,000 map tiles can
exist. This application comes with a map creation tool. Unfortunately,
this application was going to support network play and computer players,
but these components were never implemented completely - or even near to
it - so, once again, not much use - but a great stepping stone! This
application worked well in its old environment, but works conditionally
in its new environment. To see images from The Frontier and a movie
clip, click
here (recommended ONLY for broadband connections (DSL, cable
modem, wireless T1 (a T1's fine too), etc. - not a modem).
The Frontier 2004 was a large test project to test the feasibility of
using a complex, transaction-intensive database backbone for
inter-application communications. The Frontier 2004 support multiple
human players between different computers. Unfortunately, the
performance issues in doing so hindered the completion of the project
(although it does actually run and allow the users to build). Since
Visual Basic.NET runs as an interpreted language on the .NET Framework,
graphical performance was a huge issue. Although this project was
never completed, the project was a complete success. The purpose of
this project was to determine how powerful a database could be in
transaction-intensive applications where timing was critical. The
results of this project suggest that a database is a good choice for a
VERY wide variety of applications where inter-application communication
is necessary. The database, in this project, was capable of handling
hundreds of transactions a second and responding in milliseconds to
querries. |