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.
- Created a modular system to manage prices and purchases (Datastore saves abilities such as
-
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_PROTECTEDarray, 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
Δ-.
- When a player gains money, it has a shake effect + a green floating
-
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)
- Spent time making animations for:
-
Tower Generation
-
There is a folder in
ReplicatedStoragecontaining every possible stage. -
Using Lua’s
% 2operator, I check remainder for stage alignment (logic below).isRotated = index % 2 == 0rotate(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.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.