Archived

This topic is now archived and is closed to further replies.

Impeesa

Help setting up stuff for some real beginners

Recommended Posts

So last summer I worked at a science camp for older kids (13-17 yrs). I mostly covered the computer stuff. One of the main things we did was some very simple game stuff - using DJGPP and Allegro, they drew stuff to the screen, and did some simple collision detection to recreate what basically amounts to tag. I''m back this year, and I''d like to do something a little more interesting. Given the fact that most of them will have little to no prior programming experience, this means I''ll have to provide some sort of framework for them to work with. The catch? I don''t have enough time to teach myself from scratch and still get everything else ready. I''ve already done some Googling, and I can''t seem to find anything quite like what I want (maybe I''m just dumb*...) Basically, what I''d like to do is provide some sort of framework for a 3D projection. Something really simple that would let them draw lines or shapes on a 3D ''surface'' and then draw that to the screen. For their part, I''m thinking it may be best to put them in groups and have them do a simple project from that - 3D Pong, for example (one student makes paddles that move, one makes a ball that moves on its own, one does collision detection, that sort of thing). So my questions for you all become: 1) The most obvious one - does anyone have anything like this already made? The less fancy, the better, ideally it would be simple enough that I could walk them through the code and explain how it works. 2) Barring that, would anyone here be kind enough to volunteer a bit of time to help me put something like this together? 3) Any suggestions for a compiler? Is this feasible with the same stock DJGPP/Allegro setup I used last year? 4) Anyone ever do this sort of thing for a science camp before? Or have any cool ideas for other stuff we could do? One of the non-computer things we''ll be doing is some forensics, so I thought some internet-based information gathering puzzles might be cool. Anyways, thanks in advance to anyone who can help me. Feel free to pass this on to anyone else who might have ideas for me! --Impeesa-- *This is entirely possible. I''ve just finished my third year of a computer science/physics double major, I just haven''t done any 3D graphics at all.

Share this post


Link to post
Share on other sites
Well I cant help you much with the learning buth i do know that your ideas are boring!

I am 15 and I learnd (in last 5 months) :
+ C/C++
+ DirectX (8/9)
+ OpenGL
+ OpenAL
+ OOP - object oriented
+ And i don''t live in ENGLIS speaking country so all the tutorials on the net where hard to read.
+ And i am going to school

So instead o learning some 3D projection try using a 3D API (OpenGL for beginers - easyer than Direct3D)

If you want some tutorials on 3D (and demo samples like pong...) go to nehe.gamedev.net and look around. This site is about OpenGL wich is a lot easyer to lear than DirectX

If any one in that camp know c/c++ they shoud hawe no truble using a 3D API (and i think it is easyer then doing the 3D projection !!)

As for compiler use DEV-CPP - free/fast...

P.S.
SORY ABOUT GRAMATICAL ERRORS

Share this post


Link to post
Share on other sites
There''s the rub - most of them don''t know C++, or any programming at all. We have about two weeks to a group, and not all of them are as self-motivated as you. The idea is to give them a look into the general principles of this stuff, rather than a comprehensive lesson on APIs or whatever.

--Impeesa--

Share this post


Link to post
Share on other sites
Then "framework for a 3D projection" is more complicated then they can understand. There is a loth of math behind 3D projection and it is definetly not "Simple" - especialy for someone that does not know how to use a programing lanuge.

And how do you plan to draw things on the screen?
The only way I know it is trtough GDI - and that is harder then API beouse API is realy not that hard.

If you are working with someone widouth any expirience in c/c++ and want to draw stuf on the screen i recomend using QBASIC

Yes,yes i know it is for DOS, it's old .... but it's realy easy to learn and drawing 2D stuff on the screen is a peace of cake.

But I stil think that your plans are wery inapropriate for someone who hasent understud the basic's of programing becouse there is a loth of MATH (sin,cos,tan) that ewen i hawe not learnd at school and you where mentioning 13-17 age.

