I’m not planning on actually recreating any sections of the game itself, just thought it’d be cool to see how much of Undertale’s ‘system’ I could recreate in Roblox. Still very wip but here’s what I got done so far:
Accurate collisions (only rectangles/squares for now though)
Movement system
Saving stats & inventory system (it’s not exactly very demonstrated but the stats are all saved in a datastore, getting sent to the client for the menu to update them every frame using an UnreliableRemoteEvent)
Overworld menu (40%) (the core part of it and all the menu states are done, but I still need to make the functions for items and phone calls)
Textbox system (Just need to make portraits work and add some sort of “wait”/“yield” command for commas and periods, but other than that it’s basically done)
Interactable objects (with and without collision)
Here’s a video showing my progress (it’s over 10 MB so I had to upload it to a file hosting website, that’s why it says ‘external media’)
Gosh, I love recreations like this in roblox that are actually good. This is good, at least for what it looks like, so far
Noticed a thing with the movement though. Not sure if undertale had this problem, I never played it, but your movement should be normalized. If you notice, you move faster when moving diagonally, versus just one direction.
If you’re using Vector2s for the movement, don’t forget to use Vector2.Unit on it to make the movement smooth (if you’re not using vector2s, square-root both X and Y values).
Other than that, it looks very nice. I’m interested to see how the tiles are made programmatically
Thanks!
I did actually notice the problem with the movement (not from noticing that walking diagonally is faster, but from seeing that when walking diagonally while colliding gave the player a huge speed increase, which I used a pretty hacky method to fix), but I couldn’t really figure out how to fix that. I’ll try your suggestion, though.
As for the tiles, I made the map using a program called tiled which is used to create tilemaps and tilesets, and since it allows for exporting to .lua files, I wrote a modulescript that could read those files and then draw the tiles & objects onto the map. This is how the map looks like in the program:
For the tile layers, I made a function that loops through the width and height of the map, gets the specific tile that belongs in that spot from the ‘data’ table in tile layers, and draws it in the map.
As for the objects/collision blocks, they’re just half-transparent frames with their size and position set to the size & position of the objects in the tiled map, in pixels
here’s some new progress, i was able to make a pretty basic implementation for camera boundaries and cutscene blocks that’ll run a cutscene when collided with. it’s still very buggy and needs a lot of testing but i think this part is mostly done
(most of the video is just showing the testing cutscene, map bounds are shown from 0:51 onwards)
I LOVE this!! Im also doing an undertale gui based game, but its centered on multiplayer battles (those sans vs charas games). I really love seeing people do things like this! I just wanna ask you something. How did you make the text shaky? (if you are using textboxes). Keep going with it!