Suggestions

Alright, thanks for the tip. But still, even using very small filenames (a.wad and so on) I was only able to squeeze 5-7 more slots for a total of around 26. I will check with the hosts I know for the possibility of using letters without any extension at all.

This combined with self made packs should suffice for a good while however please look into the possibility of having a higher limit. Unimportant wads aren't much an issue as of now by themselves but them not counting anymore is a welcome change anyway.
 
Last edited:
26 is a phenomenal number, I think. Definitely significantly above what I was expecting the limit to be. Maybe I'm out of touch? Legitimately struggling to think of why people'd want that many files loaded at once, logistically. A healthy selection of characters, your obligatory Terminal instance, a handful of scripts and a few levelpacks would be less than 16, which was my first guess for the limit before I went code-spelunking.
 
Once again yes, only thanks to self made packs 26 is looking to be pretty high at the moment (consider that'd have to mean renaming them all to [oneletter].wad and having every single joiner download each one of them, which with them being self made packs would also mean pretty large filesizes).


But just to put things in perspective our "handful of scripts" collected through various sessions of listening to our joiners' requests (and sometimes writing things ourselves) currently counts 33. And that's before the few levelpacks, Terminal instance and selection of characters. Luckily, it's all in one self made pack, and now so are the characters too.
 
I've already said that over on Discord but I suppose I'll leave it here too for some more attention:
Let Lua access and do more things.

I get that the intent is to prevent scripters from massively fucking the game up in multiplayer, but it creates more limitations than it helps us, really. (Plus it's not like the game doesn't ends up desynching anyway), so here's a very small list of things that I feel Lua should be able to access that would actually help;
  • consoleplayer and displayplayer. Clientside stuff can be useful for visual effects and whatnot.
  • timelimitintics (match time limit)... why can't this be accessed already?
  • cv_pointlimit (match point limit) same as above. I may argue that Lua should be able to access every existing cvar in the game.
  • fix S_StartSound so that it works in HUD hooks. It can do that in internal, I don't see why Lua should get restricted from it.
  • V_DrawCroppedPatch could be useful. I know it breaks if used with images too big but even then I don't think this should be an excuse to prevent Lua from messing with it as it may be useful for visual effects.
  • A hook to modify player cmd input? That may seem dumb but sometimes moving the player without hacking their momentum directly while hoping that this is a 1 to 1 replica with the weird movement code for players would be nice IMO.
 
I had this on my mind for a long time and never got to write it down but...

I suggest for an "per device" input configuration rather than a "per player" one. Right now I either use my default keyboard+mouse or my Steam Controller setup, depending on how I am playing the game. The problem is that I had to map my keyboard buttons to the controller in order to switch between both modes seamlessly. This works for me alone but if I want to play local coop with someone else I have to load an entirely different profile for my controller and I most likely need to reconfigure all my button mappings again every time which is quite a hassle.

With a "per device" config I could just just set up every controller to my liking and hit start (or any button) on the title screen to register it as player one. When going to a local 2 player game the second player can also just hit start or any button on their input device and start the game. And to change controllers there could be some option for that in the ESC pause menu.

This would make input configurations much easier and more accessible to the players. If it wasn't for the Steam Controllers ability to re-map any key on any button of the controller I would need to re-configure the controlls for player one every time I want to switch input methods and that would be a real pain. And I quite like streaming my games to the livingroom tv, hence my usage of the Steam Controller.
 
2 boss ideas

1. Egg Sandworm: This boss would burrow underground and then jump out, or swing it's tail, hitting the player as well if they do not jump. In phase 2, it would try to fake you out when burrowing underground and swinging it's tail. This is a boss idea for arid canyon zone.

2. Egg Flamer: This boss would try to shoot flames at you or launch fire trails that bounce 3 times before disappearing. In phase 2, it would fly out of reach to drop fireballs straight down when hit, then fly back down to use another attack, sometimes trying to use the fire trail attack first. This is a boss idea for red volcano zone.

Hope you enjoy!
 
I thought about dash mode from fsonic actually be implemented to the game, and not only for Sonic, but for Tails, and Knuckles as well.

A Rehaul of the Title Screen background would be good too, since its starting to feel old,just like the Greenflower sky, that was one of the first edits in 2.2, if i'm not wrong.

Also, i got some gimmick ideas:

Red Volcano Zone:
Sections of the level outside of the volcano,
with lava spilling out.
Platforms that move with the lava, for example,
a lavafall, with rock pieces from the volcano floating in them.

Arid Canyon Zone:
(i have the small impression this was thought before but anyways)
An Air Glider, to cross big gaps, in high areas and etc.
Big tumbleweeds, that push you.
Mine Caverns, inside the canyons;
With mazes and minecarts everywhere.
and LOTS OF SPRINGS.

Egg Rock Zone:
Anti-Gravity Shield, only available in this level.It will be used in sections like the first part of ERZ 1.
Roboticized Signs, that once you run into them, you may be either turned around,
teleported,or you'll just stop.
as well as Slope Jumps, in Anti-Gravity Shield sections, necessary for platforming.
New Badnik: Tele-Rock.
Attacks:
Laser Gun and Teleporter.

Defense: Digital Shield: Forms up around it.

he flies down enough for Sonic and Knuckles to hit him, but alters height every 1.5 sec., Generally attacks from away.

That's all for now....
 
Last edited:
Has there been any discussion on improving the mouse movement? It feels very clunky compared in 2.1 compared to 1.09, and maybe 2.0 (I don't remember how it compares to now.)
 
Going back to 2.0 I can't stand how the game tends to lock your movement in that version, Spindashing or Simply thok-ing takes control away from you for couple valuable seconds, 2.1 is definitely an improvement over that.
 
Have the Master Server notify hosting players through the console that their server is unreachable by other players. The number of confused people about port forwarding or about how to host are just the tip of the iceberg of players who don't even know why they can't host or if they can host at all.

Furthermore, one can just look at the Master Server list at any time of the day to see one or two servers of players who don't even know that their server is unjoinable, so I have reasons to believe this change is a matter of accessibility.
 
I'll note that given the server is unreachable, do you think any packets from the Master Server would be able to reach it to tell it it's unreachable? :V

Honestly, the fix would probably work better if it was along the lines of "when you set up a server (that isn't in offline mode, maybe), start a timer. If you haven't successfully received any response from the master server in that time, tell the host that their server is inaccessible".
 
I'll note that given the server is unreachable, do you think any packets from the Master Server would be able to reach it to tell it it's unreachable? :V

The point would be that the game would be prepared to receive some sort of signal back from the Master Server, and if it didn't receive it in an allotted amount of time, it would assume that the server is unreachable in the same fashion as the Master Server list does (since that in the current version, it says you're connected to the Master Server regardless of the server being reachable or not, as long as you're connected to the internet).

So yeah, it's pretty much how you said it. I didn't explain it well.
 
How about NAT hole punching? There's already the master server, it'd be perfect to set up for it, making hosting a lot more accessible and easier.
Server connects to MS, getting assigned a port by the OS>MS tells clients not only the IP, but also the port>connections are established
 
Last edited:
Also, this was already talked about on Discord, but I'm reporting here too for the sake of record.

Exit sector behavior could be changed to toggle a "finished" flag for every player that enters it, just once per map, as opposed to constantly setting player.exiting to above 0 while standing in the sector, instead just setting it once. This would make customizing post-exit behavior with Lua much easier.
 
Last edited:
Here's a real dumb idea that crossed my mind;

What if colormaps were palette / transmaps lumps?
The game would simply use another palette to render what's inside the colormap. The problem with that would be the possibility to have more than 255 colors on-screen, breaking gifs, but on the other hand, this would allow software to render colormaps without eating away all the quality from sprites (this would also possibly make it faster to process since it wouldn't have to approximatively remap colors again), and openGL to render said colormaps in a better way than this ugly ass fog without hair tearing renderer rewrite.
Not only that, but this could allow for some really good looking colormaps, and infinite customization reguarding those.
 
Would it be possible to have a way to execute a vanilla command inside a custom one, sort of like the super() action in SOC?


This would be amazing for custom scripts that for example require permissions, for example "ban 5" could first run a check for Terminal permissions if used by a Terminal admin that isn't the host/admin, and if the check is successful then write to the host console; if the player typing it were the host it would call its normal command.


Or "name Sonic" could run a check to see if the player is not muted by a custom script and only then allow players to change their name.


Or many many many other things....
 
Would it be possible to have a way to execute a vanilla command inside a custom one, sort of like the super() action in SOC?


This would be amazing for custom scripts that for example require permissions, for example "ban 5" could first run a check for Terminal permissions if used by a Terminal admin that isn't the host/admin, and if the check is successful then write to the host console; if the player typing it were the host it would call its normal command.


Or "name Sonic" could run a check to see if the player is not muted by a custom script and only then allow players to change their name.


Or many many many other things....
Yes, but you can do this with Lua.
 

Who is viewing this thread (Total: 2, Members: 0, Guests: 2)

Back
Top