I stil think API (OpenGL) is the best way .
And if you decide to use API you can still "give them a look into the general principles of this stuff". You have to realize that at least 50% of gamedevelopers don't know the math behind API or framework for a 3D beouse they cant understand it - that's why API-s where build for (among other stuff).
And if you learn them the OpenGL they will hawe no truble with switching to other API , and understand the basic idea of framework for a 3D.
P.S.
If you decide to use OpenGL you might want to write your initalisation code and let the students write the game (so they figure out the Vertices,Triangles widouth boring initalisation.
If you want i can write you a simple tutorial (with lots of coments) for OpenGL with initalisation code.

[edited by - Red Drake on May 26, 2004 5:08:46 AM]

Share this post


Link to post
Share on other sites
quote:
Original post by Red Drake
Well I cant help you much with the learning buth i do know that your ideas are boring!

I am 15 and I learnd (in last 5 months) :
+ C/C++
+ DirectX (8/9)
+ OpenGL
+ OpenAL
+ OOP - object oriented
+ And i don''t live in ENGLIS speaking country so all the tutorials on the net where hard to read.
+ And i am going to school

So instead o learning some 3D projection try using a 3D API (OpenGL for beginers - easyer than Direct3D)

If you want some tutorials on 3D (and demo samples like pong...) go to nehe.gamedev.net and look around. This site is about OpenGL wich is a lot easyer to lear than DirectX

If any one in that camp know c/c++ they shoud hawe no truble using a 3D API (and i think it is easyer then doing the 3D projection !!)

As for compiler use DEV-CPP - free/fast...

P.S.
SORY ABOUT GRAMATICAL ERRORS




in 5 months?? O_o
yikes you either have much time or are a "fast" learner :D

took me a year to learn C++ (already knew C), Qt, a bit of SDL and still doing OpenGL while going to school (Informatics, where we learn Java, VB JS, JSP, Servlets, AWT/SWING, and had to work 8 months on a huge project)
well, you''re definitly on the right track at this speed

Share this post


Link to post
Share on other sites
Before that I already knew Visual Basic and QBASIC (2 years, school contests ...) so only thing new in C/C++ was pointers and SYNTAX (maybe a lithel new things with classes from VB).
Then Before Five months i started to learn VB & DirectX (from DX4VB page).
Then I transferd to OpenGL & C++ after two months (it has taken some time to learn DirectX becouse of basic understanding of matrices, lights, materials ....) I used NEHE site (it''s the best)
After that i brushed up on C++ (Classes, constructors....)
Then i saw an audio 3D API on the net and learnd it - OpenAL
Now I am learning Assembler & CPU SIMD optimizing with gcc/g++

"yikes you either have much time or are a "fast" learner :D"
No i dont hawe the time realy but I was starting to fall behind at school becouse I was (and I am) opsesed with GameDeveloping. Now the school is back to normal.

P.S.
The school i go does not even hawe informatic as subject (it is optional)

Share this post


Link to post
Share on other sites
quote:
Original post by incubator01
in 5 months?? O_o
yikes you either have much time or are a "fast" learner :D


Chances are his knowledge is fragmented. Learning the of what he posted basics can take a few weeks. Understanding them can take a few months. Mastering them will take a few years.

Anyways, to the OP...

Try teaching them OpenGL using SDL as a crutch to avoid having to deal with the more "advanced" Windows-specific stuff. It should be pretty easy to get them started. Have them write a simple game, like some kind of dodgeball game or pong (both amount to the same thing, but the former would be like with multiple paddles...)

Share this post


Link to post
Share on other sites
Why not use something more high level, like one of the game-orientated BASIC environments (Blitz Basic or Dark Basic spring to mind). Dunno what the pricing for those is. If you''re looking to keep it free, then perhaps something like Python (and PyGame) would be another idea.

Share this post


Link to post
Share on other sites
to RuneLancer :
"Chances are his knowledge is fragmented. Learning the of what he posted basics can take a few weeks. Understanding them can take a few months. Mastering them will take a few years."

Wel of course it is. I mean I coud not move a single step in lightning, particle efects, shadows (advanced topics) ... widouth documentetion . Buth after all why is documentation hear anyway.
About hte understanding - I try to understeand the every article teoreticly, and as for code - I coud not write an initalisation engine widouth docs becouse i dont know functions (the names) and I asume that most of other people don't know all (i do know basics like GLBegin()...).
I think that is important to understand the teory and no learn evrithing like machine (if you dont remember somthing readi it later when you need it).
The way i test my understanding of som article is that i read it (lets say shadows) and if it's for OpenGL i convert it to Diret3D...

As for SDL why not use OpenGL GLUT library (it has initalisation code in GLUT_Initalise () function ....)
And about Blitz Basic or Dark Basic , I think non of these cind of ompliers are free (these two are not).

P.S.
Why are we dicusing about my programing on this post ??
I think this has nothing to do with Impeesa or his question

[edited by - Red Drake on May 26, 2004 12:28:25 PM]

[edited by - Red Drake on May 26, 2004 12:36:46 PM]

Share this post


Link to post
Share on other sites
Python has OpenGL bindings and is pretty easy to pick up, even for non-programmers. I took a college level Physics course that used Python to simulate interactions between charged particles... and even the students in the class with absolutely no programming experience had no difficulty picking up Python''s syntax. It''s not the best interface for making a game but it is sufficient for the simple type of game that you''re aiming to create.

Share this post


Link to post
Share on other sites
quote:
Original post by Red Drake
to RuneLancer :
"Chances are his knowledge is fragmented. Learning the of what he posted basics can take a few weeks. Understanding them can take a few months. Mastering them will take a few years."

Wel of course it is. I mean I coud not move a single step in lightning, particle efects, shadows (advanced topics) ... widouth documentetion . Buth after all why is documentation hear anyway.
About hte understanding - I try to understeand the every article teoreticly, and as for code - I coud not write an initalisation engine widouth docs becouse i dont know functions (the names) and I asume that most of other people don't know all (i do know basics like GLBegin()...).
I think that is important to understand the teory and no learn evrithing like machine (if you dont remember somthing readi it later when you need it).
....



Amen brother

back to the subject, i reckon that u shud teach them C++ first, im also 15, and thats what i learn first. Then let them learn OpenGL, but onl y the rawing stuff, (not init). But be cazreful beacuse most 13-17 year olds arnt very motivated, and i know from personal experince that getting a team to sift their ass is difficult.

-------



"Here lies a toppled God,
His fall was not a small one,
We but built his pedastle,
A narrow, and a tall one"
Frank Herbert (Dune:Messiah)

[edited by - Kris2456 on May 26, 2004 3:54:38 PM]

Share this post


Link to post
Share on other sites
Whel motivation isn't that hard.
Yust tell the guys that if they learn game development they will be able to earn 300.000 $ if they are good (i read that this is the top at gamasutra)
I don't know abouth the others but it certanly motivated me. Besides I like game development
The idea of makeing a game is kind of a cool
P.S. say that i am geek buth i dont care - I don't know you

And a question to Impeesa:
I don't understand the idea of this "science camp" becouse in Croatia ther is no such thing.
How come the students that come there dont qnow programing ??
Shoudent this things be for advanced kids ??

[edited by - Red Drake on May 26, 2004 6:15:14 PM]

Share this post


Link to post
Share on other sites
Red Drake: Basically, it''s a two-week course where the kids show up each morning and stay all day. In our case, we offer three different streams - physical science (physics/chemistry), life science (biology/environmental science), and computer science. Generally speaking these are just average high school kids who come to learn a bit about some area of science that interests them, rather than people with any prior experience.

Thanks to everyone who''s posted. If someone knows of a very simple OpenGL demo that they could turn into a Pong type of game, that would be cool. Barring that, I think I may start writing such an engine myself... shouldn''t be hard, it only has to draw lines anyway, right?

--Impeesa--

Share this post


Link to post
Share on other sites
"shouldn''t be hard, it only has to draw lines anyway, right? "
Man eather you are yoking (hopfuly)
or you belive it''s yust drawing lines
Lines hawe nothing to do with this (basicly)
As I mentiond before go to nehe.gamedev.net - demos, tutorials every thing you can think of.
If you hawe hard time learning it I coud write it for you (but only if this is the "only" option).
I still hope you are yoking

Share this post


Link to post
Share on other sites
I should clarify that - something that tracks points/lines in space and renders a wireframe image would be sufficient for what I''d like to do. For an actual 3D engine, I know, that''s a trivially small portion of the things it has to do.

--Impeesa--

Share this post


Link to post
Share on other sites
Yes, yes buth hawe you considerd what i told you earlyer
You will hawe to use trigonometric functions that are (in my school) learnd at 2''nd year (16 + yrs.) so if any one doesn''t know his math what then.
And you hawe not anwserd the question - do you need me to write your code or not (It''s the reason I am looking at this post)
I woud yust make an inatilisation code and add som simplified draw function ( like GL_DrawBall (radus), GL_DrawSquare (x,y)...) so you dont need to show them non of OpenGL code ( and it will be easy enough for anybody) - so you can let them wory about coallision, moveing, input ...

Share this post


Link to post
Share on other sites