-
Notifications
You must be signed in to change notification settings - Fork 2
cosmiczilch/AirHockey
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
############################################################################################################################# ## To compile, hit make ## To run, hit ./main ############################################################################################################################# ## Requires : SDL, SDL_image, SDL_net, freeglut ############################################################################################################################# ## Todo : V# Support Resize! and/or fullscreen V# Increase mouse sensitivity in MainMenu? V# Custom music ## Change the poller (eventManager) to 'bite off' more than 20 events at once V# Investigate memory leaks in ftgl code V# Add entry and exit functions in each gamestate that are called on each gamestate switch ## Make display lists out of mainmenu pictures, and the bats, and the puck ## Anti-aliasing : ## Investigate GL_MULTISAMPLE_ARB, , needs to create window with that pixel format? ## Try w/ bigger objects, and bigger clipping volume, in the same window ## Fall back to accum buffer smoothing V# Make player and bats and puck inits callable from game_mainmenu on transition to game_running V# i.e., Add single-use-only pattern to all loadModels( ) functions V# Add NetworkProgramming threads ## Add error checking while initialising each module, so that the game can still be played w/o ## certain modules, (example : networking, anti-aliasing) V# *** Can't run more than 1 instance of AirHockey at once!!! V# Fixed the Networking part (try to bind to another socket) V# Some issue w/ peepEvents : peepEvents fails when another udp server is running on the same socket_number ## !!! cleanUP() in NSGame* doesn't work, , and causes SDL_PeepEvents to fail ## Looks fine now. Soln. : try to bind to 2000, and if failed, try to bind to 6000 ## Move applicable stuff into globalDefs.h ## Change class member definitions from public to private where applicable V# Add textboxs for input and for credits etc V# Add controls in game_settings.h ? or keep it in game_mainmenu.h ? [edit : looks like it'll stay in game_mainmenu.h, for now] V# Have added some basic UI elements (FontPrinter, Panel, TextInput) V# Have the sub-buttons pop up in the middle of the screen w/ a CPanel around them V# Let CTextInput remain a CPanelObjek V# Add highlight/popout support for clabel V# Add pointLiesWithin/click supprot for cpanel ## TextInput is numeric and periods only for now (ip address) V# Add inputDoneHandler to TextInput ## !! Panel.enable/disableChildren doesn't work V# Add "enter remote server's ip address" label V# Add backspace support to TextInput ## Add appropriate errorHandling to checkIpAddr( ) V# Make sure that clicking on multiplayer_panel does not make it vanish; basically, add clickHandler for Panel and set it empty here ## Handle SDL_WM_GrabInput correctly to support multiplayer game on the same system; # basically by allowing 'esc' to come out of GrabInput; perhaps have 'esc' place the game in PAUSE mode AND release Grab. seems like a good idea # perhaps, have GrabInput as a user defined option? seems like a good idea V# Also, w/ reduced mouse_sensitivity, the bat doesn't move all the way to left until it is moved all the way to the right at least once; investigate ## Adjust Font to adjust w/ screen_size ## Physics V# Puck's motion (vector) V# Bats' motion (vector) V# Collission of bats w/ wall V# Collission of puck w/ wall V# Collission of bats w/ puck http://en.wikipedia.org/wiki/Inelastic_collision http://en.wikipedia.org/wiki/Elastic_collision V# Take care of bats' motion when the bat has the puck pinned against a wall ## Fix the spinning thing. Will it go away w/ lesser work_thread_anim_delay_msecs? # Have changed epsilon to 2*epsilon while dealing w/ bat2 in pauli(); this seems to help, somewhat # Explore adding a new MOVE in make_plan() to help reduce this problem V# Make sure that bat cannont move "over" the puck V# Predictive collission handling to prevent bat from moving "over" puck and puck from going "into" walls V# Convert everything to vectors V# Add elastics to bat motion V# Make sure initial position of the elastic is centered over the bat ## Fix MAX_BAT_SPEED to be configurable as "friction" (note: range-space: 1.5 - 6.0) (Note: will be needed if WM_Grab_Input() will be used) ## FIX BUFFER_FACTOR_FOR_COLLISSION_DETECTION to real value V# Bat2's y velocity is too high after changing work_thread_anim_delay_msecs from 40 to 10. Check ## Have reduced bat's mass from 4.25 to 0.25 : this reduces the "spinning" thing, and makes the collissiions more inelastic ## Revisit the bounding conditions for goal checking V# AI for when playing singleplayer mode ## Check if mouse/bat binding is good enough on any system; think about it ## Add throttle to networking delay so as not to inundate a slow network with too many packets ## Add throttle/skip if too many msgs backed up for sending in NetworkQueue; # or have a feedback between num_msgs_backed_up_for_sending and ticks in game_running.h V# Add seqNum support ## Add /smart/ seqNum handling ## If the server exe is not started before the client exe, it won't connect (at least on a single comp) ## Support themes in settings; or add themes.conf to main directory V# Make more themes V# Add background color in themes ## Add in settings: V# theme, music_volume, soundEffects_volume, mouse_sensitivity, friction, difficulty level V# Change settings panel to contain key bindings info ## Add an on-disk settings.conf file to keep settings persistent, and add friction, inelasticity, etc there V# Esc should come back to main_menu, or something V# Add in game timer, and end condition for game on number of goals V# Change board_color to 1.0 in mainmenu ## Finally, in production build : debug = 1 MOUSE_SENSITIVITY = 1/7.0 WM_Grab_Input in game_Running should be true in entryFunction() V# !! Decrease work_thread_anim_delay_msecs to 10 ## Check the time taken for work_thread_anim_delay_msecs to execute in ms ## Change puck's specular highlights and change disney's puck color to black ## Cannot have back-to-back multiplayer games ############################################################################################################################# http://content.gpwiki.org/index.php/SDL:Tutorials:Setup http://forums.libsdl.org/viewtopic.php?t=7551&sid=5cafdbd040f9e60c88ce9ae062746389 ## On windows : # Puck color is white w/ low res # Change mp3 to wav fixed w/ smpeg.dll # Networking not working # Try increasing the frame_rate on rendering thread # Write a windows README V "credits" # Color doesn't come back to white in mainMenu # Remove all printfs
About
A (single|multi)-player AirHockey game written in OpenGL
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published