Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 16 Jun 2011
Offline Last Active Jun 15 2014 06:23 AM

#5137708 Best projects to learn OpenGL from scratch?

Posted by timothyjlaird on 09 March 2014 - 10:27 PM

I'm making the assumption that you are totally new to shaders and low level 3d...don't mean to be condescending, I'm still learning a lot myself. This is where I would start though if I could do it all over again...


Start with little...seemingly insignificant details. Rendering a point, a triangle, two triangles together (a quad), a cube, a sphere, then finally an arbitrary mesh from a parsed Wavefront OBJ. As you move to each new more complex piece of geometry focus on mastering it...for example, walk through these steps (not in any particular order) with a cube...


1. Can you put a different color on each face of the cube?

2. Can you map a texture to the cube?

3. Can you map/blend two textures onto the cube?

4. Can you rotate, translate, scale the cube and rotate it around both its axis' and another point in space?

5. Can you render the cube with either an orthographic or perspective projection? Can you switch back and forth on the fly?

6. Can you pick (or select) an individual face on the cube and turn that particular face to a black and white texture as opposed to a colored?

7. Can you put the same color on each face and still have them be distinguishable (as opposed to a blob) by using vertex normals and a directional or point light?

8. Can you switch between per vertex lighting and per fragment lighting?

9. Can you draw two, five, or twenty cubes with the same geometry but with different sets of shaders (swapping them in a single draw)?


Experiment. Above all, I would concentrate on writing your own shaders as you go...steal and loot other people's ideas once you understand them, but don't do an outright copy.

#5135972 Is learning 3D modelling for programmer is TIme Waste?

Posted by timothyjlaird on 02 March 2014 - 08:49 PM

Even if you are doing indie games you will probably be on a (small) team. In a professional capacity you will be on the same team with artists developing a game...even if all you are doing is coding it always helps if you can better understand your co-workers jobs and needs. And obviously at some point you'll need to be able to get the art assets that 3d modellers make into the game itself...you'll have to code/support the tool chain that handles that. Making 3d models yourself and getting them into a working game engine is a good way to better understand that process. If nothing else you can make a few models and then write code to parse the files into vertex (position, normal, texture coords for example) and index buffers for OpenGL.

#5135242 WEBGL Game; things started in C++

Posted by timothyjlaird on 27 February 2014 - 07:12 PM

Just so you understand...WebGL is not c++...it is JavaScript and GLSL with calls to OpenGL ES2 running in an HTML5 canvas. If you are going to code CPP then use full OpenGL.


OpenGL ES2 has a reduced feature set targeted at lower end hardware. It it designed to run in a browser which means you have to pander to people with crappy hardware and all resources have to be loaded asynchronously (ex. textures, 3d models, shader files). It is not designed to compete with full OpenGL on performance or quality. However...it works on most peoples machines...portability is it's strength. Does that clear anything up for you?

#5133635 Advice for kids?

Posted by timothyjlaird on 22 February 2014 - 01:48 PM

I would recommend Blitz3d...like some of the others did. It's simple...it comes with it's own IDE and uses a bastardized form of BASIC. Has quick return on investment so I suppose it would be a good choice for those with short attention spans (kids). There is a good layer of abstraction between the underlying graphics API (old DirectX) and the language...so at the expense of flexibility you can still achieve some really cool effects and not have to dive into a shader language (HLSL in that case) or linear algebra. After a few simple games he'll realize that Blitz3d does not scale very well at all to more complex projects...and you can get him started on something more powerful like XNA4.

#4987518 trying to figure out what to do

Posted by timothyjlaird on 06 October 2012 - 05:00 PM

This all helped a great deal, i believe i will start learning c# and python

thank you guys for the help Posted Image

on the languages note, are there any recommended books to pick up for c#/python?

For a grounding in C# the Deitel series is not bad. Although it may be like drinking water out of fire hose for a beginner. I would look at some online tutorials first. Once you know what you are looking for then maybe spend $50 on a book.

If you do choose c# as a first language and master some of the basics (and still want to pursue gamedev) I would recommend Learning XNA 4.0 by Aaron Reed (O'Rielly Series). Once you get further into the book it slowly introduces some basic concepts of object oriented programming and gives you practical reasons to use them with XNA...as opposed to just handing you raw theory. That said...the book's coverage of HLSL (and 3d as it applies to XNA) is a bit shallow, so you should not expect to be an expert on XNA or anything, but it will give a starting point.

#4983883 No knowledge of programming, wish to create an android game without aforement...

Posted by timothyjlaird on 25 September 2012 - 10:51 PM

The only thing that even comes close to "no programming" is Unity 3d. Per the website $1900(unity pro+android basic) or $3000(unity pro+android pro) is available. You'll still be scripting at a bare minimum...and if you don't want to program I doubt you'll get anywhere with scripting. Why are you here then?

