Noob looking for suggestions

The Partridge Family were neither partridges nor a family. Discuss.
Post Reply
nubnub92
Posts: 2
Joined: May 24th, 2017, 7:45 pm

Noob looking for suggestions

Post by nubnub92 » May 24th, 2017, 7:53 pm

Hey guys I'm new to the forum. I am a software engineer who graduated with a computer science degree from IIT and I've worked for two years for a company called Cummins Allison, specializing in embedded programming. With my level of experience, where should I start exploring chilis website? I'm interested in transitioning to become an independent game programmer/designer. I'm particularly interested in his game programming tutorial series, but I want to know where to start to get the most from my time. Any input is appreciated, thanks.

Nub Nub

User avatar
krautersuppe
Posts: 91
Joined: September 14th, 2015, 10:58 pm
Location: Istanbul

Re: Noob looking for suggestions

Post by krautersuppe » May 24th, 2017, 8:46 pm

Welcome aboard.
nubnub92 wrote: I've worked for two years for a company called Cummins Allison
I like that. What's the most effective way to cheat a coin machine? :evil:
nubnub92 wrote:With my level of experience, where should I start exploring chili's website?[..] but I want to know where to start to get the most from my time.
It is hard to tell - i think you can assess it best by yourself. I guess you have already watched introduction video - that is probably how you found out about forum. Topics covered in each tutorial are there - so you can pick any. I think even if you have prior graphics programming experience - some recapitulation can't hurt.
Besides - his videos have entertainment value too so you can watch some of them for fun.
DSU
Discord: dsu1, GitHub: https://github.com/DSpUz

User avatar
cyboryxmen
Posts: 190
Joined: November 14th, 2014, 2:03 am

Re: Noob looking for suggestions

Post by cyboryxmen » May 24th, 2017, 9:08 pm

You would find that Game Development is an entire different kind of beast compared to Embedded Programming. Though I would imagine your knowledge on the hardware will help significantly on your journey. I'm not completely sure of your background experience to say which video you can start off at but I do have some general pointers specifically to Game Development.

When starting off, code optimisations and efficiency isn't your first priority and you'll be spending a long time trying out different ways to organise your code. Game projects can get huge real quickly and you'll find yourself trying to juggle different objects and manage their multiple unique interactions in an intuitive way. Start getting into OOP development. OOP is a good way of organising code into distinct types with specific properties. You can then use things like operator overloading and virtual functions to define how the types behave to different interactions with each type. There will be various patterns which you can use to define these types each with their own purpose and the tutorials are great at introducing them to you naturally.

Start tying to think in terms of loops, frames, updates and states. A game's runtime is a constant loop where each iteration of the loop is called a frame. Each of your objects exist in a certain state which will be updated once each frame. Their states will update based on its own state and the state of other objects in the previous frame. Actions in the game are done through these updates. The updates however won't finish doing what the action wants it to immediately but incrementally through multiple frames. What this basically means is that an action is not going to be completed in one update but rather it will take multiple updates before the action is done. Simple actions like moving objects across the screen to a specific destination will involve you updating the object's location by slowly moving it to the destination each frame until it reaches it. This line of thinking is going to need some getting used to especially if you are used to working with event based programs where the program just responds to keyboard presses and instantly executes an action based on that.

The frame of a game loop is usually split into 3 main sections: Input, Logic and Render. Input is self explanatory; it is the part where you process input from the user. Logic is where the states of your objects are updated. Finally, render is when you draw your objects onto the screen based on their updated states in the current frame. These 3 sections are done in the order they are mentioned and you probably already realise the reasoning behind the order chosen.

There are other things you need to know about when going into Game Development but you can learn those pretty naturally through the tutorials themselves.
Zekilk

User avatar
chili
Site Admin
Posts: 3948
Joined: December 31st, 2011, 4:53 pm
Location: Japan
Contact:

Re: Noob looking for suggestions

Post by chili » May 25th, 2017, 12:43 pm

cybor has some good advice up there. I'd just add that, given your background, a lot of the stuff in the beginner series is gonna be old news to you (intermediate as well really). But if you find them entertaining, go ahead and watch them anyways. I sneak some basic games ideas in there, even in the early vids, and they are pretty short as well (you can probably skip the homework).

What I do recommend is attempting the game projects. If you are confident enough, you can try attempting them even before watching the videos. They will give you some very basic gamedev experience, and probably won't be that hard/time consuming if you already got the language stuff down.
Chili

nubnub92
Posts: 2
Joined: May 24th, 2017, 7:45 pm

Re: Noob looking for suggestions

Post by nubnub92 » May 25th, 2017, 7:36 pm

Thanks guys, I think I'm just going to try watching a video a day starting from the top.

Post Reply