How do I make a game? I have almost finished my CS degree, so I know programming/data structures...

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.

Attached: 1061023-source-ghost-in-the-shell-kwh-jpg-sorcerermag-1920x1080.jpg (1920x1080, 470K)

Other urls found in this thread:

gameprogrammingpatterns.com/
www-cs-students.stanford.edu/~amitp/gameprog.html
lazyfoo.net/tutorials/SDL/
en.wikipedia.org/wiki/Event_loop
twitter.com/SFWRedditGifs

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.

Attached: 1427188760674.gif (320x289, 341K)

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?

Attached: 123545.jpg (1739x1446, 169K)

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

Attached: download (2).png (600x566, 33K)

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.

Attached: TotallySafe.jpg (1916x1080, 1.08M)

gameprogrammingpatterns.com/
www-cs-students.stanford.edu/~amitp/gameprog.html

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

lazyfoo.net/tutorials/SDL/

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

Attached: cs grad template.png (402x443, 72K)

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/wiki/Event_loop . You should have a loop that refreshes the screen with coordinates at a set interval, checks for user input, and constantly repeats this.

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

Attached: 20190118_000111.jpg (416x416, 14K)

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

Attached: Pepe_83.gif (600x450, 1.99M)

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.