How would I go about making a completely 2D RPG?

Hey. I really would like to know how to make a completely 2D world based on guis. Is there a way to do this like games like undertale, earthbound, terraria.

image

How would I make it so whenever you press arrow keys the 2d camera moves? Also, colliding with 2d objects, and sprites?
I’m not asking for full on scripts or anything, just an idea, or a base on how to achieve this?

2 Likes

Roblox also provide a 2d generation map when creating a new experience?

I assume you’re talking about the 2d runner game. Well, that game is actually 3d and just moves the camera at an angle so it looks like it’s 2d. I’m talking about a full-on 2d game here, guis and everything.

I tried that a while ago (and eventually gave up). It is possible, but it requires a lot of drawing and scripting (and ui knowledge aswell ofc). I always save some scripts in my Notepad so here is how to make the ImageLabel (which will be the Player’s Character) to move with the WASD Keys:

local UserInputService = game:GetService("UserInputService")

local A_pressed = false

UserInputService.InputBegan:Connect(function(inp, processed)
	if inp.KeyCode == Enum.KeyCode.A then
		if A_pressed then return end -- Abort on debounce
		A_pressed = true
		repeat
			task.wait(0.05) -- Add in appropriate delay
			script.Parent.Position = script.Parent.Position - UDim2.new(0.01,0,0)
		until not A_pressed
	end
end)


UserInputService.InputEnded:Connect(function(inp, processed)
	if inp.KeyCode == Enum.KeyCode.A then
		A_pressed = false
	end
end)

Change the “A” to “D” and to “W” and to “S” and mainly just mess around with the script so it fits your liking! Btw, also make the map go the left when the Player goes to the right (when D is pressed), to the right when the Player goes to the left (when A is pressed), and so go on.

If you need more help, I’m more than happy to give you more information if you want. Have a good day!! :happy3:

1 Like

Without a doubt take a look at purple skittles, It’s not completely 2d but it is somewhat, and as well as that it’s open sourced.

Also I think you’re looking at the wrong game engine for this - roblox is built on 3d with no 2d options lmao.

Yes, I know Roblox is mainly a 3D engine, but I just thought it would be cool to replicate 2D lol
btw the game is pretty cool, i’ll be sure to check out how it works later.