Progress made today:
* Implemented Mouse Wheel Zoom
* Created configurable buffer
* Code fixes all over to tie zoom, pan, overlays, and hex click detection together.
The PlayerAction object has been created. This object will be used to pass player actions from the player to the server.
The DiceManager has been implemented. This server-side object rolls the dice and sends the DiceResult object back to the client inside of the associated ActionResult object.
The ActionResult object has been implemented. This object contains a DiceResult object and also contains the result of every die rolled for a given action (Flop, Fail, Number of Successes, Momentum Count after action completed).
So, that leaves us with defining all of the actions possible for the player to take on the field, or in response to the results of the dice (i.e. use Momentum).
The special case is going to be the Intercept action. We'll see how that goes.
[ view entry ] ( 26 views ) | permalink |




( 3.6 / 7 )The Elfball Pitch Test Build is available. You can get the Pitch Test Build now and provide feedback on how quickly the client draws the screen, start up issues, or other things that I'd like to nip in the bud as soon as possible.
You must have an up-to-date java runtime environment to use the client. Otherwise, unzip the Flop.zip file somewhere you can get to it, open the Flop folder, and then double-click on the FlopClient.jar file.
Currently enabled keyboard commands are as follow:
Press "p" to toggle the display of hexes that the ball can be thrown in
Press "l" to toggle the display of hexes that are in-bounds and not the goal
Press "e" to toggle the display of replacement entry hexes
Press "s" to toggle the display of setup hexes
Press the arrows keys to pan the pitch around
Press "r" to reset the pan.
Known issues:
Sorry, I wanted to fix this... but for the time being do not resize the window. It will cause re-sizing issues. Something about the JFrame and the canvas interaction. I'm working it.
Also, I didn't add the zoom. For some reason, detection of mousewheel events is really spotty and the zoom is/was tied to that.
Let me know how it works for you. Be sure to let me know what kind of processor, ram, and video card you have, as well as your operating system (XP, Vista, Linux) and version of Java.
[ view entry ] ( 35 views ) | permalink |




( 3.5 / 11 )Added:
* Support for mouse events (move, clicking buttons, etc)
* Helper Functions to work with hexagons on the pitch (needed later when players are introduced)
* Support of keyboard keystrokes
Using all of the above we're just about ready for creating teams/players. At that point I'll release a copy for people to toy with and let me know what problems they find. It won't be a game by any stretch, but it will at least get feedback started.
[ view entry ] ( 36 views ) | permalink |




( 3.3 / 12 )Elfball.net roadmap
Elfball.net is the container for three separate software products:
* Flop - The Elfball.net Java client
o This is the client for both playing and observing games
o Receives events from Momentum
o Sends player events to Momentum
o Not trusted (i.e. no calculations are handled locally)
o Handles all GUI displays
* Momentum - The Elfball.net Java server
o A stand-alone server that allows players and observers to participate in a game
o Registers with Grit to allow for matches to be made
o Publishes statistics and and match results to Grit
o Trusted; handles all game calculations
o Handles loss-of-sync and disconnect of players as well as other network problems.
o Run at the command line, loads all settings from an ini file.
o Saves in-progress games
o Logs all in-game events
* Grit - The Elfball.net website
o Handles matchmaking
o Collects statistics and game results from the Momentum server
o Provides user forums and other community resources
[ view entry ] ( 29 views ) | permalink |




( 3.8 / 8 )Not a big night for the pitch appearance, but a big night for behind-the-scenes code
- All hexes are now correctly identified as in-bounds, out-of-bounds, passable, face-off, goal, rover setup, guard setup, or midpoint.
- All visual elements are zoomable, instead of just the hexes
- Code cleaned up, unused areas have been removed
Next steps, draw Rover, Guard, and Goal circles and then implement a "find neighbors" function for the pitch. After that, it is time to add mouseListeners and add detection for when a hex is clicked on.
[ view entry ] ( 141 views ) | permalink |




( 3.3 / 12 )
Calendar



