Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | doc(readme): connection management TODOs client-server | sternenseemann | 2020-12-29 | 1 | -0/+1 |
| | |||||
* | feat(client): connect to server render server's world | sternenseemann | 2020-12-27 | 4 | -9/+79 |
| | |||||
* | fix(server,debug-client): parse extra messages in a datagram | sternenseemann | 2020-12-27 | 3 | -20/+26 |
| | |||||
* | feat(server): inform client about timePerTick | sternenseemann | 2020-12-27 | 1 | -1/+2 |
| | |||||
* | fix(Grav2ty.Protocol): emit correct id in messageUpdateClient | sternenseemann | 2020-12-27 | 1 | -1/+1 |
| | |||||
* | doc(readme): update TODOs | sternenseemann | 2020-12-27 | 1 | -12/+17 |
| | |||||
* | feat(server): implement basic client server communication | sternenseemann | 2020-12-27 | 5 | -58/+277 |
| | | | | | | | | | | | * server will receive packets from clients and assign them a modifier * server will send clients the world and subsequent updates Missing: * implement disconnect mechanism, timeout mechanism, server will keep trying to reach clients * test actual input from client * give client something to control | ||||
* | feat(System.Ticked): make runTicked cancel-able | sternenseemann | 2020-12-27 | 1 | -3/+4 |
| | |||||
* | feat(client): start from scratch, render hitboxes using sdl2 | sternenseemann | 2020-12-26 | 5 | -143/+116 |
| | |||||
* | doc(readme): update TODOs | sternenseemann | 2020-12-25 | 1 | -0/+2 |
| | |||||
* | feat(server): draft: does sim without I/O | sternenseemann | 2020-12-25 | 4 | -7/+162 |
| | |||||
* | feat(Grav2ty.Protocol): flesh out protocol draft | sternenseemann | 2020-12-25 | 1 | -15/+54 |
| | |||||
* | fix(lib): fix Flat import and other minor fixes | sternenseemann | 2020-12-25 | 2 | -2/+2 |
| | |||||
* | feat(Grav2ty.Control): rework to emit updates instead of modifying state | sternenseemann | 2020-12-25 | 2 | -79/+60 |
| | |||||
* | chore(default.nix): override broken flat | sternenseemann | 2020-12-25 | 1 | -5/+7 |
| | |||||
* | chore(cabal): relax version bounds | sternenseemann | 2020-12-25 | 1 | -9/+9 |
| | |||||
* | chore(client): rename and deactivate for now | sternenseemann | 2020-12-25 | 2 | -27/+27 |
| | |||||
* | add protocol message and message parser | sternenseemann | 2019-10-31 | 1 | -0/+14 |
| | |||||
* | add protocol mockup for multiplayer | sternenseemann | 2019-10-29 | 3 | -0/+128 |
| | |||||
* | processTick now returns all changed objects | sternenseemann | 2019-10-29 | 2 | -19/+31 |
| | | | | | | | This currently means all Dynamic objects and all created objects. This is probably fine, since Dynamic Objects stay the same during a Tick very seldomly. | ||||
* | remove LocalMod switch to pure Id basted modification | sternenseemann | 2019-10-29 | 2 | -11/+12 |
| | |||||
* | switch to lazy StateT | sternenseemann | 2019-10-29 | 2 | -2/+2 |
| | |||||
* | expand documentation | sternenseemann | 2019-10-27 | 3 | -11/+73 |
| | |||||
* | test insertMapKey instead of unused insertSeq | sternenseemann | 2019-10-27 | 2 | -15/+4 |
| | |||||
* | hlint suggestions | sternenseemann | 2019-10-27 | 6 | -18/+17 |
| | |||||
* | simplify object update | sternenseemann | 2019-10-27 | 1 | -29/+34 |
| | | | | | | | | | | | | | * previously deletion of objects was partially done by applyControls and partially by processObject. Now a single action deletionNecessary determines if an object has to be deleted or not, which is then done by processObject. * The remaining functionality of applyControls, i. e. applying a Modification to an Object, has been moved to modifyObject, which is now less nested and doesn't return a Maybe anymore. | ||||
* | internal rework of state handling and world update | sternenseemann | 2019-10-27 | 9 | -227/+294 |
| | | | | | | | | | | | | | | * moved internal types and essential functions to Grav2ty.Core * store Objects in a Map and give them an Id * update the World using a StateT Monad instead of State-updating functions. This makes Grav2ty.Control much cleaner (although it can probably be improved), but Main uglier. I'll rework Main eventually. * Make RelGraph use Ids instead of full Objects. Still missing new props for this behaviour. * Use StateT actions as hooks instead of ExtractFunctions * Rework State, renamed to Grav2tyState * Remove TimeScaling (not applicable for planned multiplayer mode) | ||||
* | increase timeStep to 1 | sternenseemann | 2019-06-06 | 1 | -2/+2 |
| | |||||
* | correct behavior of chainFun | sternenseemann | 2019-06-01 | 1 | -2/+5 |
| | | | | add extraction of spawned objects | ||||
* | use relation graph for gravity calculations | sternenseemann | 2019-06-01 | 6 | -91/+124 |
| | | | | | | | | | this should improve performance a bit, since we don't call gravityForces for every object anymore. this change was achieved by making the relation graph directed, while enforcing that every (directed) edge is accompanied by one in the opposite direction. | ||||
* | fix bug leading to not centered viewport | sternenseemann | 2019-05-30 | 1 | -1/+2 |
| | |||||
* | enable profiling again | sternenseemann | 2019-05-30 | 1 | -0/+2 |
| | |||||
* | prevent insertSeq form overwriting an value thus computing it twice | sternenseemann | 2019-05-30 | 2 | -7/+26 |
| | |||||
* | use relation graph for collision detection | sternenseemann | 2019-05-30 | 3 | -11/+25 |
| | | | | | this prevents collision a b from being called more than one time. | ||||
* | add defaul-language for test | sternenseemann | 2019-05-30 | 1 | -0/+1 |
| | |||||
* | switch from list to seq; simplify state update | sternenseemann | 2019-05-30 | 3 | -37/+51 |
| | |||||
* | add UGraph Util and tests | sternenseemann | 2019-05-30 | 4 | -5/+99 |
| | | | | | | this utility module is intended to improve performance. in the future and might be reworked internally if i find a better way to implement undirected graphs | ||||
* | build with profiling | sternenseemann | 2019-05-27 | 2 | -3/+12 |
| | |||||
* | make scaling feel more natural | sternenseemann | 2019-05-26 | 1 | -3/+3 |
| | |||||
* | show developments of grav2ty | sternenseemann | 2019-05-24 | 2 | -1/+6 |
| | |||||
* | limit lifetime of projectiles | sternenseemann | 2019-05-24 | 4 | -37/+45 |
| | |||||
* | add support for projectiles | sternenseemann | 2019-05-24 | 4 | -30/+70 |
| | | | | currently you can only shoot yourself and the orbiting asteroid | ||||
* | update roadmap | sternenseemann | 2019-05-24 | 1 | -3/+5 |
| | |||||
* | don't collect info about destroyed objects | sternenseemann | 2019-05-22 | 1 | -2/+4 |
| | |||||
* | re-add collision and add time scaling | sternenseemann | 2019-05-22 | 4 | -16/+38 |
| | |||||
* | generalize state update | sternenseemann | 2019-05-22 | 2 | -31/+28 |
| | |||||
* | simplify renderGame | sternenseemann | 2019-05-22 | 1 | -9/+8 |
| | | | | use bimap were applicable | ||||
* | introduce Modification type | sternenseemann | 2019-05-21 | 2 | -17/+29 |
| | |||||
* | make all state types lens-enabled & implement zoom | sternenseemann | 2019-05-21 | 4 | -44/+70 |
| | | | | | | ported eventHandler to a lens-based approach, other game logic left to do. the viewport can be zoomed by using '+' and '-' | ||||
* | ignore nix build result | sternenseemann | 2019-05-20 | 1 | -0/+3 |
| |