Also, android game development isn't the best place to start. You don't even really have control over the life of the program...you just react. For example, if the user tilts the screen you have to drop everything you are doing, save the state before the OS kills your program, then you have to reload everything from state once it starts back up again.

Android life cycle...

#4980692 C# and C++

Posted by timothyjlaird on 16 September 2012 - 01:25 PM

Figure it out for yourself...

Take some time and install VS2010 Express for c# and c++...all the tools that you need at this point are free. Make your goal drawing a single triangle in a window. First complete the task in c#, then in C++. Leverage the XNA (c#) and DirectX (c++) APIs/toolkits to do the drawing. Tutorials for this sort of thing are spammed all over the place. Just do some research with Google.

Get that far and you be able to ask much more specific, intelligent questions on which language and api/toolkit to learn more about.

#4980275 Valve introduce greenlight fee - is $100 too much?

Posted by timothyjlaird on 14 September 2012 - 09:17 PM

$100 is a drop in the bucket...It's a token amount to sort out people who are not serious...

#4977084 Help, teaching 12-13 year olds to code

Posted by timothyjlaird on 06 September 2012 - 12:05 AM

Maybe I'm stating the obvious but if I was teaching kids my first priority would be to get them to understand the concept of OOP (mainly inheritance).

That is a terriible terrible idea,

I have to second this.
As a kid I got started with BASIC.
The cool thing about basic is that you don't even need functions.

Your average 12 year old does not understand:
1. If statements
2. Functions
3. Loops
4. Variable Typing
4a. Variable declaration
5. Splitting code into different modules etc...

BASIC did not require any of these concepts to generate a cool result.
As a kid, easy success is a great motivator.

