CS Student needs guidance

AcHa BaChA

Well-known member
Sep 11, 2009
1,883
0
41
C:\Pakistan\Punjab\Lahore.exe
Hey guys, I just completed my second year of BS(CS) at FAST Lahore. Uptil now, I haven't done any internships or social activities or learning on my own other than what is taught in university, since my focus has completely been on my studies. I have a CGPA of 3.6, which is very respectable at FAST. However, now that I have my summer holidays and third year is about to begin. I need guidance from you guys, the ones who are in the industry right now, as to what skills should a person possess to enter in to the industry confidently and secure a good job easily. I am interested in becoming a game developer(Android or iOS) or GUI(front end) artist. So can you guys please help me on how I should utilize these summer holidays. Should I learn Java and Unity? I dont want to waste my summer holidays.

Thanks in advance. Really really looking forward for responses.
 

asad3man

Omniscient
Jul 21, 2011
822
0
22
Karachi
That's the same. I'm also looking for someone who can guide for the future, what skills will be demanding when entering in industry. Helps will be highly appreciated.
PS: I'm into Programming, rather mobile or desktop application. ;)
 

V3N0M

PG Supervisor
Supervisor
Aug 29, 2010
587
0
21
Sweden, Gothenburg
www.mohdfaraz.com
I was thinking of going short but later thought it will be helpful for others if I share it so here it is,

From what I've seen in my one year experience in the game industry , there are two types of development & way of learning here in Pakistan - Soft Game Development/Learning & Hardcore Development/Learning . What I mean is that people/students lie in either of these two categories in Pakistan , both in development & when learning

Going into the Soft Game Development is not that really hard , you still will end up making games & impressing others . You will grab a tool , learn a language a little bit , watch tutorials & will jump right into the development . This is what students are mostly doing at the universities . And it's not just when you're learning , I've seen working professionals who are doing same sort of things into the development . They obviously know how to program & how to use a tool that will make up you a game or you can call it a 'Product' . But people in that category are like 'bas market men nikaal do' . A person with a 1-2 experience or a student with a FYP on VR don't even know sometimes what a game loop is or what is a graphics pipeline ? . This is really going to cost you in future if you want to have career in this industry . In short people are not that deep into the development .

Hard Game Development is opposite of what I've said above . People not just limit themselves to the Game Engines . They know or have learned about at least the basic blocks of engine architecture , worked on shaders , algorithms behind the AI .etc They can verbally explain you the technality behind a game mechanic or postmortem it even if it's a AAA game . Optimizing FPS , drawcalls, memory & CPU main-thread sort of things matter now . Such people are rare & students especially are really really hard to find . In short you actually know the low-level working of the engine architecture . Master it & you have a chance of landing a AAA industry job or getting accepted into a good postgraduate program in similar field .

So if you want to jump into the soft side then download Unity , open Youtube , watch tutorials & jump straight into the development but if you want to go the hard way then start with basic graphics/engine programming + 3D maths along with the Unity Engine . Read books & online articles too , it's really important . Thing is that we don't do reading ...



Sent from my LG-H818 using Tapatalk
 

AcHa BaChA

Well-known member
Sep 11, 2009
1,883
0
41
C:\Pakistan\Punjab\Lahore.exe
Thanks for the detailed reply [MENTION=24667]V3N0M[/MENTION] . I would love to hear what other people have to say about my question as well.

Furthermore, so learning on my own and really focusing on my skills is better than doing internships, right?

Also, if you have decent skills and degree from FAST, is it easy to get a respectable job with good pay?
 

V3N0M

PG Supervisor
Supervisor
Aug 29, 2010
587
0
21
Sweden, Gothenburg
www.mohdfaraz.com
No , internships are very important too if you are going at the right organization . You will understand how things are managed & delivered in the industry . Both self learning & internships are equally important imo ...

FAST degree alone doesn't gurantee you a job , it might take you to the interview room but it all comes down to your skills and how well you have performed in the interview . Im a Fastian too & my gpa was almost 1 gpa less than yours , so a reputable degree alone or a high grade isnt helpful .

Sent from my Nokia 1600 using Tapatalk
 
Last edited:

asad3man

Omniscient
Jul 21, 2011
822
0
22
Karachi
Thanks. [MENTION=24667]V3N0M[/MENTION].
I'd want you to guide me where to start this "hardcore" learning stuff.
 

EternalBlizzard

