| |
Acabodera Wars
Christopher
Rickman
CSC1 Senior
Project, Fall 2000
Advisor: J.
Dean Brock
Project
Goal: The ultimate goal of this project was to create a computer
game, which would be playable between two opponents over a network.
Specific design goals were the development of a method of
establishing and maintaining a connection between two client
programs, an easy to use and visually appealing interface, and game
design that's both simple to understand and fun to play.
Process:
- Finding
a starting point This project's beginnings are in a story
written by a friend of mine, Chris Slempa, who is a Literature
major here at UNCA. After writing the story, he had an idea for
a game based on it. Although many changes were made, his basic
idea was the starting point for this project.
- Making a
connection Because the project would require Java
applications to send messages to each other, I began work on
writing a class that could accomplish that. The final project
uses a CGI script located on a server to establish an initial
connection between the two client programs. Once it does that,
the client programs open direct sockets to one another in order
to exchange messages.
- Building
the interface Before anyone can play the game, there has to
be an interface. It was decided that it would be a graphical
interface. I composed the interface using Java objects such as
buttons and progress bars, as well as images that I drew using
an image editing program. Methods were also implemented for
updating components and animating the images.
-Deducing
the logic After deciding on what the game would do, I had to
make it do that. In order to implement the game logic, I broke
the game's functionality down into several different actions it
could take, with separate conditions for each action. Though the
algorithms for some actions got very complicated, the design was
able to be realized in a playable form.
This project was
a worthwhile experience for me, since it allowed me to expand my
knowledge and experience with Java, Perl, and general networking
concepts. It also gave me an appreciation for what it's like to work
on a large project, as this is much more complex than any other
software project I've worked on in the past. I expect this
experience to good stepping stone toward future software projects I
may be involved in after UNCA.
|