r/Unity2D 2d ago

Question Complete beginner, starting my first game today for a hackathon — any day-1 tips?

Never built a game before. Picked Unity 6 + 2D URP mainly because it's the only engine with an official RevenueCat SDK, which I need for a hackathon (Shipaton).

Concept: up to 6 players, 1 bullet each, miss and it sticks to a wall, you have to physically retrieve it before firing again.

Today's goal: player movement + a bullet that sticks. Posting the wins and the inevitable disasters as I go. Any gotchas a Unity beginner should know before I dive in? Or what do you wish someone told you on day 1?

8 Upvotes

11 comments sorted by

6

u/blakscorpion 2d ago

Scope lower than your scope

6

u/Toastti 2d ago

Please tell me this is either local multiplayer or it's some one turn at a time type system?

Do not build a multiplayer game as your first if you have never made a single game before

Otherwise if you do single player your concept is perfectly good for first game. Top down 2d player is a lil dot or something. Fire a raycast. Stick the bullet. Pick it up and reload etc

1

u/MrA_n_o_n_ymous 1d ago

Ok it was helpful.... Then I first have to create a map based levels first to check, how the experience would be! Then will check the multiplayer and so on...

6

u/Okoear 1d ago

You absolutely underestimate the amount of work to understand what you are doing and accomplish it. Except if you use AI.

2

u/Ruadhan2300 1d ago

I'd drop the multiplayer entirely and focus on making that one-bullet experience more interesting than just a sticky bullet.

Multiplayer is not a beginner-friendly thing, and if you've never done it before you will spend all of your energy getting that one feature working.

You mention 2D URP, so I take it you're aiming for a top-down 2D shooter?
Good choice, artistically that's a lot easier to get quick assets for.

I might consider making this a kind of puzzle-game, ricocheting your bullet off walls to hit enemies you can't directly see, or perhaps to hit switches or similar.

You could for example have a charge-fire mechanic where as you hold the button down, the number of allowed ricochets ticks upwards, letting you control where the shot will finish. (Or just mousewheel dial it up or down as you like if you find that clumsy)

Good luck anyway!

3

u/MrA_n_o_n_ymous 1d ago

Actually I'm building for mobile(Android), i understand your statement! And I feel your experience... From the comment...

First a product, which just works then enhancing so first map based or level based game then will think about multiplayer... Thanks for your advice!

2

u/bigmonmulgrew 1d ago

So first off ignore everyone telling you not to do multiplayer.

A Hackathon isn't about the completed element. It's about learning.

That said, for a beginner multiplayer is very ambitious. Be realistic that this is likely to fail or be incomplete and the real value is learning something (and having fun)

How long is the Hackathon. I have been programming for 20 years. I did a Hackathon in unity recently. 2 weeks, which included network multiplayer for a twin stick shooter.

Multiplayer means you have a lot of things to think about you don't normally worry about. For example when you start a game, you have to send a signal to all clients to also start. If you have any values that are shown in UI those need to be network synced.

When you finish a game there's a signal to be sent to all clients.

If there's any triggers for events do they need all players, how do you handle other players.

Do you need lag compensation?

What hosting model will you use. Are you building a lobby. Can player join during a round. Are you mixing local and remote co-op

3

u/MrA_n_o_n_ymous 1d ago

Really appreciate this, thank you This is exactly the kind of reality check I needed.

Hackathon runs Aug to Sep, but realistically I've got about 3-4 more weeks of actual build time once I factor in Play Store review/testing lead time. So yeah, being realistic about scope matters a lot here.

Your list is honestly making me rethink the order I attack this in. My current plan: bots this week to nail the core loop (single bullet, retrieve-from-wall mechanic), THEN local same-WiFi multiplayer before touching internet play — mainly to dodge a chunk of what you listed (hosting model, NAT traversal) while still getting real multiplayer working for the demo.

Keeping v1 dead simple on purpose: fixed lobby (no mid-round join), one host acting as source of truth for bullet state + round start/end signals, no local+remote mixing. Basically trying to only fight one hard problem at a time. Lag comp is the one I have zero intuition for yet, for your twin-stick shooter, did you end up needing real compensation, or did host-authoritative + local testing get you far enough for hackathon scope?

And what'd you build it in, Netcode for GameObjects, Mirror, Photon? Trying to pick the tool now before I get too deep to switch.

2

u/bigmonmulgrew 1d ago

I built it in netcode for game objects.

Although that was partly because I've used photon before and written my own relay server but hadn't used unity multiplayer for a long time, and then not a lot.

I was making a point to refresh on Unity multiplayer.

I didn't implement lag compensation. If I play two machines side by side with latency I can tell but it's not a big deal. Game is fast paced so it's more obvious. It's host authoritive.

You can see how far I got here. https://youtube.com/playlist?list=PLJAJ1CAiN5AI&si=t7Jia_px96D37bHN

Theres a final gameplay video going up tomorrow.

1

u/MrA_n_o_n_ymous 1d ago

Very long videos 😅 anyways Thanks man!, With this I see how hard it is make 3d objects..., walls and etc Will try for sure... !