Constructive criticism on my game?

Aight, you know the deal. I have a game that is just out of the early development stage. Now I need some people to test the basics.
Currently the main issues with the game are:

  1. Retaining players in the beginning of the server’s lifetime until another player joins
  2. Lowering lag for player’s whose location is relatively far from the server
  3. Make more ways for me to make money (yes, I am now mr. krabs)
  4. Make more ways for the player to get coins

There are some things I know I need to work on: a thumbnail, non-copyright music, matching map to music, more maps, better building (let’s be real here), better gfx, better UI design, etc. I’m currently the only person working on this project, and as a programmer I am not very skilled in anything artistic sadly. But I don’t necessarily want to make this a group project.

Anyways, here’s an external link to my game:
I appreciate any responses to help me out!


Great start so far, but I’ve noticed a few things while playing.
Note: I played this with one person

Lobby could use some work, very bare bones. Everything feels slow, I move slow, that spell casting is slow and everything just needs to speed up a bit. My laser beam spell broke. It happened when I pressed F twice, it clicked and nothing happened and I couldn’t get out of casting the spell.

Probably a few things I missed that someone else could point out for me. But what I think you need is a play tester, I know you don’t want this to be a group project as stated in your desc. , but I feel another set of eyes could help. I’m here to help if you need it :wink:

That laser beam sticking/breaking is one of my biggest bugs. I can’t seem to replicate it no matter what I do. So after pressing F twice and clicking, nothing happened?

I’ve had other play testers have the same issue. :T

1 Like

I think it’s promising, I just wish that the keyboard was more responsive. I’m not sure if this is latency on your end (using a remote event) or if the client just can’t get the inputs fast enough (inefficient scripts). It would help make the experience a lot more fluid and enjoyable.


Yeah, nothing was happening and I couldn’t cancel out of it. I could still move and jump however. Also I’m pretty sure that is how it happened, and the person I was playing with during the round, there laser beam was working fine. I also checked the dev log and there was nothing in there.

Do you know if anything else was happening? Dif you notice any lag? Did you press any other keys during the spell? Did you try clicking more?

It’s so confusing, it only happens 1/10 times but I have no clue what to do to get it to happen…

Do you think that if you had an option to switch servers where it would tell you the location of each so that you could find a server closest to you, that would make it better?

I think that it could make a difference, although I’m not sure how you would implement that. We can’t really control responsiveness if the internet connection is poor. I usually get ~ 100 ping on Roblox, which means it takes 0.2 seconds for me to see the results of something. Scaling ping is not something realistic; I think if you are checking key bindings and trying to prevent exploits, you should still keep the responsiveness at least for the GUIs that show everything. It just felt a little slow to me for some reason, but that could be because I have studio open at the same time.

Well, there are some waits between each key press that I can bring down. I mainly have those waits so you cant spam/hold keys.

Other than your average anti-noclip and anti-teleport antiexploit, that’s about it for antiexploit. The only loops on the server are: Game Rounds, Music, Antiexploit, and “Votekick.” Now, I’m not sure that’s a lot but I dont think it could slow down the server past 3-5ms…

Don’t use waits. Use a debounce and a frame counter if you want accurate timings. If you use RunService.Heartbeat then you can time exactly how many frames should be between each keypress. But even then, there’s an even better way.

Try using UserInputService.InputEnded with the debounce mechanism in place. When a user inputs a keypress, run the function that is for that keypress and set the debounce for that key = true. When the user lets go of the key, using the InputEnded event, set the debounce for that key back to false. The idea is that your function only works when the debounce is set to false.

If this is a bit confusing let me know, I tend to jumble my words together all weird. Hope this helps.

Well, I called them waits, but I do have them connected to heartbeat.

And, I can make that happen. But that wont stop exploiters, but that sounds like a good idea…

1 Like

If you are basing your game around key inputs, there is probably no way to stop exploits. It’s just better for everyone that you keep near zero latency for key inputs. The exploiters can just take out the delay and leave the rest of the users at a disadvantage with the delays in place.

For exploiters, unless they have direct access to the server, they wont be able to get past the delays. Almost everything involved in combat is on the server, mana included. That could probably be why it seems so slow, because the auto-complete waits for the server, instead of the faster client. But I have some experience securing servers, so it may be that I over secured.

1 Like

Sometimes over-securing just takes away from the user experience. Try to find a balance for this, I’m sure your game will be a hit.

1 Like

I tried to replicate it today in the training area, but nothing I did seem to work. But, the glitch happened during a match so maybe that has something to do with it?