Looking for honest feedback on my racing/exploration/obby game

Hi guys. I’m looking for feedback on my game “SpeedRun 4000”. I have sponsored the game to try and get people playing it. About 1 in 3 of the ratings are downvotes and I have no idea what the main issue might be as to why. It’s a game that is aimed at X-Box Series X and Gaming PC users because it is quite visually ambitious (lots of parts, particles etc.). Anything less capable than these gaming hardware will experience longer load times and lag. I want to know if it loads properly for you. On X-Box Series X, it takes about 25 seconds once the Player Character has been “deployed”, to then load the game’s assets and be prompted with a Game loaded GUI (About 35 seconds on my Gaming PC). I want to know how long it takes for you, is it reasonable, and what gaming hardware are you using.
Other feedback that I am looking for:

What do you think the main reason/s might be for negative feedback? (My guess is that the one’s leaving a dislike are attempting to play using XBox One consoles or Laptops/Non-Gaming PCs, but what do you think?).

Is the Game’s title okay or misleading? Might it better be described as an obby? I’ve opted for “Speed Run” because the player moves fast, can sprint even faster, and the game is as much a racing game, as it is a Platformer.

Does it need more info on what to do/where to go?

Are some Roblox gamers turned off by fancy visuals? I’ve heard some Roblox Gamers actually like typical “Naffness”/Basic visuals of Roblox games.

Is it too hard?.

Might it be better to have a loading screen rather than have the player drop in and have to experience load lag, and might this be a big reason for disliking?

Thank you.

(2) SpeedRun 4000 - Roblox

12 Likes

I don’t really play obbies, so here’s my first blind impression after 5 minutes in the game

  • Game was freezing during loading, so a loading screen would help here, otherwise players will leave right there (took me ~10s for the freezing to stop, but I’m on pretty high end PC)
  • Couldn’t easily figure out what my goal is and where to go, teleport buttons weren’t very clear
  • Press X (I’m on PC) to join race didn’t do anything
  • Arrow was pointing to a colorful button but stepping on it did nothing
  • I think first time game loaded I got higher level and in-game currency for some reason, second launch - did not have that
  • Default Roblox death flow feels especially bad in obbies where you want to reset as soon as possible
  • Movement felt nice
  • Visuals do look good, except for UI
  • There should be ways to keep the visuals and improve the performance, but I’m new at that

I think it’s not the case of Roblox players liking simple graphics, it’s just that simple graphics usually mean better performance and more visual clarity. Also, games do benefit from being easily and quickly accessible (I launch bike obby and I’m playing the game in a few seconds)

3 Likes

Thank you so much. Especially regarding the Currency/Lvl occurrence, it’s more difficult to test Datastores that deal with new players. Some other pretty serious issues I need to get on top of too it would seem, lol. Thanks again.

4 Likes

No problem :slight_smile:

I wonder how are you dealing with DataStores, because that’s one part where I had the least mystery bugs. GetAsync(Player.UserId), save that stuff to Cache[Player.UserId], modify stuff there and forget until player leaves (to save the changes).

It could also be a visual bug if you have labels set to some kind of data or RemoteEvent issue if individual player data gets accidentally broadcasted to all clients and someone joined after me.

2 Likes

I use the “DataStore 2” module. I’ve heard it’s more reliable. Regarding the Player Lvl and Currency bugs, I have some ideas as to what the issue is, but can’t be sure. I think it’s because I’m looping through the players in the game using a local script to access values that are given to the individual players using a regular script. Is it the case that a local script cannot access Values (eg. Bool Values, Number Values) that are parented to Players using a regular script? I am under the impression that a local script would be able to read/use/display these values, just not change them.

Here is the local script.

local GamePlayers = game:GetService(“Players”)
local localPlayer = GamePlayers.LocalPlayer
local UIS = game:GetService(“UserInputService”)
local RStorage = game:GetService(“ReplicatedStorage”)

local SendServerDataSignal = RStorage:WaitForChild(“EventsAndScripts”):WaitForChild(“SendServerDataSignal”)

local PlayerListFrame = script.Parent
PlayerListFrame.Visible = false
local scrollingFrame = PlayerListFrame:WaitForChild(“ScrollingFrame”)

local revertValuesColours = workspace:WaitForChild(“RevertValues”):WaitForChild(“Colours”)
local ReflectiveColour = workspace.RevertValues:WaitForChild(“ReflectiveColour”)

local PlayerAndStageFrame = script:WaitForChild(“PlayerAndStageFrame”)

local RandomNumber

