[PLEASE HELP] About making actual games

So, I have been developing on Roblox for a few months now, scripting various systems, learning modeling, vfx, UI design, etc…

Now I want to tackle my first game. Basically I just want to make a recreation of the custom OW gamemode “Genji Ball” (I know Blade Ball and Death Ball exist but this is just a personal project).

I have had this issue before, but I would always ignore it by just closing the project and “losing motivation”. The issue is:

How do I properly connect everything together? I just feel so stupid staring at my screen, not knowing how I should script everything. I like to keep my code clean and modular and split up between files, but this brings the (for me) immense challenge of properly coupling everything together. How do others do it? Could someone elaborate for me? Hop in a call? Cause this is holding me back so much.

All the guides on the internet only really cover how OOP works and how to replicate it in Roblox, but none of them explain how it’s actually used in a real scenario…

Am I just dumb or something?

9 Likes

it depends, you can either start from main point of the game or go from start of the flow. for example

if i were to remake blade ball, id first work on smooth ball deflecting system, not with actual players at first, but a prototype, where the ball hits npc and it deflects, then you can finally either directly attach the deflecting to m1 when close enough, or start working on another system: inventory and hotbar, and then attach to selected item, then when i have final prototype, i can start rewriting, more optimizing

if ur still struggling, you can ask AI for flow of development, until you can predict the flow

like for a project im working on right know, important aspect of it is optimization, so i first made a chunking system prototype, that renders basic data, then when i got the chunking optimized, i started rewriting it, rewrote data management system, and now starting to work on the chunking render everything it needs

2 Likes

You’re stuck in tutorial hell, what that means is that you are relying on tutorials to further your knowledge. To get out of tutorial hell, you would simply need to do stuff.

I’ll apply my own experience onto this, as what I do on a daily basis is based on my experience for many years and I still learn new things about development every single day.
You’re not expected to know everything but you should try to learn everything on your own, tutorials will try to guide you but they won’t get you far.

I’ve learned by attending a few game jams and working on small games, just recently I have made a pathfinding system just by trial and error.

Everyone has their own way of working, the same goes for organization. You shouldn’t learn OOP way early in Roblox just because other people use it, besides Roblox isn’t really built for OOP and is often a trap for beginners. When you do something and fail, you learn from that failure and continue with a better understanding.

Hope this helped.

3 Likes

I don’t really like this advice, you’re too focused on optimization… I think implementation is much more important than optimization as you want to see things working. Also handing organization off to AGIs is troubling since everyone has their own preferences, AGI just gives the most generalized organization… besides you don’t learn if you hand everything off to ai, to me it’s a fancy autofill.

1 Like

it is the most important thing lol? if you dont have enough knowledge to have a stable optimized game, then you will not be able to implement it fully and have an enjoyable game

think before you speak

you didn’t even give any advice, all you really said was “I’ve learned by attending a few game jams and working on small games

1 Like

you really don’t know what you are even saying, you are acting like I gave advice to use AI to write code for you. I simply said use AI to explain the flow of game development step by step, understand why.

If you don’t learn from examples then you have extreme skill issue

3 Likes

The first thing I made is the core gameplay which is the ball physics itself and deflecting properly. Now I am thinking to make a round system, that basically spawns the players on the platform, spawns the ball, manages overall game state, etc… But I don’t know how I should connect this with the ball itself, since the ball and deflection stuff is it’s own isolated system. Writing this now it feels like I’m overcomplicating things and it’s a simple game design flaw. Maybe there are some resources on game design, I’ll take a look. Thanks for the prototype advice tho - I will definitely implement this in my workflow to avoid needing 2+ players for testing.

1 Like

I wouldn’t say I’m stuck in tutorial hell, since I can do most things myself. My main issue is having everything come together as I’ve only ever built isolated systems and not a whole game that has all systems work in harmony.

1 Like

I think optimization is important, but it most definitely is not a priority when first starting. I know this because I used to over-optimize some things and I would never get to actually building anything else because of that.

1 Like

just think the most obvious part, a round system, a round starts, what should start? a player should be “flagged” to have the ball first, and then start game state, now stuff like deflecting ball has no state, u really just have system that always deflects a specific object that has some sort of flag “Ball” when u M1 near something, when the deflect from client happens, only server verifies the game state and whether the ball can be deflected

1 Like

it is important for you and my project. It is important for you to handle lag compensation, prediction, interpolation of the ball, and sync between clients

1 Like

theres no such thing as “over-optimize”

it really should be the opposite, if you know that either in roblox its not possible yet to optimize a system or your workplace (PC) is too weak to test optimization, then you might quit.

I have horrible PC but I still asked some people whether they can test the chunking system with their specs, and it was really smooth, thats why i didnt give up

1 Like

What I meant by over-optimize is not only reducing processing times but also like refactoring over and over again to satisfy my adhd or something. You are definitely right tho

1 Like

i relate, i rewrite my code very very often, but i gotta admit, i like rewriting, experience is never enough. But i still write prototypes, then rewrite it cleaner and simpler.

Like for example: im doing ECS, and ECS strict principle that indexes are always EIDs (entity id), but I also need a fast lookup table by spatial index, so that mixes within my ECS, so now im on day 2 struggling, rethinking tens of structures, their cons, pros, and eventually ill choose one.

development takes time, so do great things

1 Like

Don’t worry, I’m already otp with support lol

1 Like

Well I just took it back myself bro thanks for the backup codes lmao
Idiot

1 Like

Glad you got your account back! Have a good day and keep smiling :grinning_face:

1 Like

good method tho ngl i even checked

1 Like

Maybe try a different program for a short time? Personally I went and used Godot for a side project, and the experience gave me a better understanding of programming in general. The more you extend your knowledge in other subjects, the easier it is to work on that big overwhelming project. Additionally if you show passion for your Big Project :tm:, someone’s bound to come help you with it, and having more hands on can give you more motivation and forethought.

1 Like

You should turn your attention to program design resources.

Consider reading at least the preface to How to Design Programs. Just the preface alone will give you a decent introduction to what you should be thinking while trying to program something, and the rest of it goes into application. It’s written for a dialect of Lisp which makes it a bit foreign but I still recommend it despite that. Really.
Structure and Interpretation of Computer Programs is the elite version of that book, and Composing Programs may be a better alternative if you can’t accept Lisp (but can Python… pick your poison).

Search around for any other resources that you find palatable.

3 Likes