Skip to content

Instantly share code, notes, and snippets.

@Odex64
Last active August 25, 2024 15:21
Show Gist options
  • Save Odex64/e88007ad96278ad87c046cdacb825bb1 to your computer and use it in GitHub Desktop.
Save Odex64/e88007ad96278ad87c046cdacb825bb1 to your computer and use it in GitHub Desktop.

SFD Suggestions and Improvements

Overview

This document outlines a list of suggestions and improvements for SFD. Each suggestion is evaluated based on its potential impact on the game and the difficulty of its implementation. The ranking system uses a 0 to 3 stars scale, where 0 stars represent the lowest rank and 3 stars represent the highest.

Ranking Criteria

  • Impact: Measures the potential benefit or significance of the suggestion to overall gameplay, user experience, or community engagement.

    • ★☆☆ - Low impact
    • ★★☆ - Moderate impact
    • ★★★ - High impact
  • Difficulty: Assesses the estimated complexity and resources required to implement the suggestion.

    • ★☆☆ - Easy to implement
    • ★★☆ - Moderately difficult to implement
    • ★★★ - Very difficult to implement

Suggestion List

Each suggestion includes a brief description, followed by its impact and difficulty ratings.


Moderation

  1. Fix Ban Evasion

    • Description: Players can currently emulate foreign IDs to bypass bans or even gain moderator access. Consider integrating more robust Steam features to address this issue.
    • Impact: ★★★
    • Difficulty: ★★★
  2. Fix Server Crash

    • Description: Cheaters can send junk packets that cause the server to lag or crash, likely due to an overflow of excessively large numbers sent by the client. Investigate and resolve this issue.
    • Impact: ★★★
    • Difficulty: ★★☆
  3. Allow Moderators to Join When a Server is Full

    • Description: Enable moderators to join as spectators when a server is full, or provide an alternative method for them to moderate the server.
    • Impact: ★★☆
    • Difficulty: ★★☆

Quality of Life

  1. Extended Profiles

    • Description: Allow players to store additional profiles when selecting their skins.
    • Impact: ★★☆
    • Difficulty: ★☆☆
    • Preview:
      Profiles
  2. Manual Votes

    • Description: Provide a simpler method for managing polls in the game.
    • Impact: ★☆☆
    • Difficulty: ★☆☆
    • Preview:
      Votes
  3. Chat Improvements

    • Description: Enhance chat functionality to behave like a terminal, enabling shortcuts like Ctrl + Backspace. Also, add a staff-only chat feature.
    • Impact: ★★☆
    • Difficulty: ★☆☆
    • Preview:
      Chat
  4. Custom UI

    • Description: Allow players to customize the UI with any color they choose.
    • Impact: ★☆☆
    • Difficulty: ★☆☆
    • Preview:
      UI
  5. Improve /give Command

    • Description: Modify the /give command to accept a variable number of arguments.
    • Impact: ★☆☆
    • Difficulty: ★☆☆
    • Preview:
      Give
  6. Mute, Kick, and Ban for a Specific Amount of Time

    • Description: Implement the ability to mute, kick, and ban players for specific durations.
    • Impact: ★★☆
    • Difficulty: ★☆☆
  7. Increase Player Slots

    • Description: Increase the maximum number of player slots to at least 12 per game, and consider adding teams 5 and 6.
    • Impact: ★★★
    • Difficulty: ★☆☆
    • Preview:
      Slots
  8. Discord Rich Presence

    • Description: Integrate Discord Rich Presence to enhance player engagement.
    • Impact: ★★☆
    • Difficulty: ★★★
  9. Improved AI

    • Description: Enhance AI capabilities to include throwing objects, deflecting bullets, using grenades, and more.
    • Impact: ★★★
    • Difficulty: ★★★
  10. Expanded Dropdown Menu

    • Description: Expand the dropdown menu from the player list to include actions like visiting Steam profiles, muting, etc.
    • Impact: ★★☆
    • Difficulty: ★☆☆
  11. Steam Servers

    • Description: Add Steam based servers.
    • Impact: ★★★
    • Difficulty: ★★★
  12. Requirements to Join

    • Description: Add more requirements to join a server, like friends-only and so on.
    • Impact: ★☆☆
    • Difficulty: ★★☆
  13. Reload for Maps/Textures

    • Description: Reload new maps and textures in-game.
    • Impact: ★★★
    • Difficulty: ★★☆
  14. Unicode Font

    • Description: Add unicode font or Russian/Chinese support at the very least.
    • Impact: ★★☆
    • Difficulty: ★☆☆

Map Making

  1. Add More Triggers

    • Description: Introduce additional triggers, particularly scripted triggers.
    • Impact: ★★★
    • Difficulty: ★★☆
  2. Individual Cameras

    • Description: Add triggers to enable individual cameras for custom maps.
    • Impact: ★★☆
    • Difficulty: ★★☆
  3. Extended Profile Modifiers

    • Description: Expand profile modifiers to include features like Jump Modifier.
    • Impact: ★★☆
    • Difficulty: ★☆☆
  4. Parallax Effect for Background

    • Description: Add a parallax effect for background tiles to enhance visual depth.
    • Impact: ★★☆
    • Difficulty: ★★☆
  5. Unlock Burnt Skin

    • Description: Allow the burnt skin to be used for alive players.
    • Impact: ★☆☆
    • Difficulty: ★☆☆
  6. Extended Effects

    • Description: Add more effects, for instance CFTXT's color, size, duration and so on.
    • Impact: ★☆☆
    • Difficulty: ★☆☆
  7. Colorable Messages

    • Description: Allow to color chat messages through scripts.
    • Impact: ★☆☆
    • Difficulty: ★☆☆
  8. Unlocked Names

    • Description: Challenges could name the player 'Johnny', this is impossible for non-bots outside of challenges.
    • Impact: ★☆☆
    • Difficulty: ★☆☆
  9. Map/Script Testing

    • Description: Simulate higher ping that actually affects your game for controlled players.
    • Impact: ★★☆
    • Difficulty: ★★☆
  10. Sound Improvements

    • Description: Pitch, speed, directional etc.
    • Impact: ★☆☆
    • Difficulty: ★★☆

