• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Tset_Tsyung

OpenGL or Directx for learner?

5 posts in this topic

Hi all,

Allow to state that I am still a learner (read FNG) at game coding. Same could apply to coding in general but let's not go there for now... I've only just finished the logic for my basic Tetris-clone.

My friend and I recently purchased "Programming a Multi-player FPS in DirectX", but have since found that alot of the DirectX functionality mentioned in the book (DirectMusic and DirectPlay for starters) is no longer available in the latest SDKS's, meaning that we have to relearn new API's. Now doubt we are not the only ones in this boat...

Now please forgive me if I've been naive or even ignorant, but I felt that I was better off learning DirectX BECAUSE it was an all-in-one API. Everything we had was all under one roof (to coin toy's-r-us' catchphrase). Now with them having removed these features are we merely left with a fancy Graphics API?

So this brings me onto my following questions (sorry for the rant - I've had a bad day before I realised all this);

1. Are Microsoft replacing the networking and music API's? Forgive me if I've missed any ALREADY in place functions.
2. Is OpenGL 4.3 comparable with Directx for 'prettiness'?
3. Since OpenGL is pretty much cross-platform compatible (from what I understand) does it make sense to learn this so that any games we write can be cross-platform compatible?
4. Carrying on from 3 since Valve seem to prefer OpenGL (http://www.extremetech.com/gaming/133824-valve-opengl-is-faster-than-directx-even-on-windows) does it not make sense to follow them?
5. Assuming that we decide to follow the OpenGL are there any particular considerations we should bare in mind?
6. Any tips on good sound, music, input and networking API's would be greatly appreciated.
3. [I reserve the right to add more question when I can think more clearly :-)]

I know that to get anywhere in game coding (be it a career or a hobby) I need to keep up to date with the tools out there. Since I've only JUST found out about this I realise that I need to jump up my game, so to speak. As it stand I feel that Microsoft had made a VERY nice looking graphics system that makes the best use of the hardware out there. But if OpenGL does the same then why should I give Microsoft (the money grabbing monster that they are) my attention? I always prefer the underdogs anyway, lol.

Mike - sorry for the ranting nature of this post. Although I seem to be a hot headed angry man (which, to be fair, I am) I always humbly consider viewpoints and opinions so, please, bestow with your wisdom oh great coders! Goodness know I need it :)
0

Share this post


Link to post
Share on other sites
[quote name='Tset_Tsyung' timestamp='1347732591' post='4980441']
Now with them having removed these features [from DirectX] are we merely left with a fancy Graphics API?
1. Are Microsoft replacing the networking and music API's? Forgive me if I've missed any ALREADY in place functions.
[/quote]
I have not been using DirectX, but looking at [url="http://msdn.microsoft.com/en-us/library/windows/apps/ee663274.aspx"]microsoft website[/url] you can see that they just changed names but they still have their libraries for input, sound, math, etc.

[quote name='Tset_Tsyung' timestamp='1347732591' post='4980441']
2. Is OpenGL 4.3 comparable with Directx for 'prettiness'?
[/quote]
I believe in OpenGL's power.
Until now the only applications I built using OpenGL were kinda of handcrafted so that I could understand the basics of the calculations (matrix operations), pipeline and algorithms that the library implements. Because of that, my simple 3D games are ugly and not the best on performance.
However there are so many powerful libraries out there that let you build amazing games (with heavy textures) and still run on 60+fps. An example for Java is [url="http://jmonkeyengine.com/"]JMonkey[/url]. I bet there are some similar stuff for C++.

[quote name='Tset_Tsyung' timestamp='1347732591' post='4980441']
3. Since OpenGL is pretty much cross-platform compatible (from what I understand) does it make sense to learn this so that any games we write can be cross-platform compatible?
[/quote]
That depends on the game and the audience.

[quote name='Tset_Tsyung' timestamp='1347732591' post='4980441']
4. Carrying on from 3 since Valve seem to prefer OpenGL ([url="http://www.extremete...even-on-windows"]http://www.extremete...even-on-windows[/url]) does it not make sense to follow them?
[/quote]
hahaha. I don't think Valve prefers OpenGL. They [b]had[/b] to use OpenGL on their Left4Dead 2 port for Linux.
The article is showing that they got a better performance running on linux and using OpenGL. But this is not so simple. Read [url="http://blogs.valvesoftware.com/linux/faster-zombies/"]Valve's article[/url] to learn more about the 4 things they had to accomplish on this port.
Note: Valve is using DirectX on Dota2. So, I don't think they are migrating to OpenGL just yet.

[quote name='Tset_Tsyung' timestamp='1347732591' post='4980441']
5. Assuming that we decide to follow the OpenGL are there any particular considerations we should bare in mind?
[/quote]
During my course on Computer Graphics, my professor guided us during the semester to code the OpenGL pipeline.
This was so much rewarding and we learned a lot from it. We didn't implement every OpenGL feature, but still we got simple 3D shapes running on screen (translating, scaling, rotating :)).
(Just a learning tip for 3D initiation).

Hope this helps somehow. ;)
1

Share this post


Link to post
Share on other sites
@Kuramayoko10,

Thank you so much for the reply. I really appreciate your input on this.

1. Hmm, so can still carry on with DirectX - although getting a more up2date book would help lol.
2. If we decide to go down OpenGL, will DEFINITELY look into the libraries out there.
3. Fair point! :)
5. When you say "pipeline" I take it that's the world translation/camera translation/squashing 3D into a 2D screen?

I think we'll have to get together and discuss this more at length...

Since DirectX still has all that functionality and OpenGL is very powerful think we'll still be stuck. Will have to look at other factors.
*goes into corner to think*

Mike.
P.S. Thanks Again bud!
0

Share this post


Link to post
Share on other sites
I have been using both DirectX and OpenGL. I liked OpenGL much better. The main advantage is, OpenGL does not change its interface all the time (I can still copy paste my ancient OpenGL code from 10 years ago and it will work, while my whole DX knowledge is absolutely obsolete nowadays). Generally, DX is less "user friendly", especially if you just learn in order to use it later (in case of DX you just need to use it right away, before it become obsolete, which is really annoying). Another point is portability, with DX you are tied to PC, with OpenGL you can port to everything (in theory).

Note that DX is better in some cases and OpenGL has problems too. Also, I have heard modern DX is friendlier than in the past, so maybe I would not speak about it that harsh if I learned it recently. Still, my recommendation is OGL.
0

Share this post


Link to post
Share on other sites
I suggest learning openGL because you can use it on android (openGL ES) and in web browsers (webGL).
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0