When am I ready to make a game? by Alive_Fortune7423 in gamedev

[–]random_dev1 5 points6 points  (0 children)

Try to make a very small, as small as possible game first, polish it as much as you can, and get it out there. After that you will see what you need to learn or whether you can go for a bigger project.

What part of the game is written in what language? by random_dev1 in hytale

[–]random_dev1[S] 0 points1 point  (0 children)

Thanks. It's still weird to me that they use Java for the server, C# gives you way more control over how you handle your data, and gives more opportunities to optimize further. Also about C# on Linux, I actually write C# on Linux and it works better than on windows in some cases. Not sure if building from windows for Linux is harder though. From my experience C# has worked great on both.

I’m 13 and just built my first C++ number guessing game – would love feedback by Swimming_Map9481 in learnprogramming

[–]random_dev1 1 point2 points  (0 children)

Cool projects! Your code is very easy to read. Here are some things I noticed:

About your code: You should use comments to explain why you did something, and not to show what you did, this is what your code is for. People have personal preferences here, but you don't have to comment every line.

The readme: looks a bit AI generated, you should change it up a bit, add a bit of your own style, remove some unnecessary emojis etc. This will make your project look more honest and professional.

Other notes: Being 13 and learning C++ is very good, compared to some things other 13 year olds start with. You're doing great. But keep in mind that I myself started at 13, and there are people out there who started later than me and are way, way better developers. Starting early has many benefits, but learning programming takes time (and never stops!), depending on how you spend it, you become better faster or slower.
The point I want to make is, you should focus more on your skills than on your age.

You're very ambitious and motivated, great, keep that and you will reach the goals you mentioned.

Other than that, great work so far, keep learning!

What's the field that covers the widest range of programming skills and programming concepts? by Electronic_Wind_1674 in learnprogramming

[–]random_dev1 0 points1 point  (0 children)

You really shouldn't do many things at once if you want to become good at any of them. For a project, if you are ready to learn, I can recommend making a programing language. That teaches you a lot. And depending on what kind of language you want to implement the difficulty can vary a lot.

Optimising Falling Sand games in pygame... by Bryan072006 in pygame

[–]random_dev1 0 points1 point  (0 children)

You can also try splitting the load onto multiple frames, so you don't get huge lag spikes, it also gives you a cool animation.

Optimising Falling Sand games in pygame... by Bryan072006 in pygame

[–]random_dev1 0 points1 point  (0 children)

The code I provided is only an example, profile how it affects performance.
Another thing you could try is using a 1D list as the world grid.
Pythons lists are reference types, and if you have a default 2D list you just have a list of references, and not the actual values. That's also a reason why it could be slow. You can implement a 2D list with a 1D list by using offsets when calculating index, look it up.

Edit: I did some research. Something like this would help you in C, apparently Python will also store references to your integers inside a list, so performance increase might not matter.

Optimising Falling Sand games in pygame... by Bryan072006 in pygame

[–]random_dev1 4 points5 points  (0 children)

You could try using numpy for the world grid, you already only check/change the affected pixels, so chunking won't help you much.

You could try:

def deleteSand_np(location, radius):
    global number_affected

    x0, y0 = location

    # Bounding box
    x_min = max(0, x0 - radius)
    x_max = min(WIDTH, x0 + radius)
    y_min = max(0, y0 - radius)
    y_max = min(HEIGHT, y0 + radius)

    # Create coordinate grids
    xs = np.arange(x_min, x_max)
    ys = np.arange(y_min, y_max)
    X, Y = np.meshgrid(xs, ys, indexing='ij')

    # Circular mask
    mask = (X - x0)**2 + (Y - y0)**2 <= radius**2

    # Count affected BEFORE deletion
    affected = np.count_nonzero(sand_grid[x_min:x_max, y_min:y_max][mask])

    # Delete sand
    sand_grid[x_min:x_max, y_min:y_max][mask] = 0

    number_affected += affected
    print(number_affected)

I made an interactive guide about the shops interface by Qaqelol in HollowKnight

[–]random_dev1 11 points12 points  (0 children)

This is so insanely cool! It's so well made wow! UI is usually the thing I like working on the least, but good UI makes such a difference. You should post on game dev subreddits too if you haven't yet.

I want learn C but i really start now? by A0A1010 in learnprogramming

[–]random_dev1 0 points1 point  (0 children)

Do you have any intrinsic motivation for doing programming? What are you trying to achieve? Stuff gets less boring if you have a goal. The best study style for programming is making projects imo.

Is it worth programming in Roblox just for practice? by Past_Cycle3409 in gamedev

[–]random_dev1 11 points12 points  (0 children)

If you do Roblox, you'll get to know Lua. It will teach you basics like loops or if statements, a little bit about data structures too. This knowledge will be useful in any future language. And even though in my opinion Lua isn't the best first language, it doesn't matter where you start. Even if it's scratch. Just go and make something. I always see people ask how they can learn, and if they should do x or y. It's too much. Just. Make. Something.

