How do I make a game? I have almost finished my CS degree, so I know programming/data structures, and all math requirements I need, but I've no idea how to start making a game. I want either ASCII or simple 2D graphics.
How do I make a game? I have almost finished my CS degree, so I know programming/data structures...
By lying like that and then asking for help here proves that you are too stupid to ever produce a game.
Pick up an easier project, like flipping burgers.
I am serious. Where is the lie?
just make it, lmfao. if you can't write graphics to screen even with a pre-made game engine, you need to off yourself
If you knew an ounce of programming you'd know how to program a game. But sure, screencap some of your uni credits then?
Are you kidding me? You imply that I'm boasting on an anonymous forum?
I haven't made anything close to a game, I want someone to point out the general structure of the thing, and post some resources for me to read.
>almost finished CS degree
>does not how to start making games
Utter state of CS education
Just use Godot
Here's one way to start writing a simple board game. First, define a map with two entries: one is an array of numbers, each number representing a kind of tile on the board game (ex. 0 = empty, 1 = Pawn, 2 = Rook, etc), the second is the width of the board.
Now write a function that accepts three arguments: the map defined above, the starting vector (ax, ay) and the destination vector (bx, by). Evaluate the move by mutating the first argument based on rules that you provide.
You're now on the path to write a simple board game.
I wanted you to prove that you went to uni, which would have taken shorter than the long excuse you just wrote.
Not only did you lie about being a programmer, you also proved to us why every single person you are going to be interviewed by, regardless of what actual line of work you are pursIng, will loathe you and go with someone else.
Every single interview you go on you will fuck up even more than this thread.
If you prove that you are actually in UNI, id have pointed you in the right direction, instead you just dug yourself deeper.
those are some nice boobs
We're not here to spoonfeed you, you could have easily found this answer by using any search engine.
Thanks
This applies to literally 99% of Jow Forums's threads. I want to see Jow Forums's opinion instead of clickbait pajeet articles.
want to know too.
If you have a CS degree and don't know how to print characters to screen (aka ASCII art), then I feel sorry for you OP.
See this poster, everyone likes this poster.
>2D graphics
Love2D is geared towards beginners. Some art assets and some lua scripting and you'll be up and running in like 5 minutes.
>CS degree
>Don't know how to make super mario
You should get your money back.
Is this a joke or should you actually be able to think up game codes? I keep drawing blanks when I attempt to make simple games like Pong.
If you want to use the SDL library for graphics and input, this is a good resource
Different user, but what's the problem?
Are you having trouble visualizing what's supposed to be going on under the hood of the game or how a game is supposed to be structured?
Both really, especially structure. I was thinking containing all of it in a loop but not sure, feel pretty stupid that I can only follow exercises my tutor gives me at college fml
You had to take some computer graphics courses you moron
This
I'm no master game programmer but I'd say it just takes time and experience to get a feel for what's supposed to be what way.
You're right about the loop, though. all the action is going to happen in a loop. In your pong example it would be a pretty sparse loop:
>check for input
>move paddle if applicable, move ball
>check for collision, handle collision events
>draw to screen
>repeat
Or something along those lines.
>I was thinking containing all of it in a loop
I'd advise you get off Jow Forums, as this is a toxic place that gives horrible demoralizing advice as you can see by this thread
Spend your time on more constructive forums.
He's not wrong in his approach. All of Quake3 is basically contained in one highly optimized and unrolled loop
>circlejerks for retarded crybabies are more constructive forums
OP is an idiot, the sooner he realizes it the less he fucks up
draw(update(world(get_input())))
Similar to how GUI's have the 'event loop', en.wikipedia.org
This
You aren't accomplishing anything by insulting him, you're just one junior developer putting down another junior developer out of insecurity
Literally any place is more constructive than this.
Stop drinking the Jow Forums koolaid you fucking herd animal
Ok I'll do so pseudo code and see what I come up with, thank you.
What other options are there user? Teach me please.
Interesting so I wasn't wrong but you are saying most games don't have it all in a loop, how do they do it then?
Making it multi threaded seems more reasonable for me. Well, I guess for something like pong it's reasonable in a single loop.
You want to basically split things off into separate 'modules' or functions ran from within the main event loop. So, in one run of the event loop, you'll want to:
check for user input
draw a frame with the currently known coordinates
do any other logic related tasks
And you'll just constantly repeat this until something signals the end (i.e game over, user quits). I'd start by creating something that can draw what you want to the screen. In C, this can be done with ncurses. Then, work on having user input manipulate the position data, and see how the display function handles this. Then encapsulate it into a main loop.
OP is clearly retarded, imagine finishing your CS degree and ask in Jow Forums 'how to mkae gaymes'
>What other options are there user? Teach me please.
Running it multi threaded, look up what this guy wrote about Basically you can have on loop that updates the "GUI", one that reads user input, one that contains the logic for the game, or something similar. Then you send info between the threads with some thread safe queue or something.
Your first mistake was wasting time and money on a CS degree when you should have gotten a degree in software engineering or software design, technical art and graphics programming, etc.
CS degree is pretty useless for game dev. I'd hire someone with a math, economics, or psychology degree who learned programming on their own over someone with a CS degree.
>this is a toxic place that gives horrible demoralizing advice as you can see by this thread
It works great in Jow Forums
Unity has a bunch of tutorials.
There is no need to make pong multithreaded.
Jow Forums is filled with even more retards screeching at each other than Jow Forums
You can get better and more information by just looking shit up by yourself and quicker too.
It's great for the memes though.
t. ex-dyel that only started to get shit done after applying himself and making brain gains
I'm overwhelmed, there are so many engines and stuff I can use, I don't know where to begin.
So is it a good idea to just keep practicing C and learn some engine?
No, before you shit at me, I haven't finished a CS degree so I'm pretty new at this.
>I have almost finished my CS degree
I am so sorry.
You sound pretty lost. You need to have a more thought out idea.
Lots of languages can do terminal ascii games, choose whichever one you know best. The main issue you're having is that I don't think you've done enough planning.
You should start with the easiest game you can possibly imagine. Like, tic tac toe. Then go from there.
input :: IO Input
update :: Input -> Model -> Model
render :: Model -> IO ()
and just fill in the blanks
Yup, I have not learn anything in school. You always end up teaching your-self.
For 2d I would definitely recommend LÖVE. It's very well documented and very user friendly. There's other beginner friendly engines out there, pygame is also pretty good.
love2d.org
You'll also need a collection of art at least to prototype with. Textures and sounds and whatnot. Opengameart has a lot of stuff.
opengameart.org
There's plenty of other places out there that also offer free art assets. I mean, if you enjoy making art then of course you could just make your own, but if you want some premade stuff so you can focus on the programming end of things, there's plenty of it out there.
Download and mess around with Unity. Or Java.
Hey retard I literally wrote my first game when I was twelve. I didn't take any classes. I used the autoit scripting language because it was the only language I knew, then I pirated flash and made flash games with actionscript.
If you don't know how to do something you just fucking figure it out. My first step was "how do I display a window on the screen?" I found out what the windows API was, then the next step was "how do I draw in the window?" Learned about opengl but decided it was too complicated so I started by just storing pixels in an array (I didn't even know what a bitmap was) then iterating through the array and drawing pixels one by one, then I decided to make blocks and a basic physics engine, pretty soon I had a shitty version of pong and breakout, I even wrote a bot to play pong against with my shitty programming knowledge. I was twelve dude, I learned how to do that shit on gaming and scriptkiddy forums. You are an adult in University, pull your head out of your ass and use your brain
>he doesn't know
There's no reason to make pong.
It's a learning exercise.
Make all the design mistakes on your shitty pong remake so that when you have a real project your mistakes don't start costing serious money.
Just start. Your first stuff will be trash no matter what. You are like an artist trying to pick the perfect paint brush even though your paintings will look like a retarded 3 year olds finger painting no matter what brush you pick
lol, I remember making flash games at 12.
I totally forgot I knew how to do that.
while True:
Use unity like everyone else
>>larps about being in uni
>>is utter retard
>hurrr state of CS
Op should look into pyGame. It's not fancy but it's a good stepping stone. Later, you can try Unity. Good luck.
There is no "right way" to do it. Do not overthink things, just start by making the kind of content you would want to play. Do not try to just dive in to making your magnum opus or whatever, it isn't going to happen. Do not judge your work until it is done. Too much judgement halts creativity and trust me, you'll just hit a wall and be stuck with a bunch of half baked ideas and no real completed works. Other than that, just get the ball rolling with some smaller, simpler projects. If you keep at it you will get a better and better idea of what kind of game you want to make and how to make it. You may have some of the tools to make a game, but what you really need is to get a feel for the creative process. The only way to do that is to start creating.
tl;dr Don't overthink it, just get started.
bump
computer science has absolutely nothing to do with software engineering
If you're a beginner just use a game engine. You'll just frustrate yourself trying to do anything else (for now at least).
How do you even make a game engine? What knowledge is required to make games quality and fast? I keep hearing about software design, coding etc.
game engines are programmed
the two important features are
performance, so it runs well
architecture, so it's easy to build content for
performance is what people talk about the most but architecture is probably more important
you only find this knowledge through experience
Once I made a shell script with a main loop
I don't remember what it was but it had to be working all the time
It worked
Main loops are essential
What the fuck am I talking about?
Just go to libgen bruh and download some books on game programming
JavaScript on canvas something's
Java2D something
Or some python shit
Just keep it simple and trivial at first and soon you'll graduate to more advanced concepts
if
then
else
there, that's all you need
see this reddit
everybody likes this reddit
go back there faggot
Easy. Like everyone else.
You need a team of about a 50 and a few millions of dollars to pay them for a year or two.