crispweed
You can try this here: https://locksteparcade.com/Client
Games included in the arcade, currently:
- Neon Swarm, a take on the classic lemmings game, with multiplayer versus and coop modes
- Serpents, a snake game (where you eat food, grow a tail and need to avoid this growing tail), with inertial movement and multiplayer
- Spirits, an homage to N++, where you work together to get someone to the exit, while avoiding enemies, figuring out how to open doors, and so on
- Pilots, a multiplayer asteroids battle with homing missiles
Each game solves the network delay problem (the problem of providing immediate feedback to user input and hiding the fact that actual changes to shared state are delayed) differently, and it has been very interesting to work through a bunch of different approaches to this.
If anyone else here is working on multiplayer network games, I'm very interested in setting up a regular "play each other's games" session.
The idea is that regularly playing with other game developers will help develop a kind of 'scene' (where you get a group of people together who make work in public but really aimed at each other, pushing and unblocking one another to become bolder and better at an accelerating rate, as described here: https://www.henrikkarlsson.xyz/p/scene-creation-engines ).
If you are interested, let me know!
There's a website for this here: https://locksteparcade.com/
It's still very much a work in progress, with just two games. One is a version of the classic game "Lemmings". The other is a very minimal asteroids style inertial ship duel.
The games both use deterministic execution in lockstep across network participants, and provide interactive gameplay and smooth execution even if situations with up to quarter or half second lag times, and the methods used for this are then perhaps one interesting aspect of the project.
In each game, the local player sees their own controlled entities at current positions, and other player entities at historical positions.
In the lemmings game, the complication is that lemmings depend on their own world changes (e.g. they need to stand on a bridge piece they just built). So there is a kind of fork and merge mechanism that enables local and remote world changes to be eventually consistent.
In the inertial duel game, homing missiles have a deploy phase in which they transition between different update time frames, with exactly the same sequence of updates applied on each machine, but with these updates accelerated or slowed down to achieve the time frame synchronisation.
There is an offline part with a tutorial to go through for the lemmings clone, which gives a flavour of the thing. The networking part uses a dedicated server and is currently invite only, but if anyone is interested in trying this then please shout and I can send out server credentials..
Is There a Power Play Overhang?
Having some kind of graphic in this sharing text would feel nicer, I think, as well, somehow. (Could be just sequences of green blocks for each word, basically just showing how long the words you made are.)
Any comments on the following: https://news.ycombinator.com/item?id=22662071
How to Breathe Properly – A (Surprisingly Important) Complete Guide
Targeting open source contributions to support science for COVID19
Ask HN: Targeting open source contributions to help respond to covid-19
What open source contributions can I make, with the goal of assisting in some way with scientists responding to the new coronavirus?What I'd like, ideally, is a prioritised set of feature or change requests for open source projects, from scientists who are actually using them for covid-19 related work.Links to forums through which I could reach these scientists, and other related resources,...
Ask HN: What can remote IT workers do to help scientists respond to COVID-19?
It would be really cool to be able to get suggestions directly from scientists working in this area, but links to other resources that can help answer this question would also be great.
Booking Tickets – Michael McIntyre
..
With a great big itheberg.
For example, what is there to prevent someone from introducing a bug into an open source project, first of all, and then subsequently claiming a bounty for identifying and/fixing it?
(Maybe this can end up by forcing more careful pull request auditing for security critical projects, but that seems like a big ask..)
Automatic Object Linkage with Include Graphs:sharing code without static libs
But how about if governments provide subsidised feed centrally, instead, with the algae added?
After the initial graph search, the path is modified to avoid these obstacles locally (by pushing the path around the obstacles, essentially), before it's returned from the pathfinding query.
So the way it's set up in PathEngine this optimisation is largely hidden from application code (code that calls into the pathfinding API).
Leaving this to be handled later on, by agent local obstacle avoidance, could also work..
There's another approach you can take for continuous space pathfinding, however, which is to use visibility graphs.
See http://www.cs.kent.edu/~dragan/ST-Spring2016/visibility%20gr..., for example, for some explanation and diagrams.
This is the approach I used in PathEngine (www.pathengine.com).
A lot of people are put off by the possibility for graph explosion in situations where there are a lot of obstacles in an open environment, but PathEngine works around this quite effectively by detecting these kinds of obstacles and pulling them out of the visibility graph (and pathfinding search).
> Toxicologie : en 2012, l'Autorité européenne de sécurité des aliments (AESA)7 fait remarquer que alors que la plupart des aliments ont un taux de plomb qui a régulièrement diminué, parmi 734 catégories d'aliments consommés en Europe et analysés (145 000 analyses au total), 87 présentent encore des taux de plomb préoccupants. Le sel iodé est l'un de ces 87 aliments, il serait source - pour un consommateur moyen - de 2,4 % des apports alimentaires quotidiens en plomb. Le rapport de l'AESA ne pose pas d'hypothèse sur l'origine de ce contaminant toxique et indésirable, source de saturnisme.
So that is saying that there are some concerns, reported by 'AESA', with iodised salt containing lead.
Couldn't find any original source for that, though, so far (looking here: http://www.efsa.europa.eu/).
And compilers often let you call these instructions fairly directly, with compiler intrinsics.
With Visual Studio on Windows x64, for example, you can implement the mulul64() function with _umul128: https://docs.microsoft.com/en-us/cpp/intrinsics/umul128 (and expect quite a good speedup)
Kind of weird, but apparently people with artificial hearts that don't give a pulse don't really suffer any obvious consequences:
https://www.popsci.com/science/article/2012-02/no-pulse-how-...
> ...
> When the function blah returns, x goes out of scope, and we need to figure out what to do with its my_cool_pointer member. But how can Rust know what kind of reference my_cool_pointer is? Is it on the heap?
> ...
> If we knew that my_cool_pointer was allocated on the heap, then we would know what to do when it goes out of scope: free it!
The way this is written kind of seems to suggest that Rust will sometimes free heap memory when a reference to that memory goes out of scope, which I think is misleading.
As I understand it, this is not the case, and the point is just that Rust needs to be able to prove that nothing else freed the referenced heap memory at any point where the reference may be used.