UIS.InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.ButtonR2 then
PlayerListFrame.BackgroundColor3 = ReflectiveColour.Value

	for i, plyr in pairs(GamePlayers:GetChildren()) do
		if not scrollingFrame:FindFirstChild(plyr.Name) then
			local PSF = PlayerAndStageFrame:Clone()
			PSF.Parent = scrollingFrame
			PSF.Name = plyr.Name
			PSF.PlayerFrame.TextLabel.Text = plyr.Name
			RandomNumber = math.random(1, #revertValuesColours:GetChildren())
			PSF.BackgroundColor3 = revertValuesColours:GetChildren()[RandomNumber].Value
			for _, frme in pairs(PSF:GetChildren()) do
				if frme:IsA("Frame") then
					RandomNumber = math.random(1, #revertValuesColours:GetChildren())
					frme.BackgroundColor3 = revertValuesColours:GetChildren()[RandomNumber].Value
				end
			end
			if plyr:FindFirstChild("CurrentStage") then
				PSF.CurrentStageFrame.TextLabel.Text = plyr.CurrentStage.Value
			end
			if plyr.Counters:FindFirstChild("PlayerLevel") then
				PSF.PlayerLevelFrame.TextLabel.Text = tostring(plyr.Counters.PlayerLevel.Value)
			end
			if plyr.Counters:FindFirstChild("NumberOfUnlocks") then
				PSF.NumberOfUnlocksFrame.TextLabel.Text = tostring(plyr.Counters.NumberOfUnlocks.Value)
			end
		end
	end
	PlayerListFrame.Visible = true
end

end)

UIS.InputEnded:Connect(function(input)
if input.KeyCode == Enum.KeyCode.ButtonR2 then
for i, plyrFrame in pairs(scrollingFrame:GetChildren()) do
if plyrFrame:IsA(“Frame”) then
plyrFrame:Destroy()
end
end
PlayerListFrame.Visible = false
end
end)

Your game has a really nice concept, and the detail in your misty woods course is great.

However, there is a lot of room for improvement with your UI. As soon as I joined your game, I felt a bit bombarded by the cluttered UI covering the whole screen.

1 Like

Thanks you for the feedback. I saw you in MistyWoods.

1 Like

i was very confused? is there like a change theme thing going on? all the textures seemed to be broken for me… just displaying loading.jpg as all the textures.

1 Like

also roblox people dont like bad graphics they like optimization and games running at 30-60 fps at least.
A good thing to remember about roblox users is 70% of them are using really old phones and laptops to play. So including a low graphics mode is a great idea as 70%ish of your audience will use it.

If you’re using a phone or Laptop the game will either not load (Script Timeout) or take a longer time. If the “Loading” decals don’t disappear and/or you don’t get a “Game Loaded” prompt after waiting for about a minute, then chances are the game failed to load. Saying that, I have set the Game settings to Console and PC only so you shouldn’t even be able to play the game on Phone/Laptop. Did you get the “Game Loaded” prompt and what hardware are you using? Thanks.

I realize and accept that my preference for jazzy visuals excludes a large chunk of potential players. If these players are choosing to leave a dislike because they are using Laptops, and the game isn’t loading after I have warned them in the description that X-Box SeriesX and Gaming PCs are recommended, then as unfair as I think that is, there’s not a lot I can do about it, or is there?

well you can shrink almost anything so it will work on low end stuff… just take all your textures make them 128x128 pixels and if you detect a player is using a mobile use that set of textures rather than the high quality ones. Or maybe you should base it on screen size – if the screen size is small use the smaller textures cos you cant see the detail anyways…
This might be a good idea because roblox isnt great at identifying what system people are using. laptops can eaisly identify as a phone if touch screen is enabled or as consoles if they are plugged into an external screen. So you really cant rely on any of it at all… And the new iphone is more powerful than ps5 so theres no easy solution…
I am using a pc, not great spec, but your game should be able to run on every system even if it is at 1 frame a sec. The fact it works on some systems but not others is very strange??? So if it was up to me i’d probs put work into optimizing the graphics rather thank keeping playing with certain devices out…

2 Likes

neways i dont wanna sound overly negative, the screenshots look really cool, as obbies go its way more creative that 99.99% of them…I’m just pushing for better graphics coding cos the more people that can play it the better…

1 Like

Sure the more players that can play the better. Textures slowing down performance aren’t the biggest problem. If I made the textures lower resolution for certain systems, it won’t really fix a thing in any meaningful way because a bigger performance issue exists and that is, moving parts. From my experience, moving parts such as turning platforms slow things down way more than adding textures to every part in a map does. A huge chunk of my time working on this game has been spent on trying to optimize performance, with a lot of success. I use a module called “Zone Plus” which I use to control when moving parts are activated (I couldn’t/can’t have every turning platform in the game, or even in a single map turning at the same time). Like I said I have made peace with the fact that I can’t/won’t pander to slow hardware. I mainly just want my game working properly for those that have the hardware. Thanks for sharing your knowledge on Laptops/phones and how they might be identified.

Hi, sorry to bother you. Could you please elaborate on what you think is wrong with the UI?

1 Like

Really don’t like obbys myself. But I like that one. Well done!
I never get any feedback off my previews, got two up now.
What is your secret, I need some mojo I guess.

2 Likes

Hi, thank you I’m glad you liked it. I don’t have any secrets. Just try to be specific about what aspect/s of your game you want feedback on, I guess.

1 Like

In general, it just looks very amateurish and messy. Elements are huge, not aligned with each other, colors are not well chosen, poor quality icons. It really doesn’t match the high quality detailed builds.

I’d go for something smaller, minimal, flat, monochrome.

Look for inspiration here: Show off your UI designs

1 Like

Some of the comments here seem super critical and a bit harsh. When I took a look I was shocked how graphic it looked. The flow was very nice and I really like the race concept along with it. Really liked that star burst and the flip jump. My system ran it fine with no lag at all. The over all palette is really nice and everything looks like you spent hours perfecting it. I’m pretty picky about that myself and you did a great job in that aspect. I hope you do well with this. (also, send me that star burst :rofl:)

Thanks for the positive feedback, means a lot. It’s my first game which ive been working on solidly for over two years now, which includes learning absolutely everything from scratch. It’s been a lot of fun learning though. Very rewarding when you get things finally working. The criticism has been somewhat fair and mostly aimed at the game’s UI, which has been thrown together fairly quickly with the aim of tidying up later.
Im sure you can figure out the star burst thing, and trust me, you don’t want any of my scripted stuff, it’s a right mess,lol. Not a single module scipt anywhere. I don’t know whether to be proud of that, or ashamed, :joy:.