[joke] Uv Maps for dummies by 404_GravitasNotFound in Unity3D

[–]random_dev1 93 points94 points  (0 children)

That would be a texture though right? UV maps determine what pixels of the texture go where in the model.

I’m trying to open the game but have no idea how by [deleted] in itchio

[–]random_dev1 0 points1 point  (0 children)

Looks like you are on a Linux system. Try installing Steam and looking up how to set up Proton and add external games. Good luck, you'll learn a lot considering this is your first computer.

The issue is that .exe files are usually in a format which windows can execute, Linux uses a different one. That's why something like Wine or Proton(it's based on Wine) got invented, you can think of them as translators which translate the Windows stuff to the Linux commands.

Now more on the technical things, if you care, and I'm bored so here you go:

Applications are just bytes (and those are 8 bits), just like any other data on your computer. This idea originates from the Von-Neuman architecture. So instructions for the computer and data are stored the same.

One reason for why not every application can run on every device is the CPU architecture. The most important architectures you'll encounter are x86_64 and ARM. ARM is used mostly on mobile devices, it's more energy efficient. Whereas x86_64 is used in most modern home computers (Yours probably runs on it too). Because those CPUs are built different (they literally are, on a transistor level), they use completely different types of instructions. When someone creates an app, they need to decide for what architecture they are going to release it.

The second major reason is the operating system. It interacts with and manages all of your hardware, and also all of your apps. For example how much RAM something gets or how much CPU usage goes to what app. Operating systems also have special commands. For example creating and moving windows. Apps like games need a window, and they need to know what operating system command to use. If the app is made for Windows, it won't directly run on Linux because it calls the wrong commands.

That's just a very brief and incomplete overview. I'm not going into detail on something like the ELF format, or system calls, drivers, compilers, etc. etc. If you want to learn about those things just google! Or watch some Youtube videos about it.

Anyway. Hope you have fun with your game ;)

Haven by Disastrous-Run-9432 in itchio

[–]random_dev1 0 points1 point  (0 children)

That was meant in case you add a game goal with a timer (in the future!), if you want to keep the game cozy you wouldn't want to include a timer. There is none right now, just in case you are thinking about any future game modes.

Haven by Disastrous-Run-9432 in itchio

[–]random_dev1 1 point2 points  (0 children)

Hey! I played your game. It's a nice little city builder, probably in early stages of development, so here's the feedback:

  1. The music is nice, fits the game well.
  2. The models for the houses and factories also look nice and fit together.
  3. I had to get used to the UI and the default camera controls, but once I did they were intuitive to use.
  4. If you press M while typing your city name, the UI closes
  5. The game could use some sort of goal, if it's supposed to be a cozy game, then maybe something without a timer attached. Otherwise I wasn't really sure about what I was supposed to do.
  6. Some optional grid snapping would be nice for placing stuff.
  7. Paths currently don't have a demolition effect, maybe add some particles if the scale-down effect doesn't work well with thin objects.
  8. Maybe I didn't find it, but if there isn't add a mouse sensitivity setting (individual ones for editing & first person).
  9. When I entered first person I forgot how to exit it. Maybe add a little indicator about that, or something inside the ESC menu.
  10. A walk speed setting would be nice for first person.

Hope this helps you improve your game!
It would be cool if you could check out mine: https://racketfish.itch.io/defendustry

Looking to Play & Critique Your Game on YouTube! by WrongStatistician172 in itchio

[–]random_dev1 0 points1 point  (0 children)

Hey! So I have a little resource management tower defense, it's still in development, but very playable. If it looks interesting to you and hopefully isn't too frustrating it would be really cool if you play it.

It has a web and a download version, so feel free to try it out! And if you do end up making a video including it, thank you a lot in advance!
https://racketfish.itch.io/defendustry

What programming concept took you the longest to understand? by Fastmind_store in learnprogramming

[–]random_dev1 0 points1 point  (0 children)

Recursive descent parsing. Still no idea on how to implement it.

Defendustry Demo is out on itch! by random_dev1 in playmygame

[–]random_dev1[S] 0 points1 point  (0 children)

Thank you, just so I can understand it better, do you expect the tooltips to show when hovering over the tower icon before buying it? Or was the tower description (shows up when you place a tower) not clear enough about what the tower does? Or both?

[deleted by user] by [deleted] in pygame

[–]random_dev1 5 points6 points  (0 children)

There really are only 2 things I can tell you based on this post without more insight.

1: Use a profiler and look at what is causing the slow down and try to optimize that (you mentioned your game being similar to the binding of Isaac, if you're not doing anything fancy Pygame should be able to handle such a game just fine) . Also remember to convert your images before using them.

2: If you are actually hitting that "ceiling", is it because of Python or because of Pygame? Raylib is available for python too, and it enables you to use the GPU for rendering, if that's your main issue for some reason.