Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

Game Engines

Name: Anonymous 2007-05-21 5:17 ID:hMF89Mth

Hay guyz

I'm a third year cs student wanting to start my own (small) 3d game project. The trouble is I can't pick out what engine to choose. I skipped out on my graphics paper so I don't know much about 3d mathematics. I know how to program in C, JAVA, perl, python and (sigh) ActionScript. Don't know much about C++ but have written a few classes in it.

What 3D engine do you recommend?

I have tried some one the clunker ones, such as ORGE and Irrlicht(sp). I managed to write my own program in C that makes basic polygons, but looking at the math required to make it into a 3d model just confused me.

tl;tr

Name: Anonymous 2007-05-21 6:17 ID:DPHgJePC

lol
c# sucks
and you are an idiot

Name: Anonymous 2007-05-21 7:04 ID:9wW95p3a

Irrlicht.

There aren't many choices as far as BSD/zlib 3D engines go, and if you go with an LGPL engine you're forced to comply with the "new version" clause, which is pretty risky because 3D libraries are something that can easily break or at least be inconsistent across versions. The only other copycenter engine I know of is Lightfeather, and last time I used it it had essentially no media import path so it's a nightmare to get even basic animation into it.

Irrlicht is pretty limited and not very fast, but unless you're planning on rewriting Far Cry or something, it's certainly good enough for anything a group of CS students could write (no offense). It cross-platforms amazingly well; if you use GCC and MingW, there is literally not a single line of code needed for compatibility, not even an #ifdef. It's also fairly well documented, and there's a surprisingly large community for the rather disappointed number of projects that use it. Maybe I'm biased because I have a certain familiarity with it, but I quite like it (even though I've had to dive in and modify the engine on several occasions to make it do what I wanted).

The only other LGPL engine I can think of off the top of my head (besides OGRE) is Crystal Space. Never used it.

Good luck on your project.

Name: Anonymous 2007-05-21 7:22 ID:Heaven

Say, what's this OpenGL thing I keep hearing about?

Name: Anonymous 2007-05-21 8:27 ID:hMF89Mth

>>2
C# huh?
>>3
Thanks, will give Irrlicht another shot. (I had trouble getting it to bind to c++. Thinking about finding another compiler).

I had a look at crystal space, its done in mostly c++. so want to avoid :P

Name: Anonymous 2007-05-21 8:33 ID:9wW95p3a

>>5
I had trouble getting it to bind to c++
What? The engine is WRITTEN in C++.

Get Code::Blocks with MinGW and compile the examples, and go from there. Avoid Visual Studio as much as possible.

Name: Anonymous 2007-05-21 9:04 ID:5cUiF+c3

>>3
I don't think LGPL will be an issue, except if you're trying to be dishonest.

Name: Anonymous 2007-05-21 9:51 ID:9wW95p3a

>>7
I don't think you understand the requirements of the LGPL.

6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.

You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:

    * a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)
    * b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with.
    * c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.
    * d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
    * e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.


This means a) users are legally entitled to modify the 3D library at any time to do whatever they want (make walls transparent in FPS games, etc); b) users are legally entitled to reverse engineer and modify your project, and you're legally required to treat them the same as "official" users (e.g. you're legally required to let them play on your servers with hacked clients); and c) if you plan to keep your project closed source, you are legally required to make it work correctly with every new version of the engine released.

For something like a desktop graphical toolkit, the LGPL is great; people can't cheat at desktop computing, and toolkits are not prone to breakage in version updates.

For a 3D engine, it's a disaster waiting to happen.

Name: Anonymous 2007-05-21 12:24 ID:5cUiF+c3

users are legally entitled to modify the 3D library at any time to do whatever they want (make walls transparent in FPS games, etc)
Because they'll totally not do it if it's distributed as binary, or if it's illegal to reverse-engineer and modify.

users are legally entitled to reverse engineer and modify your project, and you're legally required to treat them the same as "official" users (e.g. you're legally required to let them play on your servers with hacked clients)
Ok, this is one possible interpretation (I think there's room for argument but I won't argue anything to it) and it's indeed a problem, but it's not like people don't do it in other online services anyways. Just make the game properly, server-sided, indestructible. The user may look like he's Chuck Norris from his side but if he attacks the server says "NOW YOU DEAL 1 DMG OK" and subs 5 from the other fag. If the service is properly designed, it can't be cheated.

if you plan to keep your project closed source, you are legally required to make it work correctly with every new version of the engine released
I don't see how you are compelled to do this, but if you are, well, don't use open source for closed source! That's kinda bad. Keep it open source. Open source doesn't mean the server is free or it's going to be hacked (in fact, it means you'll be able to find and fix your exploits much sooner). Or at least use the work privately and you'll be fine; GNU licenses are about distribution, you're actually free to do anything with the software.

Name: Anonymous 2007-05-21 13:02 ID:DPHgJePC

>>5
I'm sorry, i thought "cs" in your post was c#.

