Skip to content

Releases: evolutionleo/Warp

[v4.3.2] Adds lengthdir() to util/maths

10 Jul 16:26
Compare
Choose a tag to compare

a minor update, adds lengthdir(), lengthdir_x() and lengthdir_y() to util/maths.ts, similar to GML's lengthdir_x/y() functions

[v4.3.1] Fix player jitter in the demo

10 Jun 19:20
Compare
Choose a tag to compare

This minor release fixes an issue with the demo where remote player instances would jitter while moving (only noticeable when there's latency present)

[v4.3] Flexible configs!

07 Jun 05:55
Compare
Choose a tag to compare

This update introduces new server-side configs in the config.js file that allow disabling the rooms and the entities systems, as well as toggle lobbies between adding the players into play all at the same time or one by one

These are some very important changes, since they allow you to easily decouple the systems that you don't need in your game from the core of Warp framework (that is fundamentally just sending and receiving packets). Really really vital for when your game isn't a 2D platformer, or doesn't even use entities whatsoever (e.x. a card game)

Enjoy! :p
- Evoleo

[v4.2.3] WSS/SSL support

15 Apr 18:02
Compare
Choose a tag to compare

yup, secure web socket support that's right (JS client only for now sorryyyy)

[v4.2.2] ping leak fix

12 Apr 19:11
Compare
Choose a tag to compare

so there was a really dumb major bug where ping commands would never stop going around and stack up with time and eventually lag the server...

oops! :d
I am very sorry, I had no idea, I haven't tried leaving the server running for 20 minutes to see if there's a potential memory leak in the ping logic!

anyways, now it's fixed!

- Evoleo

[v4.2.1] 🔥 Hotfixes!!! 🔥

31 Jan 13:46
Compare
Choose a tag to compare

So, 4.2 was a pretty big update! And, uh, 4.2.1 is here to fix some critical issues that went under the radar!

Changes:

  • Fixes a bug with broadcastList() that would ignore the notme flag (reintroduced somewhere along the way), see #9
  • Fixes a major bug with portals and reconnecting players, that would remove/kick every player from i to length, instead of just 1 (who would've thought that Array.splice() works that way...)
  • Adds a new ip/hostname config
  • Adds npm scripts to run the server with npm run dev/npm run prod

Enjoy!

[v4.2] Lots of improvements and new features!

02 Jan 20:38
2b9a6eb
Compare
Choose a tag to compare

🗒️ Changelog: 🗒️

  • Collisions revamp. Entities can now have rotating colliders
  • (Now depending on "detect-collisions", which wraps "rbush" and "sat", instead of using "rbush" directly)
  • Change client-side collisions to check based on the "solid" asset tag rather than just hard-coded oWall object
  • New Warp Portal entity and proper room transition
  • Queue packets for later using queuePacket() (e.x. for when you receive entities while still changing rooms)
  • Position interpolation for entities to drastically reduce jittering
  • Entity positions are now automatically rounded up to 1/100ths each tick to account for 0.1 + 0.2 = 0.30000000000000004
  • Entity props and improved .yy room loading (now also loading variable definitions)
  • A critical fix that finally prevents the game from occasionally crashing when ran over WAN with a latency
  • Fixes a bug with the entities that started in the room that would load them twice into the rtree
  • Fixes a bug that would load non-solid entities into the rtree
  • Performance improvements
  • A Stress Test room with 50 boxes
  • New demo rooms to showcase the Warp Portals
  • Rooms automatically stop processing entities when there are no players present for X seconds (you can change/disable it in the config)
  • Purge all local entities on room start (GMS2) - to avoid creating duplicates when loading entities from the server
  • Bundle "entity" commands into a single "entities" command that each room is sending once per tick. Also adds meta-data to see which room sent the entities
  • Optimize the lobby packets to only send relevant info (instead of all the entities of every room)
  • Bumps the packet size header bytes from u16 to u32
  • Adds a new "initial_lobbies" config that controls how many lobbies the server creates on start
  • Adds a new "verbose_lag" config that sends warning when the server is running below its tps
  • Minor QoL improvement to the Demo's menu rooms - pressing escape now sends you back to main menu
  • Adds a "Reconnect" button in the main menu
  • Console output styling using the "chalk" library
  • Implement a gulp script to preserve newlines when building TypeScript to JavaScript, which enables me to publish (an actually humanly-readable) JS version of the server in just a couple minutes
  • Fixes a bug that would infinitely flood the global.clients list when reconnecting to an already running server
  • Fixes a typo/bug when if you used the --port command line argument it would try to assign the same port to both TCP and WS servers
  • Minor change to wrapping outside room - the object now has to be moving away from the room for the wrapping to happen
  • Adds pinging functionality

Enjoy!
- Evoleo

[v4.1.1] isOutsideRoom() fix

27 Dec 19:57
Compare
Choose a tag to compare

fixes a bug with PhysicsEntity.isOutsideRoom() that wouldn't take the provided position into consideration

[v4.1] JavaScript Server-side Physics + create-gmof-app

24 Nov 18:53
Compare
Choose a tag to compare

This release introduces the JavaScript version of the big feature-rich v4.0 update (that was previously TypeScript only)!

Also there is now an npx command to bootstrap a project with ease!
Just run npx create-gmof-app and it will automatically pull the files from the latest release!

I may have missed some bugs while testing, so if you spot some of those or just generally have any questions on the framework, please be sure to ask them in the Discord!

Have fun!

- Evoleo

[v4.0] Server-Side Physics (Pre-release)!

11 Nov 19:37
Compare
Choose a tag to compare

Adding a whole bunch of new features!!! (too long to actually list them here, will do it later)

keep in mind that this is not production ready yet, as it's not been tested, but please be free to mess around and send any feedback/suggestions/bugs to the Discord Server

P.s. TypeScript only for now :p

Hope you enjoy!
- Evoleo