Since basic does not really exist anymore (Visual basic is more like C# / Java),
I am thinking one might think of toying around with java-script as a first language.
It does not require any of the above (you can even use undeclared variables in global scope).
It might actually be useful for the kids later.

Little by little you can add the more complicated concepts listed above.

The downside is And there are no easy input functions such as getch() or scanf(), and the javascript canvas is as complicated as any GDI library.

But I don't know any language with a graphics library as simple as basic:
DRAW "r5 d5 l5 u5"

Regarding OOP specifically:
It is not a "Holy" concept.
As someone who learnt to program before good C++ compilers were available for home development, you can do a-lot without OOP,
Teaching it as the only way of programming is major mistake universities make today.
It causes programmers to believe that over-designing is a goal in itself.

A lot of what you just said makes me cringe...though I have already tried to make my point and I will move on.

However...BASIC is not quite dead. Blitz3D uses a bastardized form of BASIC. Unfortunately the license costs $60 and it requires DirectX (version 7 I think). I did not mention it before since the person who was starting the thread does not have the resources (money and decent video cards) to leverage it. I bought a license a few years back and developed a simple game on it. It is great for learning the fundamentals of working in 3d graphics and some people have made some really cool stuff with it. I stopped using it because the code became very difficult to extend and maintain. If you want to try it or any of their other products, see here:


#4976365 Help, teaching 12-13 year olds to code

Posted by timothyjlaird on 04 September 2012 - 04:37 AM

Maybe I'm stating the obvious but if I was teaching kids my first priority would be to get them to understand the concept of OOP (mainly inheritance).

That is a terriible terrible idea, and probably the reason why so many beginners tend to create complex class hierarchies even in the most trivial situations, and even though it doesn't buy them anything. Inheritance should be used about as often as function pointers are used in C programming, and for about the same purpose (multiple dispatch).

Did you even bother to read the rest of what I wrote? If you are going to quote me, quote the whole thought not just the section that you want to harp on. What I was suggesting was to let them write code without OOP until it becomes unmanageable for them. Then give them the extra tools as a solution.

Are you saying that there are no other benefits? Like code that documents itself? Or avoiding copy-pasting to implement similar but subtle differences in logic? How about code that can actually be tested in bits and pieces (components) rather than the whole damn thing at the same time?

#4973939 Torque 3d! is it worth the time and money for an MMO?

Posted by timothyjlaird on 27 August 2012 - 05:27 PM

The problem with making an MMO (and other modern 3d games) is not so much the programming as all the damn artwork you need. I don't understand why you would penny-pinch on an engine ($100 or $200 for the license) when you need to spend >$3000 for tools to make professional artwork (3D Studio Max or Maya and Photoshop). Sure, you may be able to do it in Blender...good luck with that on the scale you would need for an MMO...

#4959381 I Need Some Help For a Terraria Like Game

Posted by timothyjlaird on 15 July 2012 - 05:02 PM

I would try out SDL. It should work on a Mac OS X. See here: http://wiki.libsdl.org/moin.cgi/FAQMacOSX

It's a good framework for 2D games that can be extended with other libraries to 3D if you so desire. You can get more information here: http://www.libsdl.org/

Also, it is much easier to understand what you are trying to ask when you put each thought in its own sentence and drop a newline in-between them.

#4955484 College advice?

Posted by timothyjlaird on 03 July 2012 - 05:10 PM

The only thing I can say is to concentrate on the math courses...calculus, linear algebra, parts of discrete math in addition to programming. As a CIS major I sidestepped some of the more math intensive courses and it's making shader programming a bit difficult because I'm having to relearn some of the stuff I glossed over in college.

Also, I would recommend a CS degree instead of a specialized "game development" degree. It's a lot more portable, and the way the economy is you may not get a game dev job right out of the gate. Also, I would strongly recommend doing your own side projects (not necessarily connected to school)...if you can do some really cool stuff on your own it'll be easier to get a job after college.

Another thing...don't fixate on what school to get into. Things change so fast in the software dev world that you'll have to learn to teach yourself and experiment in order to keep moving anyway. College is just the beginning...and the instructors are really there just to guide you along and give you a sort of safety net. The real world is much less forgiving.

Hope some of what I said makes sense...good luck.

#4940248 Where do i start :(

Posted by timothyjlaird on 14 May 2012 - 06:26 PM

Well you need a grounding in object oriented programming and algebra (linear algebra if you want to go 3d) to really get anywhere. Probably the most obvious route is the c# language with the XNA toolkit. If you are impatient, you can try Blitz3d...which is a like BASIC but with some hacky object oriented mechanics thrown in. It's a shortcut to 3d graphics but you'll reach the limits pretty fast. Probably the best thing you can do is teach yourself how to do research...99% of the time someone else has confronted with the same problem.

#4828541 A Newbie, A Vision, No budget.

Posted by timothyjlaird on 27 June 2011 - 10:52 PM

Hello everyone, my name is obviously Ageshero, And i have an extremely bad habbit of biting off way more than i could ever chew.

Go easy on me, dont use fancy words(cause you are smarter than to waste that kind of time on me, haha.) No crazy lingo that anyone outside your hobby could ever understand, and if you going to use it, tell me what it means.(Also, there's a whole load of elitist jerks that keep pointing out some how, no matter how i write, that my post is a wall of letters, Get the hell over it okay? Hahahaha.)

Okay, So here is the point, i want to make a 2D Action/Adventure/ RPG video game, Top down probably. I'm aware of engines like Gamemaker, but it seems a bit annoying... and i don't know if its what i want.
I have no Coding or programing experience, lets even assume that i don't even know what that is.

I'm sure there are plenty of problems to have to work through as i go on with the project that i want, It's probably going to be a pc only game, though getting it to work as a homebrew title for some random device would be absolutely wonderful.

I've pretty much got my head wrapped well around the aspects of Art, pixels, Animation, and im working on getting a fluid work flow and understanding music composition programs and sound effects for a classic feel, being a painter and general character artist etc, and also a musician, im ontop of that.


So what i need is some sources on what i should do to start learning how i would make a game. Or a really stretchy game engine that will let me do whatever i want ( Anything that is more flexible than RPGMAKERVX which is seems pretty limited and feels like i havent made my own game at all in any way. And might be the same if not easier than GAMEMAKER)

If i find that game maker is really what i want, what am i able and not able to do inside of this. I dont want "THIS GAME WAS MADE WITH GAMEMAKER" slapped on to some poorly designed and ugly loading screen. I figure theres probably a way to remove it.

So basically in the end im asking if there are any programs i should be aware that will help me make my game, but not take the development abilities away from me.

I want to be able to make cutscenes, and interesting title screens and things. If anyone has some help of any kind, please throw it at me.

Earthbound is the best example, a game pretty similar to the style and function of what i want.
(info like, how on earth did they make things Flash, move, animate, The crazy little background motion effects)


Another little bit of info, If gamemaker is my option, I want to make it look like game maker was never even there. I dont want framerate Defying smooth motions that destract entirely from the pixelly style of the game either.

Hope this wasnt to confusing, any help is appreciated ( im not a rocket scientist, speak english please.)

I tried jumping right into 3d game engines to make games...for a while. Then I realized that I had no clue what was going on in the background, at a lower level. So I started experimenting with OpenGL, and while I'm rather limited (the best I'm doing right now is a textured cube (albiet with VBOs, texture objects, and vertex normals), I understand what is going on.

It's a road less traveled, but you learn a lot more. I would recommend that you write these game ideas down in a binder and then stick it in on the shelf. Work with the basics for a while (the root APIs- OpenGL and DirectX). Then once you are competent in the basics, pull the binder off the shelf. One more thing- almost all successful games of any size (even 2D) are built by a team. Not individuals. Start small.