Scripting API

  1. Upgrade Language Version

    • Description: Update the scripting language to a newer version of C#, as the current version is outdated.
    • Impact: ★★★
    • Difficulty: ★★☆
  2. Improve API for Player Portrait and Music Trigger

    • Description: Enhance the API to offer more options for player portraits and music triggers.
    • Impact: ★☆☆
    • Difficulty: ★☆☆
  3. Add Handling for WeaponItem.STREETSWEEPER

    • Description: Implement support for WeaponItem.STREETSWEEPER in the IGame.SpawnWeaponItem method.
    • Impact: ★☆☆
    • Difficulty: ★☆☆
  4. Better API Collision

    • Description: Improve collision handling in the API, particularly in the Area and RayCasts functions.
    • Impact: ★★☆
    • Difficulty: ★★☆
  5. More IProjectile Features

    • Description: Expand the IProjectile API to include more features, similar to the CustomProjectiles class.
    • Impact: ★★☆
    • Difficulty: ★☆☆
  6. Improved API for Chat Messages

    • Description: Enhance the API for chat-related features, for instance prevent messages from being sent in Events.UserMessageCallback.
    • Impact: ★★☆
    • Difficulty: ★★☆
  7. Fix TeleportTrigger Cast

    • Description: Resolve the issue where TeleportTrigger is not being cast to its respective class.
    • Impact: ★☆☆
    • Difficulty: ★☆☆
  8. Fix PlayerWeaponAddedActionCallback

    • Description: Fix PlayerWeaponAddedActionCallback. Picking up a weapon while blocking, does not work with this event.
    • Impact: ★☆☆
    • Difficulty: ★☆☆
  9. Improve ObjectCreatedCallback

    • Description: Make ObjectCreatedCallback detect IPlayers too, or create a separate event for the creation of players.
    • Impact: ★☆☆
    • Difficulty: ★☆☆
  10. Improve GiveWeaponItem

    • Description: GiveWeaponItem should have an optional boolean parameter whether to show the CFTXT message of the weapon being given above the player.
    • Impact: ★☆☆
    • Difficulty: ★☆☆
  11. Improve IPlayer.Gib

    • Description: IPlayer.Gib should return a IObject[] with the gibs produced.
    • Impact: ★☆☆
    • Difficulty: ★☆☆
  12. Improve IObject.Destroy

    • Description: IObject.Destroy should return a IObject[] with the debris produced.
    • Impact: ★☆☆
    • Difficulty: ★☆☆
  13. Add User Join/Leave Callback

    • Description: Add OnUserJoin and OnUserLeave callbacks.
    • Impact: ★☆☆
    • Difficulty: ★☆☆
  14. Fix IObjectGroupMarker.Spawn()

    • Description: IObjectGroupMarker.Spawn() should return a list of spawned IObject.
    • Impact: ★☆☆
    • Difficulty: ★☆☆

New Content

  1. Decapitations

    • Description: Add a visually striking effect for decapitations.
    • Impact: ★★★
    • Difficulty: ★★☆
    • Preview:
      Decapitations
  2. More Items

    • Description: Add more equippable items for players.
    • Impact: ★★★
    • Difficulty: ★☆☆
    • Preview:
      Items
  3. Weapons

    • Description: Introduce new weapons with unique mechanics.
    • Impact: ★★★
    • Difficulty: ★★☆
    • Preview:
      Weapons
  4. New Tiles & Colors

    • Description: Add new tiles and expand the color palette.
    • Impact: ★★★
    • Difficulty: ★☆☆
    • Preview:
      Tiles
  5. Zombie Animations

    • Description: Add zombie animations for players who choose a zombie skin.
    • Impact: ★★☆
    • Difficulty: ★☆☆
  6. Tier 4 Challenges

    • Description: Add Tier 4 challenges to unlock new items.
    • Impact: ★★☆
    • Difficulty: ★★☆
  7. More Official Maps

    • Description: Add more official versus/survival maps and campaigns.
    • Impact: ★★☆
    • Difficulty: ★★☆

Fixes

  1. GAMEPAD_INPUT_DISABLED Crash

    • Description: Fix the game crash that occurs when GAMEPAD_INPUT_DISABLED is true while editing keybindings.
    • Impact: ★☆☆
    • Difficulty: ★☆☆
  2. Holes in female items

    • Description: A lot of female items have holes inside.
    • Impact: ★☆☆
    • Difficulty: ★★☆

Long Term

  1. Upgrade the Entire Engine

    • Description: Transition from .NET Framework to .NET Core and upgrade from XNA to FNA. Also, remove obsolete and outdated libraries where possible.
    • Impact: ★★★
    • Difficulty: ★★★
  2. Cross-Platform Compatibility

    • Description: Move away from Windows-specific APIs to allow the game to be played on multiple platforms like Linux and macOS.
    • Impact: ★★★
    • Difficulty: ★★★
  3. Terminal Server

    • Description: Add a console server, enabling cross-platform hosting on headless Linux servers.
    • Impact: ★★★
    • Difficulty: ★★★

Conclusion

The suggestions in this list aim to provide a balanced approach to improving SFD. By prioritizing these improvements based on their impact and difficulty, the development team can focus on delivering the most valuable enhancements to the game.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment