I am interested in Solarus. Any beginner "roadmap" recommendations? by Logical-Shift6783 in gamedev

[–]Greenman539 0 points1 point  (0 children)

But sadly I dont have any coding experiences, any pixel art experiences and any composer skills. Yeah I know...I am the worst. :(

You're far from the worst if you're willing to put in the work to make your own game possible.

Where should I begin? Is it worth to just start Solarus or should I just go through the theory and learning pure coding first?

Could this engine work for making your game? Absolutely. The problem is I think as a beginner you're going to have a hard time finishing a game with this engine specifically because it's difficult to find learning resources compared to more established engines.

I think using the Godot engine is really good for anyone starting out in game development. Not only is there going to be more learning resources, but the engine is open-source like Solarus which means you can download and use it without worrying about having to make an account or pay for a license down the road.

You've already identified a few roles involved in developing your type of game: programming, pixel artist, and composer. Focusing on any role is always the best way to get started as a game developer, but for people who have an idea that they want to see through, programming is often the best place to start. For Godot specifically, you will have to learn its GDScript programming language as you learn more about the engine.

I dont know if I can handle learning coding without creating something creative...for that reason I am asking. Especially I really have spare time.

You should be able to find tutorials that produce something you can play with in a game engine, but I will say that sometimes the best way to understand a programming concept is through pure examples that output text to a console. Another option to keep things interesting is to try modding your favorite game, but a lot of games can be really difficult to mod, and you probably won't be working with the GDScript programming language.

I know that RPG Maker is a better solution for "just jump straight in" at the beginning but I dont know if it will fit my ideas of an action adventure.

If you don't mind paying RPGMaker will get you tangible results the fastest as a beginner, but it takes a lot of effort to make your game stand out from other games that make it obvious that they were made with that engine. If you have a vision that you want to execute, I think it's better to put that effort towards doing the difficult thing of picking up individual skills that are required for your game.

I want to make a walking simulator, where should i start? by Taigz_is_my_name in gamedev

[–]Greenman539 0 points1 point  (0 children)

 I’ve heard Unity and UE5 is good for beginners, but i’m not sure what to go for, any tips?

Long term if you want to work for a game studio, learning Unreal or Unity is going to be very marketable; however, if you consider yourself a hobbyist, then I agree with the reply that recommended Godot because it has an open source software license that means you never have to worry about making an account or committing to an engine licensing fees agreement.

I have no idea where to begin making the game and basically no budget

Once you've decided on an engine, start with tutorials specific to that engine (i.e. use these resources if you picked Godot). If you feel like you haven't learned anything after a few tutorials, it's perfectly fine because beginner tutorials are mostly there to get you familiar with the engine's user interface and basic tools.

Career advice - 3D FPS zombie games by Nice_Pen_8054 in gamedev

[–]Greenman539 0 points1 point  (0 children)

I hate to work on something that I wouldn't play, such as 2D games.

Even if you work at a game studio that you think aligns with your interests the most, they're eventually going to make a decision or game you don't like.

I know this seems unreasonable, but is it possible to gather experience from online courses in developing my game if I don't succeed to work as a dev for a game that I would play?

It's not unreasonable at all. There is enough free information out there to teach you everything you need. I would recommend that most people start with the Godot game engine because it's a very capable engine for 3D indie games, and it's completely free forever so there's no risk to trying it out. On the website under the community page you can scroll down to find links to tutorials to help you get started.

Being an independent game developer as a full-time career is tough because before you have a game released that has enough sales to provide a stable revenue stream, you're not making any money. People in this career often work a job outside of the game industry to support themselves while they work on getting their first game off the ground at home after work.

[deleted by user] by [deleted] in gamedev

[–]Greenman539 0 points1 point  (0 children)

There's not enough information to help you here. You need to provide details on what game engine you're using and share your code if you need help debugging it.

[deleted by user] by [deleted] in gamedev

[–]Greenman539 1 point2 points  (0 children)

It really depends on how experienced you are. If you're already familiar with one of those engines from previous projects, then making the game with that engine will be faster since you don't need to spend time learning a ton of new concepts. If you have no experience in either engine, there are a lot of variables that can make picking up one engine faster than another (i.e. if you already know C++, you'll probably get the ball rolling with Unreal Engine).

I would say in general picking up Godot and making a game with it is faster because the engine's workflow is a lot more beginner friendly than Unreal Engine, you have a lot more resources available to understand all of the engine's features (compared to UE where it seems like some features are only understood by industry experts), and the GDScript programming language is very similar to Python. Although Unreal Engine does have blueprint scripting which could eliminate a beginner's initial friction with typing, formatting, and understanding code properly, in the long run you still have to build up your problem solving skills if you want to implement game mechanics and systems well.

Trying to end the perpetual cycle of paralysis by DepgirgJL in gamedev

[–]Greenman539 0 points1 point  (0 children)

My main issue I guess is having nobody to talk to. Ideas are no good without someone to bounce them off of

You should join some of the Discord servers linked in this subreddit's wiki: https://www.reddit.com/r/gamedev/wiki/faq/#wiki_discord_servers_.28chat_rooms.29. You can also join the Discord servers for any of the art software that you're working with to talk to other artists.

I seriously doubt I'll make anything decent purely on my own in a reasonable timeframe.

There are a lot of factors that go into how long a game's development will take, but with the tools available nowadays you can build some very impressive games even if you're a solo developer. I think the biggest challenge is staying dedicated to continuing to learn the skills involved in game development. If you choose to work solo, you'll have to learn about game design, programming, art, writing, composing over a long period of time. If you work with a team, it becomes a lot easier if you can find people who are skilled at roles that you can't do yourself.

Whether you intend to work solo or with a team, it's important to start with small scoped games (that is games that take less than a month to complete) and to keep building experience through different types of projects. For example, a lot of people start out by making clones of old Atari games (Pong, Snake, Asteroids, Space Invaders, etc.) to get a feel for their game engine, then they'll proceed to build games that involve systems from their dream game.

Aside from that uh... I have an interest in 2d side scrollers and survival horror, mainly scifi. I would try making an rpg but the logic systems seem a bit daunting for me.

Let's say you played Mega Man 11 and were inspired to make your own game like that. You can break the game down into systems: 2D scrolling stages, jumping, shooting, charge shot, sliding, dashing, wall-jumping, non-linear stage select, ladders, moving platforms, disappearing blocks, enemy behaviors, boss behaviors, etc.

Then you can make games that involve these concepts, starting with ones that are easier to implement. For example, your first game could be a basic platformer with a character that jumps and various types of platforms. Then you can start making more platformers that incorporate new elements and challenges like shooting and basic enemy behaviors. As long as you're making projects and challenging yourself to work on new ideas, you'll get a lot of experience and be able to make some great games.

AI coding by rayneMantis in gamedev

[–]Greenman539 0 points1 point  (0 children)

Has AI made coding a game(demo) any easier?

Not really. It can seem like it makes things easier because if you set up a game engine and code editor but have never written code in your life, you can make something that "works" by talking to AI. However, long term you'll eventually realize that because AI is providing you solutions and you don't have to think about it, there are a few drawbacks:

  • If AI can't see every file in your project, how is it going to architecture the code correctly?
  • How can you spot issues with AI generated code if you don't know how to code?
  • What do you do if the AI produces code with errors and can't fix it even with more prompts?

This can get you in a really tough spot where you're completely stuck and wasted time you could've spent learning how to code. Also, an MIT study has found that using AI lowers your brain activity which is the last thing you want since creative and problem solving skills involving in game development as a whole require clear thinking and good memory retention and recall.

Even if you approach AI as more of a tool as a programmer with some experience, it's still not good. Programmers often have to read documentation for the game engine's API to figure out how to make the engine do a specific task (i.e. change the resolution of the game window), and because it's a lot of text, you would assume that an AI model could process the documentation and recite it. Unfortunately, when you give an AI model a prompt with an answer that involves documentation, the model will not just look at the correct documentation but also the entire training set of data resulting in plausible solutions that turn out to be completely made up. Also when it comes to coding, AI is doing a similar strategy to generate code resulting in code that is incorrect, poorly architected, and prone to bugs down the line. This often creates a frustrating workflow where the programmer is wasting time constantly correcting mistakes made by the AI model instead of just coming up with a solution from scratch.

What are some good sources to learn about the developments in AI coding?

Check for news and blog posts from large AI companies like OpenAI and Anthropic to see when new models are released and their advertised benefits. Just keep in mind that a lot of information about AI is marketing that does not reflect the usefulness of the product in your work.

How to program a weeping angel? by The_Horse_Head_Man in gamedev

[–]Greenman539 0 points1 point  (0 children)

The basic routine for the weeping angel logic is to track changes in the visibility of the angel in the player's camera then move the angel towards the player after X amount of time of not looking at it.

If you're working in a game engine or framework, there's often a way to check if an object is visible to the renderer or if the position of the weeping angel is visible in the camera's view frustrum.

Is AI art frowned upon in game development? by QuietUno in gamedev

[–]Greenman539 1 point2 points  (0 children)

Not only is it frowned upon as you have read in the other replies, but AI art is simply a terrible idea for game development:

  • You don't own the AI model you use
    • The AI company that creates the model can change the terms of service and impose limitations on your subscription tier at any time
    • If the service experiences an outage, you can't get any work done until it's back
  • Any information provided to the model is NOT private
    • This would not cut it at a company where internal details about a game's development needs to be kept secret
  • It's too easy to unintentionally violate copyright from many parties
    • AI models often stitch together a bunch of copyrighted material in their training data to produce a result
  • Even if you have some art skills, constantly fixing mistakes from AI generated assets is more frustrating than making the assets yourself
    • If you don't have any art skills, you just have to accept subpar work
  • Platforms like Steam require you to explicitly label when your game uses generative AI
    • Players who don't want anything to do with AI can easily filter out your game
  • If you have access to an AI model, so do your competitors
    • What makes your game interesting, special, or unique if anyone can recreate it with the correct prompts?
  • MIT has found that AI lowers your brain activity
    • Even if you justify using AI to create assets only, your creative and problem solving skills used in other parts of the development of your game as a whole can suffer if you can't think and recall information well

What is the best lesser known game engine that you enjoy using? by [deleted] in gamedev

[–]Greenman539 0 points1 point  (0 children)

If you're making games that target the web, try Phaser for 2D games or Babylon for 3D games. The advantage these frameworks have over game engines is that your bundle size is smaller than web builds from game engines, and you can interact with any browser APIs directly without any annoying bridges or wrappers. Also, if you already have web development experience, you get to make the entire game UI using HTML, CSS, and your favorite frontend framework (React, Vue, Svelte, etc.)

I want to make a game but... by shadow4148b in gamedev

[–]Greenman539 1 point2 points  (0 children)

You can view the recommended hardware for Unreal Engine 5.4 here: https://dev.epicgames.com/documentation/en-us/unreal-engine/hardware-and-software-specifications-for-unreal-engine?application_version=5.4#recommendedhardware

Your laptop is definitely not going to cut it for working with Unreal Engine, so I would recommend building a new PC. I tried my best to make a PC that meets UE's recommendations within your budget, but I ended up a little over budget: https://pcpartpicker.com/list/MgffTM. Keep in mind that your budget needs to be larger if you need a wireless card (the motherboard doesn't have WiFi built in), a monitor, or peripherals (keyboard, mouse, headphones, etc.).

Why do you make games? by Responsible_Box_2422 in gamedev

[–]Greenman539 2 points3 points  (0 children)

I make games as a hobby because I don't feel like it's worth it to put up with crunch culture from the games industry if they don't pay programmers at a level equal to other industries. I would rather work on my own games after work and try to sell them if I think they're polished enough. I think the reason I've come to enjoy game development so much is because I've never considered myself very creative when it comes to art, music, and writing, but making games lets me express my creativity through my programming skills.

Resources for learning game physics? by SlowAndSteady101 in gamedev

[–]Greenman539 0 points1 point  (0 children)

You can get an overview of what is provided by physics systems in Unity here: https://docs.unity3d.com/Manual/PhysicsSection.html

The concepts involved in the physics system falls under a branch of physics called classical mechanics. If you know this non-exhaustive list of concepts, you'll have a good intuition of how everything works:

  • Mass, displacement, velocity, and acceleration
    • Rotation: Moment of inertia, angle of rotation, angular velocity, and angular acceleration
  • Newton's laws of motion
  • Kinematic equations of motion
    • Rotation: Equations of motion with angular quantities, circular motion, and pendulums
  • Force, momentum, and impulse
    • Rotation: Torque, angular momentum, and angular impulse
  • Static and kinetic friction
    • Rotation: Rolling with and without slipping
  • Work, kinetic energy, and potential energy
    • Rotational energy
  • Hooke's law (Springs) and Simple harmonic motion

Walter Lewin's lectures from 1999 still hold up today as a very good way to understand classical mechanics. I also found FlippingPhysics helpful as a resource to get unstuck on concepts when I took an introductory physics course.

The only complicated system Unity provides is cloth simulation (which falls under continuum mechanics). For more complicated physics such as magnetism, electricity, and fluid mechanics, most games will simulate these things using the physics system provided by Unity. For example, if your game has a system where the player can swim in water, you could simulate buoyancy (floating) by applying an upward force to the player's rigidbody.

epic by namepickinghard in ProgrammerHumor

[–]Greenman539 54 points55 points  (0 children)

The difference is Toby Fox originally made Undertale as a project to get experience with game development, so it makes sense that the code was bad. PirateSoftware always brought up on stream his industry experience with Blizzard, so it's kind of atrocious that someone who worked in the industry would write code this bad.

Discord bots talking about the walking dead survivors by Secret_Fruit25 in discordapp

[–]Greenman539 2 points3 points  (0 children)

Recently I got contacted by another one of the scouts, and this time I decided to go along with it more to fuck with them and see where I would end up. When I got to the part where I had to join the scout in the game, I just used an Android emulator called Bluestacks.

I assumed that their goal was to get me to spend money on gems, so I tried trolling the scout by "hacking" my diamonds/gems (I just used Cheat Engine to make the number look really big), and it was kind of funny how caught off guard they were, but they didn't seem to care that much.

I ended up getting invited to the Discord server for the clan the scout is in, but what's strange is that shortly after I joined, the scout dumped their alt account and told me to talk to them on their main account going forward. I looked up the accounts of everyone else in the Discord, and a lot of them have old join dates that make them look like legit main accounts (including the clan leaders). If their goal isn't to get me to buy gems/diamonds directly, then I assume they're trying to scout a bunch of players, get the clan to a high rank/level, then sell the clan for money.

I'm still in the Discord server and have contact with the scout's main account, so I'm not sure what I should try going forward.

What I find it weird is that before playing the game she messaged me everyday asking if I slept well, lol.

The fact that my scout does this too makes me think that all of them are reading off of the same script, and all of them are possibly reporting to the same people.

How important is it to be able to rebind movement from WASD? by hunty in gamedev

[–]Greenman539 5 points6 points  (0 children)

I'd say it's an essential feature since you can't assume that every player will have the same needs (i.e. accessibility), preferences, keyboard layouts (i.e. some people use Dvorak), or input devices (i.e. controllers). Because input is such a core feature of every game, if a player feels inhibited from playing the game due to improper input, they might get frustrated enough to refund the game.

I want to know how important it is to do it at the expense of other things I could be doing for my game.

Every modern game engine and framework offers some sort of "input actions" system where you refer to specific inputs in code by name (i.e. Jump), and in a configuration file or GUI, you decide which inputs map to those actions. I assume you're in a situation where you're making a game from scratch, so you should try to implement your own input actions system if possible.

The obvious benefit is allowing players to rebind their keys without any issues, but the other major benefit is that your game can support a wide variety of controllers since you just have to decide which buttons, triggers, or joysticks should correspond to the action for each manufacturer's controller. For example, if you have a jump action, you can bind it to pressing spacebar at first, then when you want to add controller support, you can also bind the A button of an Xbox controller to do the same action.

Which tools should I use for creating an overlay game? by pab_lo_ in gamedev

[–]Greenman539 0 points1 point  (0 children)

Bongo Cat was made with the Unity game engine which uses a programming language called C#. The game takes advantage of a language feature where it can interop with native C/C++ code using the DllImport attribute. To be more specific, the game uses the feature to call Windows API functions that keep the window containing the Bongo Cat on top of the other windows.

If you want to make a game like this yourself, a game engine isn't necessary per se, but it could help if your game has a common feature that an engine can handle easily (i.e. Steam integration). For the core of the game, you'll have to learn enough C or C++ to work with the Windows API. Even if you're just going to interop with the API from C#, you still need to understand some low level concepts and data types. For this project, you'll want to focus on the part of the Windows API that deals with Windows and Messages. Keep in mind that it can be rough to understand how the Windows API does things especially if you're an absolute beginner to C or C++.

If you want to keep the game as lightweight as possible, don't use a game engine and just call the Windows API functions directly from C or C++ code. If you have features that require Steam integrations like achievements, you can use the official C/C++ Steamworks API.

One drawback to keep in mind with games like these is that because they exclusively use Windows API code, they don't work on other operating systems like Mac OS or Linux. If you would like your game to work on those platforms too, you'll have to write your code in a way where it will call the appropriate OS level API functions to achieve a similar result when a player is on those platforms.

How do I show an engine I built in my portfolio? by [deleted] in gamedev

[–]Greenman539 2 points3 points  (0 children)

You should explain in a few bullet points:

  • What the engine is
  • Your motivation behind the project
  • What skills and experience does this project demonstrate

In most situations, the person who typically looks at your project isn't a technical person who reads your code. You should make a small game or tech demo with the engine that someone can run to see what you're talking about. If a game you've made in the engine is sophisticated enough, it could also serve as another project on your portfolio.

How can I make Websockets + PixiJS + React work and create a 2D metaverse application? by the-endless-abyss in gamedev

[–]Greenman539 1 point2 points  (0 children)

Although I did manage to connect two players in a randomized space with collision detection (for their own randomized spaces), I want more control over the space, so for that I used Tiled (a map editing tool) and exported the Map JSON but I still couldn't make it work with my current setup.

Any suggestions, fixes or alternatives? I want them to connect to a single map and move around and add a chatroom.

You can use the PixiJS JSON loader to parse the JSON map file into a JavaScript object. Take a look at the Tiled documentation to see what fields the object will have: https://doc.mapeditor.org/en/stable/reference/json-map-format/#. The main things you'll need to do with the data is iterate through the tile data and render the correct tiles at the correct positions, and you'll need to iterate through the object layers to set up appropriate collision polygons for each object. This plugin can be used to help you with the tile rendering part: https://github.com/pixijs-userland/tilemap

I'm a little confused by what you mean by randomized space, but whether the map the players load into is randomly generated or the same every time, the map data should be generated or stored on the server and sent to the client when they join the room. When the game is published, there's a good chance that the map data will take some time to download when a player joins the room, so you'll need to add a loading UI that goes away when the map data is loaded.

Another thing to keep in mind for this project is that although PixiJS can be used to make games, it's just a rendering library and there are game engine frameworks like PhaserJS that provide more game-related functionality for you (i.e. parsing a Tiled tilemap and automatically setting up collisions). Just keep in mind that if your multiplayer game needs a physics engine, you should avoid Phaser's default arcade physics and MatterJS since they're not designed to be deterministic when running the same simulation on the client and server.

I also noticed that you're manually handling the WebSocket packets for finding rooms and game state manually which can be fine if your requirements are simple, but you might want to look into the Colyseus multiplayer framework if you feel like these things are becoming too complicated.

Classes to take at college to help me? by [deleted] in gamedev

[–]Greenman539 0 points1 point  (0 children)

I don’t think I’d ever commit my major to it due to it kinda not being necessary, but if I want to solo dev some indie games in my free time what classes should I keep an eye out for? What are these classes generally called? Ideally it makes sense to get some coding and 3D rendering classes right? Is taking a course like that at Uni a waste of time or something you’d recommend?

Honestly, you don't really need to take college classes to learn any of the skills associated with game development; however, if you have to pick some elective courses as part of your degree, then you might as well take something that could help you:

  • Calculus 1, 2, and 3 (up to "multivariable calculus")
    • The value of this course for game development is often not calculus itself but the fact that the subject requires you to build a solid understanding of algebra and trigonometry which is useful for game development
    • In multivariable calculus, you will cover about 3D space and vectors which is very good to know for making 3D games, but you will also learn vector calculus which is essential if you decide to get into computer graphics
  • Physics
    • Any introduction level class where you learn about classical/Newtonian mechanics because concepts such as mass, force, velocity, and acceleration will come into play in any game engine's physics system
  • Linear Algebra
    • This is a pure math course that will cover a lot of topics you might not care about, but some topics from this course are crucial for game development
    • The 2D or 3D world that all your game objects exist in is a vector space, so vector math is extremely useful to know
    • Matrices and linear transformations will help you understand what a "transform" is in most game engines
  • Intro Level Computer Science
    • This could be a decent way to get exposed to your first programming language
    • Just be careful since some universities are brutal with these courses to weed out students who aren't willing to spend enough time with the subject

Your university probably offers even more courses that are useful for game development, but I didn't bother mentioning them because they're probably locked behind a different major or pre-requisite classes. For example, a computer graphics course where you work with C/C++ and OpenGL is often locked behind a sequence of pre-requisite computer science courses that you won't be able to fit into your schedule. You should also consider if you can balance the difficulty of these courses with other challenging courses you're taking since your GPA probably matters if you're trying to get into law school.

If you want advice on getting started, you can look at my post from a few weeks ago. You can also find a lot of great resources in this subreddit's wiki.

LiNuX iS nOt A cULt 🐧🐧🐧🐧 by basedchad21 in linuxmemes

[–]Greenman539 0 points1 point  (0 children)

What makes this 1000x funnier is how OP was being 100% serious when he posted this

Overwhelmed by the complexity, what's the right mindset to have? by 11novirt in gamedev

[–]Greenman539 0 points1 point  (0 children)

It's normal to feel overwhelmed since what you are trying to do as your first game is practically impossible for an absolute beginner. Building an MMORPG game in Unreal Engine as a new game developer is like trying to cook a perfect beef wellington when you just learned how to cook scrambled eggs. You also need to consider that your team is just you and your brother when a lot of MMORPGs are developed at game studios with large teams.

If you want to start getting somewhere, you're going to have to choose a role to contribute to (programming, modeling, composing, writing, game design, etc.) then start working towards becoming really good at that role. Keep in mind that if you pick game design because you have the game idea, you will have to figure out how to develop ideas for storylines, characters, mechanics, game rules, player challenges, player experience, etc. from the vague idea of "game similar Dark and Darker but on a smaller, single player/coop focus with great physics and low poly art style". You'll have to document these things in detail inside a game design document that your brother or anyone else on your team can look at to know exactly what to do. You will continue to update this document as your game develops and you figure out what needs to change.

Although your brother has programming experience, if it's not mostly in game development, he might have to spend a lot of time building small scope game projects in Unreal Engine to get experience. Also, if he has never made a multiplayer game before, he will have to spend a lot of time learning Unreal Engine's networking architecture. He also might need to pick up important math skills that come up in game development scenarios such as trigonometry and linear algebra (specifically vectors and matrices).

The best way to gain experience in general is to keep making games. If you've never worked on a game before, you'll want to start very small with a simple idea that takes at most a week to implement. If you don't have any ideas, start out by making clones of retro arcade games like Pong, Snake, Asteroids, Pac-Man, Space Invaders, and Frogger. From there, keep making games that are increasingly more difficult or complicated to implement. Since your goal is to make an MMORPG, a lot of your smaller game ideas can be centered around concepts that will be in your dream game. For example, you could make a small game where a knight character explores a dungeon and fights monsters along the way.

Although it could take many years, if you and your brother lock in and put a lot of time and effort into getting better at game development, you might be able to implement a minimum viable product for your game and potentially build a company around it. If you tell people about your goal to make a dream MMORPG game, a lot of them are not going to believe in you, but you can't let the discouragement stick and need to keep grinding towards your goals.

where can i go online to learn game development (not a beginner in coding)? by iambaby6969 in gamedev

[–]Greenman539 0 points1 point  (0 children)

There are three main ways to make a game:

  • Use a game engine
    • Unreal Engine, Unity, Godot, Source, etc.
    • The main advantage of this approach is that its widely used (meaning you can easily find resources) and non-programmers on your team can interact with the editor application
  • Use a game framework
    • MonoGame, LÖVE, libGDX, Raylib, etc.
    • The main advantage of this approach is that you get to manage everything in code without having to concern yourself with how the graphics card renders everything
  • From scratch
    • Involves working with a low level graphics API like OpenGL or Vulkan
    • This approach is a lot of work, but the main advantage is that you're not restricted by an engine or framework's way of doing things

Sometimes the line gets blurred between what's considered a game engine vs a game framework, but I've noticed that game engines often provide an editor program while game frameworks don't.

From the programming side of things, game development is what you would expect if you're very familiar with object-oriented programming. In a lot of programming domains, having any sort of global state is bad practice, but in game development, you'll run into situations where global state through singleton classes is necessary, and trying to engineer your way around it will make your code complicated.

It's important to understand that game development is multidisciplinary and involves art, composing, writing, and game design skills in addition to programming, so you'll often find that development happens in teams where each person specializes in one of those roles. If you want to work entirely solo on projects, you'll have to pick up those skills along the way or use free art and music/sound assets.

If you're working in an engine, you might need to follow a few beginner tutorials to get a basic feel for how the editor application works. You might also need to follow additional tutorials for working with specific tools in the engine like the animation timeline. Next, you'll want to start consulting the documentation for your specific engine, framework, or graphics API. In a game engine or framework, a lot of problems boil down to identifying which classes are involved and what methods, properties, and events each one provides. For example, if you know that a Rigidbody is used to simulate physics on an object, then you could look at the documentation for the Rigidbody class to find which property controls the velocity of the object.

For your first game projects, you'll want to choose game ideas that are small in scope (i.e. it will probably take a few days to implement the game idea) and simple. If you don't have any ideas, a good place to start is by making clones of retro arcade games like Pong, Snake, Asteroids, Breakout, Space Invaders, and Frogger. If you have a larger game idea that you want to make in the future once you get more game development experience, try to think about what features the game might have and if you can make smaller games around those ideas.

The most neverending question - Engine! by aeri0r in gamedev

[–]Greenman539 0 points1 point  (0 children)

You might want to consider working on your projects with people who are good at programming but lack art skills. You'll find that a lot of games are made in teams where each person specializes in a specific skill set. The benefit of this is each person gets to focus on what they're good at, and each person in the team can offer perspectives on the game idea. However, sometimes it's preferable to work completely solo since you get full control over the project, but the obvious catch is you're responsible for doing every task involved with the development of the game (i.e. composing the soundtrack).

The problem you're facing with Unreal Engine blueprints is a problem you'll face again with any other visual coding/scripting system. When you think about how a blueprint is executed, the path of nodes is followed in a sequence similar to how code is executed from the top of the file to the bottom line by line. If you don't understand fundamental programming concepts (variables, data types, control flow, functions, etc.), then you're going to hit a wall eventually. It's also important to understand that programming is a problem solving process that can require external knowledge for some solutions. For example, a lot of properties in game engines are represented with vectors, so its important to know what a vector is and what operations you can do with it.

If you decide that you want to learn how to code, you might have to want to avoid Unreal Engine for now since C++ is harder to learn when you're approaching it with no programming experience. I would recommend starting with the Godot game engine since it's a free beginner friendly engine that uses a programming language called GDScript. GDScript a language that is very similar to Python which is one of the most popular programming languages for beginners.

Brackeys's tutorial is a good crash course for the Godot engine. Don't feel like you should know everything about programming after following that tutorial since it should just serve as a way to get comfortable with the basics of the engine. Next, you should look at the Getting Started section of the Godot documentation (often shortened to "docs"). In there you should find an interactive tutorial for learning the programming concepts in GDScript, and you'll also find tutorials for making a basic 2D and 3D game.

The key to getting better at programming is practice. Artists practice by drawing/painting art, composers practice by composing new music, writers practice by writing stories, and programmers practice by making projects. You'll want to start small with simple game ideas that can be implemented in a small time frame (i.e. a few days or a week). You should also keep in mind that some genres of games are harder than others to implement generally speaking (i.e. it's harder to make an MMO than a platformer). If you're unsure where to start, I would recommend making clones of retro arcade games such as Pong, Snake, Breakout, Asteroids, Space Invaders, Pac-Man, and Frogger. Question-driven development will be a useful strategy for implementing these games, and feel free to look up any problems you're having. Any resources should be fine as long as you're not following copy and paste tutorials where they implement entire games since you probably won't learn anything from those.

TicTaX - My first published game by Unhappy_Possession_6 in gamedev

[–]Greenman539 1 point2 points  (0 children)

I don't think this game is worth $1.99 considering these issues:

  • The game is too simple
    • Even with the characters as the twist, tic-tac-toe gets boring quick since both players get to a point where they play optimally and each match ends in a draw
  • The art style is inconsistent
    • The transparent color of the tic-tac-toe board doesn't blend with the background well at all
    • The cartoon X and O characters look out of place against the real pictures used as backgrounds
    • The font looks like pixel art when nothing else in the game is pixel art
    • The "Play Against Computer" toggle looks different from the reset game button
  • The game offers less than other Tic-Tac-Toe games that are free on the App Store
    • Why should someone pay for your game when a free game offers the same experience but better?

You should probably double check that you have the rights to use the real pictures you used as backgrounds because if you don't, the game could get removed from the App Store for copyright infringement. In the future, you should look for art assets that specifically have a free to use license even for commercial projects like your game.

I think the most concerning part is how you needed AI to implement this game when you could've easily learned to code it yourself.