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!