-
Current Maximillia Code Snapshot - 07 Aug 2000 (20 MB)
The Maximillia code has been designed in Microsoft Visual C++ 6 and is only guaranteed to compile in that environment. The code snapshots will be updated every three days and changes are welcome. There are no comments, so anyone who decides they want to sift through the code and write comments for me, I will forever hold you upon a pedestal. Please inform me if you make a change that affects the game in a positive way by e-mail at mmaxim@maximindustries.com. Also if anyone is good at designing low polygon, high quality spaceships in something like 3DS Max I will happily take a look at them and possibly use them in the game. Low polygon means something under 1800 polygons if that's possible. If your suggestion turns out to be worthwhile and I include it in the second revision, your name will be displayed on the credits screen.
Version 2 of Maximillia will feature Internet play via DirectPlay. Internet play will feature up to four people involved in a session playing either free for all, or team based combat. Other features that will be added to version 2 include.
- More realistic flight
from cockpit.
- Fixed framerate and
vsync support.
- New worlds and
different ships.
- Dynamic loading of
program data, instead of one big load at startup.
- Improved graphics
and intro (maybe with per-pixel lighting in intro).
- Improved collision
detection.
- Comments
07 Aug 2000 4:13 PM EST
I have begun work on the DirectPlay system and I must say it
is very complicated. DirectX is quite the pain to work with solely due to the
COM interface. I know it makes it so DX can be used throughout VS but still, I
wish it was more like OpenGL, nice simple C calls. The Internet game will be
setup by much the same way the One Player Game is. The normal option-like screen
will come up and prompt the user to either host or join, enter the IP, pilot
name, desired plane, and the host can enter the world. Then the program will
attempt to connect to the host or start hosting and display a screen listing all
the players currently in the game. From there the game can begin. The clients
will communicate with each other by broadcasting 32-bit messages where each bit
of the dword contains information about what keys the client that broadcasted
the message is pushing. When another client in the game receives this message,
it will update where it thinks the player who sent the message is, and any other
attributes such as beams, missiles and such. Periodically, a sync message will
be sent that is much larger, and will contain the exact position of the client
and all its attributes, insuring that lag does not throw the game out of whack.
Also, I implemented a system allowing for faster changing of render options
instead of calling glEnable() all the time. My system now allows me to check to
see if the render state is already enabled before I call glEnable(), it actually
does speed the program up a little bit. For now development may stall a little,
for I am going off to college soon and need to get things organized before I
leave. I will still try to make code updates frequently. When I get to college I
will have a much faster connection which should allow an update per day, I may
even decide to host the page from my own comp, we'll see. Additions are welcome
from the public, and please send if you modify!