You are browsing as a guest. Sign up (or log in) to start making projects!

11h 24m 43s logged

Devlog #2

Between the last devlog and this, I built majority of features + frameworks.

List of things completed in this devlog

  • Shop System (Hyperlink between abilities and one-time-use purchases)

    • Created a modular system to manage prices and purchases (Datastore saves abilities such as Double Jump & Block).
    • UI animations:
      • Zoom in with background blur when opening the shop.
      • Inverse animation on close.
  • Complete Combat System

    • Players can push each other, and they can also purchase the ability to block.

    • Done using DOT product + magnitude detection.

    • Rewards 50 cash.

    • Blocking simply fires a remote communicating to the server that a player is blocking. On attack verification, if the player is in the CURRENT_PROTECTED array, it prevents damage + ragdoll, and instead plays a thud sound effect.

  • Datastore

    • Managing money, wins, and how many slaps a player has.
    • This is important for many things, eg purchasing, gaining / losing money.
  • UI Elements (Currency, Winning, Kill Feed)

    • Currency

      • When a player gains money, it has a shake effect + a green floating Δ+ which promptly disappears with a sound effect.
      • Losing money does the same thing, but in red with Δ-.
    • Winning

      • See image attatched :D
    • Kill Feed

      • Created a kill feed with randomly generated text.
      • Using RichText, I also made the attacker and victim have different colours.

      This works through a RemoteEvent being fired to all players. Example messages:

      {{attacker}} just <font color='rgb(122, 200, 255)'>REKT</font> {{victim}}

      {{victim}} bit the <font color='rgb(122, 200, 255)'>DUST</font>

  • Abilities & One-Time Purchases

    • Abilities work through datastore management.
    • Purchased abilities are saved, and on CharacterAdded, their LocalScript gets inserted into the player’s character.
    • One-time purchases simply fire a RemoteEvent (with sanity checks to verify the purchase) which then completes the action.

    Current abilities

    • Double Jump
    • Block

    Current one-time purchases

    • Kill All
    • Ragdoll All
    • Low Gravity
  • Animations

    • Spent time making animations for:
      • Push
      • Block
      • Double Jump (flip animation)
  • Tower Generation

    • There is a folder in ReplicatedStorage containing every possible stage.

    • Using Lua’s % 2 operator, I check remainder for stage alignment (logic below).

      isRotated = index % 2 == 0

      rotate(stage, isRotated and 180 or 0)

    • Then, I simply calculate the current tower height and place the new stage directly on top.

    • Shuffling stages is also straightforward, I use math.random on table index.

  • Winning

    • The server fires a RemoteEvent telling every client that somebody has won, rewards the winner, reshuffles the tower, and respawns every player.
    • The tower also automatically reshuffles every 600 seconds (10 minutes) if nobody wins.
  • Stage Elements

    • Added the following stage elements using Roblox’s CollectionService tag system

I also made ~ 10 stages (with own quirks, eg not being able to jump). Spent a lot of time on sound design aswell.

Video: https://www.youtube.com/watch?v=WwGzDpOlbbk

1
4

Comments 0

No comments yet. Be the first!