Name: Anonymous 2007-05-21 13:13 ID:K6Cnb5ah

>>1
You may want to start off with something easier in the language you are most comfortable with, like Python with its graphics library.  Make a really simple game to get a feel for what game engines require, then move on to more complex stuff in C++.

Name: Anonymous 2007-05-21 13:28 ID:h3YPm8ty

>>11 STFU NOOB! YOU HAVE NO CLUE WTF YOU ARE SAYING! DIE! SCUM!

Name: Anonymous 2007-05-21 15:00 ID:Kw2HIGjh

>>1
Make your own.

Name: Anonymous 2007-05-21 15:47 ID:StSQBR6N

Actually, rendering a 3d model made of polygons isn't that hard with OpenGL. If your game doesn't need to look too next-gen just render the whole shit by going through the model data, which can just be an array of vertices or something more complex, calling glVertex (and glTexCoord) for each vertex. Once you get that working you could actually make it fast by using vertex buffer objects or at least display lists.

If you can get the above to work all you need to do to draw them where you like is to set the matrices correctly, and if the 3d math confuses you there's utility functions to help you with that.

Writing or googling a good parser for a 3d model format might take some time. There's also the issue of creating a decent data structure for your game's state, though a strong background in computer science might help with that.

Name: Anonymous 2007-05-22 4:53 ID:qJEjCVtX

>>11
This anon is wise.

Name: Anonymous 2007-05-22 9:13 ID:0cqrgCoh

>>9
Because they'll totally not do it if it's distributed as binary, or if it's illegal to reverse-engineer and modify.
Sure they'll do it anyway, but with an LGPL engine you're not allowed to stop them; anti-cheating measures such as Warden or PunkBuster are illegal with an LGPL engine, and you risk getting sued by the EFF if you try to implement measures that disable clients who use modified libraries.

don't use open source for closed source! That's kinda bad. Keep it open source.
Great, so your solution is a total non-solution after all. Have fun stopping cheating and piracy with a GPL game; I'm sure your users will appreciate it.

The GPL is great for non-competitive games, but the majority of games being played worldwide are extremely competitive in nature (Starcraft, Counter-Strike, World of Warcraft, etc.) You can't create a fair and balanced play environment if you allow people to program shit like aimbots into their clients.

>>11
For crying out loud, he's a third year CS major. I think he's a little bit beyond graphical Hello World in Python.

If he's going to be writing a small game and then starting over, he may as well start in C++. There's only one way to get experience in a new programming language: fucking use it.

Name: Anonymous 2007-05-22 9:36 ID:3+l5v5rk

GAME ENGINE
do
 system_input=get_system_input()
 select case system_input
  case pause:pause()
  case quit:return 0
  end select
 for x=1 to number_of_players
  input_from_player(x)=get_player_input(x)
  next
 for x=1 to object_max
  if object_active(x) then object_handler(object(x))
  next
 for x=1 to number_of_players
  if player_active(x) then player_handler(x)
  next
 new_frame()
 draw_background()
 for x=1 to number_of_players
  if player_active(x) then draw_player(x)
  next
 for x=1 to number_of_active_objects
  if object_active(x) then draw_object(x)
  next
 display_frame()
loop
DONE

Name: Anonymous 2007-05-22 9:48 ID:Heaven

>>17
your fake language needs some arrays

Name: Anonymous 2007-05-22 10:42 ID:qJEjCVtX

>>16
Will you shut the fuck up?  The OP is not going to create an extremely popular and competitive online game in his spare time, if he was he wouldn't be asking this on fucking 4chan.

Also, there is no reason you can't write 'real software' in Python.

Name: Anonymous 2007-05-22 13:02 ID:Heaven

>>19
Also, there is no reason you can't write 'real software' in Python.
forced indentation of code

Name: Anonymous 2007-05-24 2:52 ID:WQ97kGOR

>>20
...what the hell? that is absolutely the least relevant issue you could possibly bring up.

Name: Anonymous 2007-05-24 6:25 ID:8iS9X40y

>>21
Trolling, my friend.

Name: Anonymous 2007-05-24 11:51 ID:COw7KGuJ

>>21
Python isn't touring complete either

Name: Anonymous 2007-05-24 12:04 ID:WQ97kGOR

21 here, i failed it :(

Name: Anonymous 2007-05-24 12:22 ID:8iS9X40y

>>23
It's flexible enough so you can easily add Touring-completeness though.

Name: Anonymous 2007-05-24 14:45 ID:MdVkuOhX

hi guys lol whats goin on in this thred

Name: Anonymous 2007-05-24 14:49 ID:ncFuFASu

DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS

Name: Anonymous 2007-05-24 17:12 ID:sKU4U2RT

>>17
This software needs more .NET

Name: ­ 2010-12-06 0:33

­

Name: Sgt.Kabu㗌kiman㖊푯 2012-05-29 2:31

Bringing /prog/ back to its people
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy

Don't change these.
Name: Email:
Entire Thread Thread List