Lazy guy :s
Moderator
Oct 29, 2011
2,732
1,195
129
Attractor Field Beta
IF you've done both OpenGL and DirectX, tell the difference between the two. So far all i know is that OpenGL is for NVIDIA and the other one for AMD. Other than that is there any difference between the rendering pipeline? Which one is easier?
 

Shyber

PG Pioneering Member
PG Pioneering Member
Oct 11, 2007
16,826
2
44
39
The Land Down Under
You remind me of myself - from 11 years ago (yeesh I'm old :| )

Only reason I did anything back then were games and emulation. I hadn't learnt my first bit of C language in the first semester and I wanted to make a gameboy game for that semester. (I didn't because I couldn't. Just made a 3Dish Piano using Graphics.H :p). However, by my second year I did create a basic CS 1.6-like-graphics producing graphics engine, no shaders just fixed function pipeline. The gun and muzzle were still sprites over the 'camera lens' which was used to look around a 3D space/geometry and limited movement. I studied shaders and bump mapping and carmac's reverse algo for volumetric shadows and implemented them all. Collision boxes and spheres and most of my learning came from practicing on OpenGL, or GLUT more precisely. Used to do everything with C++/VC++ back in the day and DX 8.1/9.

So it was more graphics development/engineering than game design. You can create games without graphics and graphical apps which aren't games. I even did a 6 month job with a company where I created 3D Virtual Tour apps for some professional machinery used for training. The textures were actual hi resolution images taken by a professional photographer based on my requirements. I took a few pics myself whenever I was able to get security clearance for these machines.

Creating games on available frameworks/engines, I believe, is relatively a piece of cake than creating a graphics or games engine or framework yourself. It just depends on what you really want. I kinda figured out that creating graphics engines is a lot more fun and I learnt a great deal about how graphics are produced and what rendering pipelines are. But real fun was in playing games and not making them, for me at least.

Eventually, I got into mainstream world of general web apps, Inventory management, CRM, HR etc etc softwares. Software development is evolving at an unbelievable rate and everyday you're bombarded with frameworks and languages and toolsets, each more specialized towards a particular type of application or platform.

I think what's most important during academics is to learn the core and the basics. The underlying of the underlying and make sense of it all. Once your basics are rock solid, transitioning between languages and frameworks become easy. That's during the first 3 years of your academics. Go to the basics. Building blocks. C or C++.

In your final year, try to get a taste of both Java and .Net (preferably C#). Create a web application, from DB to server side to front end. Master design patterns. If you have the time and energy and the motivation to go mobile, dive into Android. When you work on Android, try to go native and avoid JS frameworks/wrappers. By then you will be able to figure out yourself what you enjoy and then perhaps you can make the decision yourself.

I hope I didn't confuse you further or deviated too much from your query.
 

EternalBlizzard

Lazy guy :s
Moderator
Oct 29, 2011
2,732
1,195
129
Attractor Field Beta
@AcHa BaChA
I hope i ain't hijacking your thread :) but i think a separate thread for this question is too much and the answer regarding this question will help you too so im gonna ask.

You remind me of myself - from 11 years ago (yeesh I'm old :| )

Only reason I did anything back then were games and emulation. I hadn't learnt my first bit of C language in the first semester and I wanted to make a gameboy game for that semester. (I didn't because I couldn't. Just made a 3Dish Piano using Graphics.H :p). However, by my second year I did create a basic CS 1.6-like-graphics producing graphics engine, no shaders just fixed function pipeline. The gun and muzzle were still sprites over the 'camera lens' which was used to look around a 3D space/geometry and limited movement. I studied shaders and bump mapping and carmac's reverse algo for volumetric shadows and implemented them all. Collision boxes and spheres and most of my learning came from practicing on OpenGL, or GLUT more precisely. Used to do everything with C++/VC++ back in the day and DX 8.1/9.

So it was more graphics development/engineering than game design. You can create games without graphics and graphical apps which aren't games. I even did a 6 month job with a company where I created 3D Virtual Tour apps for some professional machinery used for training. The textures were actual hi resolution images taken by a professional photographer based on my requirements. I took a few pics myself whenever I was able to get security clearance for these machines.

Creating games on available frameworks/engines, I believe, is relatively a piece of cake than creating a graphics or games engine or framework yourself. It just depends on what you really want. I kinda figured out that creating graphics engines is a lot more fun and I learnt a great deal about how graphics are produced and what rendering pipelines are. But real fun was in playing games and not making them, for me at least.

Eventually, I got into mainstream world of general web apps, Inventory management, CRM, HR etc etc softwares. Software development is evolving at an unbelievable rate and everyday you're bombarded with frameworks and languages and toolsets, each more specialized towards a particular type of application or platform.

I think what's most important during academics is to learn the core and the basics. The underlying of the underlying and make sense of it all. Once your basics are rock solid, transitioning between languages and frameworks become easy. That's during the first 3 years of your academics. Go to the basics. Building blocks. C or C++.

In your final year, try to get a taste of both Java and .Net (preferably C#). Create a web application, from DB to server side to front end. Master design patterns. If you have the time and energy and the motivation to go mobile, dive into Android. When you work on Android, try to go native and avoid JS frameworks/wrappers. By then you will be able to figure out yourself what you enjoy and then perhaps you can make the decision yourself.

I hope I didn't confuse you further or deviated too much from your query.
Nice dude. One thing i wanna ask, all this stuff, bump mapping, algos and such. Did you study them from random links or is there a proper book that gets you started. Similarly any book for OpenGL or just the internet? I am in my 2nd year but i've only implemented Dijkstra's path finding algo on OpenGL by now.. took me 2-3 months as there isn't much help regarding shaders after the fixed function pipeline became deprecated :s I plan to study low level game programming and all other low level stuff this semester-break like programming a ray tracer, height-map smoothing algo etc. so any resources would be nice.
 
Last edited:

Shyber

PG Pioneering Member
PG Pioneering Member
Oct 11, 2007
16,826
2
44
39
The Land Down Under
Nice dude. One thing i wanna ask, all this stuff, bump mapping, algos and such. Did you study them from random links or is there a proper book that gets you started. Similarly any book for OpenGL or just the internet? I am in my 2nd year but i've only implemented Dijkstra's path finding algo on OpenGL by now.. took me 2-3 months as there isn't much help regarding shaders after the fixed function pipeline became deprecated :s I plan to study low level game programming and all other low level stuff this semester-break like programming a ray tracer, height-map smoothing algo etc. so any resources would be nice.
Both, books and the internet. This might come as shocking but 2005 was an year when we still used Dial Up transitioning to Cable net. There was no Facebook and resource hunting on the internet hadn't kicked off (at least for me, personally). DX 9 was the latest thing and people were relieved to have to work with DX8 which was a big leap over DX7. (I know I feel ancient).

So yes, I definitely recall reading a couple of books, following a particular set of tutorials on DX basics on the internet. I also managed to get my hands on entire Visual Studio solutions of apps experimenting with different effects like self shadowing, normal mapping, ray tracing, self commented codes and PDFs explaining what is done where.

I think when you learn from someone's code (someone who's professional), you learn additional stuff like how the workspace is organized, how the code is written, when to do initialization, where is the best place to load assets into memory, when to free up memory (yes, memory management is your own pain in C++).

There is a chance that all this is stashed somewhere but I wouldn't bet on it. Most of my stuff I left back in Pakistan, specially academic stuff. As I said, it's been 11 years.

By the end of my third year, I had some help from a teacher. I can guide you to her if you're in Karachi University or can visit.
 

EternalBlizzard

Lazy guy :s
Moderator
Oct 29, 2011
2,732
1,195
129
Attractor Field Beta
Both, books and the internet. This might come as shocking but 2005 was an year when we still used Dial Up transitioning to Cable net. There was no Facebook and resource hunting on the internet hadn't kicked off (at least for me, personally). DX 9 was the latest thing and people were relieved to have to work with DX8 which was a big leap over DX7. (I know I feel ancient).

So yes, I definitely recall reading a couple of books, following a particular set of tutorials on DX basics on the internet. I also managed to get my hands on entire Visual Studio solutions of apps experimenting with different effects like self shadowing, normal mapping, ray tracing, self commented codes and PDFs explaining what is done where.

I think when you learn from someone's code (someone who's professional), you learn additional stuff like how the workspace is organized, how the code is written, when to do initialization, where is the best place to load assets into memory, when to free up memory (yes, memory management is your own pain in C++).

There is a chance that all this is stashed somewhere but I wouldn't bet on it. Most of my stuff I left back in Pakistan, specially academic stuff. As I said, it's been 11 years.

By the end of my third year, I had some help from a teacher. I can guide you to her if you're in Karachi University or can visit.
I'm in UBIT :D Are you by chance talking about Humera Tariq? She teaches Computer Graphics here in 5th semester but doesn't seem like she'd be there 11 years ago i guess
 
Last edited:

Shyber

PG Pioneering Member
PG Pioneering Member
Oct 11, 2007
16,826
2
44
39
The Land Down Under
I'm in UBIT :D Are you by chance talking about Humera Tariq? She teaches Computer Graphics here in 5th semester but doesn't seem like she'd be there 11 years ago i guess
Yes, she's the one!
I think she was new 11 years ago. She always had so much energy, and that constant strive to improve herself. I wasn't very fond of her at first and even argued why she taught OpenGL and why not DX at that time but I began to respect her. If you ask her anything she didn't know, she'll admit it, take time and come back later to you explaining it perfectly.

Tell her that you truly strive to learn graphics engine development, not surface level game design and you may tell her I sent you to her :p My name's Fawad, I wonder if she remembers me. Mention that I was her student 10 years ago.
(and let me know if she remembered the name lol).
 

EternalBlizzard

Lazy guy :s
Moderator
Oct 29, 2011
2,732
1,195
129
Attractor Field Beta
Yes, she's the one!
I think she was new 11 years ago. She always had so much energy, and that constant strive to improve herself. I wasn't very fond of her at first and even argued why she taught OpenGL and why not DX at that time but I began to respect her. If you ask her anything she didn't know, she'll admit it, take time and come back later to you explaining it perfectly.

Tell her that you truly strive to learn graphics engine development, not surface level game design and you may tell her I sent you to her :p My name's Fawad, I wonder if she remembers me. Mention that I was her student 10 years ago.
(and let me know if she remembered the name lol).
Niice, I'll be sure to talk to her and mention you. One of the few teachers left that are decent here. I already showed her my 2 projects and she was totally into making me get into image processing but i told her again and again that i ain't interested xD
 

Shyber

PG Pioneering Member
PG Pioneering Member
Oct 11, 2007
16,826
2
44
39
The Land Down Under
Niice, I'll be sure to talk to her and mention you. One of the few teachers left that are decent here. I already showed her my 2 projects and she was totally into making me get into image processing but i told her again and again that i ain't interested xD
LOL Small world.
In case she asks, tell her I'm just 10,600Kms away in the land down under.
 

Behrox

Seasoned
Nov 9, 2011
2,583
0
41
27
Karachi,Pakistan
[MENTION=24667]V3N0M[/MENTION] [MENTION=1054]Shyber[/MENTION] you guys know any online courses or books that can help start learning the basics of game engines and such?

- - - Updated - - -

Think of it like starting from scratch knowing only how to code, what is the first thing I should start learning/looking at?
 

Gizmo

Expert
May 6, 2009
12,863
2
42
Lahore
^^There's a book called game coding complete that I started reading but never really got into. Try that maybe?
 

EternalBlizzard

Lazy guy :s
Moderator
Oct 29, 2011
2,732
1,195
129
Attractor Field Beta
Also besides this any clue what I should start with, like learning about DX12, etc or something else?
Try "Game Engine Architecture" by jason gregory... I read Game Programming Patterns by Robert Nystorm and it was decent giving the basic concepts of the game loop and other programming problems. As for what to start with, that's a tough question i guess :s dunno about the difference between DX and OpenGL but both are fairly low level i guess and you get the idea of the rendering/graphics pipeline.
 

V3N0M

PG Supervisor
Supervisor
Aug 29, 2010
587
0
21
Sweden, Gothenburg
www.mohdfaraz.com
@V3N0M @Shyber you guys know any online courses or books that can help start learning the basics of game engines and such?

- - - Updated - - -

Think of it like starting from scratch knowing only how to code, what is the first thing I should start learning/looking at?
Game Engine Architecture as told by Eternal , I've also read some parts of it . Also if you can spend a little then by the course from GameInstitute.com , I bought it few years ago & you get so much material about game development like Graphics Programming section with both Dx9/Dx11 , Game Mathematics , AI Programming , Unity & also the art side stuff . It's a complete game development package which covers everything from art to low level programming . They have progress a lot in recent years & now have certification courses too .
 
General chit-chat
Help Users
We have disabled traderscore and are working on a fix. There was a bug with the plugin | Click for Discord
    NaNoW NaNoW: ....