about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* doc(readme): connection management TODOs client-serversternenseemann2020-12-291-0/+1
|
* feat(client): connect to server render server's worldsternenseemann2020-12-274-9/+79
|
* fix(server,debug-client): parse extra messages in a datagramsternenseemann2020-12-273-20/+26
|
* feat(server): inform client about timePerTicksternenseemann2020-12-271-1/+2
|
* fix(Grav2ty.Protocol): emit correct id in messageUpdateClientsternenseemann2020-12-271-1/+1
|
* doc(readme): update TODOssternenseemann2020-12-271-12/+17
|
* feat(server): implement basic client server communicationsternenseemann2020-12-275-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-ablesternenseemann2020-12-271-3/+4
|
* feat(client): start from scratch, render hitboxes using sdl2sternenseemann2020-12-265-143/+116
|
* doc(readme): update TODOssternenseemann2020-12-251-0/+2
|
* feat(server): draft: does sim without I/Osternenseemann2020-12-254-7/+162
|
* feat(Grav2ty.Protocol): flesh out protocol draftsternenseemann2020-12-251-15/+54
|
* fix(lib): fix Flat import and other minor fixessternenseemann2020-12-252-2/+2
|
* feat(Grav2ty.Control): rework to emit updates instead of modifying statesternenseemann2020-12-252-79/+60
|
* chore(default.nix): override broken flatsternenseemann2020-12-251-5/+7
|
* chore(cabal): relax version boundssternenseemann2020-12-251-9/+9
|
* chore(client): rename and deactivate for nowsternenseemann2020-12-252-27/+27
|
* add protocol message and message parsersternenseemann2019-10-311-0/+14
|
* add protocol mockup for multiplayersternenseemann2019-10-293-0/+128
|
* processTick now returns all changed objectssternenseemann2019-10-292-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 modificationsternenseemann2019-10-292-11/+12
|
* switch to lazy StateTsternenseemann2019-10-292-2/+2
|
* expand documentationsternenseemann2019-10-273-11/+73
|
* test insertMapKey instead of unused insertSeqsternenseemann2019-10-272-15/+4
|
* hlint suggestionssternenseemann2019-10-276-18/+17
|
* simplify object updatesternenseemann2019-10-271-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 updatesternenseemann2019-10-279-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 1sternenseemann2019-06-061-2/+2
|
* correct behavior of chainFunsternenseemann2019-06-011-2/+5
| | | | add extraction of spawned objects
* use relation graph for gravity calculationssternenseemann2019-06-016-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 viewportsternenseemann2019-05-301-1/+2
|
* enable profiling againsternenseemann2019-05-301-0/+2
|
* prevent insertSeq form overwriting an value thus computing it twicesternenseemann2019-05-302-7/+26
|
* use relation graph for collision detectionsternenseemann2019-05-303-11/+25
| | | | | this prevents collision a b from being called more than one time.
* add defaul-language for teststernenseemann2019-05-301-0/+1
|
* switch from list to seq; simplify state updatesternenseemann2019-05-303-37/+51
|
* add UGraph Util and testssternenseemann2019-05-304-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 profilingsternenseemann2019-05-272-3/+12
|
* make scaling feel more naturalsternenseemann2019-05-261-3/+3
|
* show developments of grav2tysternenseemann2019-05-242-1/+6
|
* limit lifetime of projectilessternenseemann2019-05-244-37/+45
|
* add support for projectilessternenseemann2019-05-244-30/+70
| | | | currently you can only shoot yourself and the orbiting asteroid
* update roadmapsternenseemann2019-05-241-3/+5
|
* don't collect info about destroyed objectssternenseemann2019-05-221-2/+4
|
* re-add collision and add time scalingsternenseemann2019-05-224-16/+38
|
* generalize state updatesternenseemann2019-05-222-31/+28
|
* simplify renderGamesternenseemann2019-05-221-9/+8
| | | | use bimap were applicable
* introduce Modification typesternenseemann2019-05-212-17/+29
|
* make all state types lens-enabled & implement zoomsternenseemann2019-05-214-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 resultsternenseemann2019-05-201-0/+3
|