• 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
robz

A book to match with “Mathematics for 3D Game Programming and Computer Graphics”

18 posts in this topic

Hello,
I'm going to buy "Mathematics for 3D Game Programming and Computer Graphics" book.
 
I hope it is possible for me to put in practice with java the mathematical concepts within the book, 
since I'm studying java.
I was wondering if there was an appropriate book to match with this book that is not outdated.
 
Two books I found to seem interesting are "Developing Games in Java" but is from 2004
and "Learning Libgdx Game Development". The last would be perfect if it were not for the fact that Libgdx still
does't fully support 3d (The book in fact stops at the development of 2d graphics).
 
Waiting for Libgdx news, what book would you recommend to read in the meantime?
I also tried to find some books about OpenGL and shader for java, but most of the books stops at 2004.
 
I hope I have expressed myself correctly, thank you for your attention.
0

Share this post


Link to post
Share on other sites

Hi Robz,

 

as an experienced Java developer ( I am working professionally with java for about 10 years ) I does not recommend you to stick with java if you intent to use OpenGL and accelerated graphics...

 

Btw, if you insist using java for low level graphic programming, you may check this sites:

 

http://lwjgl.org/ -> A OpenGL binding for java ( or java binding for OpenGL? ) focused on game development.

 

and of course, you may check the http://opengl.org site ( http://www.opengl.org/wiki/Language_bindings#Java )

 

Anyway, you may be able to apply this Math Concepts with java, as you can do in any programming languages. Java is a good programming language, very versatile and very productive for business and server side applications, I really love java programming.... BUT, for graphical clients its not the best choice, its viable, but not the best thing to put so much effort....

 

I think there is a reasonable engine ( Java Monkey Engine - http://jmonkeyengine.org/ ) that you may use if you really want to stick with java!

 

Hope it helps.

 

( well... sry about my poor english )

2

Share this post


Link to post
Share on other sites


Im 90% certain you simply won't find an book using Java and modern OpenGL at the same time. Its just a thing that doesn't gets mixed often enough to merit a book specifically for it apparently.

 

I'm actually thinking about writing that book next.  Maybe it is time.  I've been fighting with JOGL the last week.  It is not fun, and not very well documented.

1

Share this post


Link to post
Share on other sites

That would be pretty nice :D (as long as its core profile, OGL 3+ of course :P)

 

JOGL is going for quite a bit more than "just" an OpenGL wrapper right? I've read they support interop with Swing/AWT. Not sure if they're also planning something with JavaFX.

 

LWJGL is currently in the middle of a rewrite, that nobody knows of unless they visit LWJGL 3 repo. And I'm not sure how similar the API will be compared to LWJGL 2. LibGDX guys said they'll jump to LWJGL 3 once LWJGL devs said its stable enough.

 

 It is not fun, and not very well documented.
Yeah, you get tons of resources dealing with your first triangle, OpenGL 1.1 style, and then an big empty void after that. Hell I never knew about LWJGL debug mode until very recently when I saw it in the sources and googled it, and I started using LWJGL one year ago.
0

Share this post


Link to post
Share on other sites


Hell I never knew about LWJGL debug mode until very recently when I saw it in the sources and googled it, and I started using LWJGL one year ago.

 

Thank you, good sir :D

0

Share this post


Link to post
Share on other sites


Im 90% certain you simply won't find an book using Java and modern OpenGL at the same time. Its just a thing that doesn't gets mixed often enough to merit a book specifically for it apparently.

 

So I have the great awesomeness that is Safari Books Online (safaribooksonline.com) - a full subscription (by the way, any U.S. Army vets get this resource for free, and damn is it an awesome technical manual resource).  - based on what I see, there's a good amount of books out there dealing with Android game development that use Java and OpenGL in their tutorial code, or rather specific sections if you will.  They don't cover both in the whole book, but usually carve out sections of the book specified for Java + OpenGL.  So you might find some gems in Android development books.

0

Share this post


Link to post
Share on other sites

Old topic, but I have to comment :-)

 

That book (Mathematics for 3D Game programming and Computer Graphics) is simply awesome. There is a 2nd edition as well.

 

I have programmed many languages. In decreasing order of lines of code written, I would list them as: C++, C#, various Basic's (mostly Visual Basic), Java, Assembly, JavaScript, and then 'the rest.'

 

My favorite is C++, as I am somewhat of an optimization nut, but I learned long ago (perhaps with the first release of Visual Basic) that sometimes the choice of language/environment should be made so as to speed development, and not the program.

 

Hence, I have been using Java a lot lately, particularly for a game project I am working on.  Sure, there are a few [small] challenges, such as avoiding the garbage collector as much as possible, but in truth, modern games are almost always GPU bound, and language choice has almost no impact on that.  I picked Java because I can get Windows, Mac and Linux with a single build, and then with just a small port I can add Android.  That's a lot of platforms with little work.

 

I have several friends and associates writing similar projects in C++.  Although we haven't done a truly scientific comparison, we do compare frame rates and amount of geometry rendered, and I handily beat them--by large margins--every time.  This is because, as I said, the performance has nothing to do with the language; it's all about yoru algorithms and use of the GPU.

 

Of course if your game has thousands of AI units, or some non-traditional physics you can't do on the GPU, you will suffer some loss in performance in Java vs. C++ (assuming a very high level of skill in both)--I can always write C++ code that beats Java code.  But I haven't yet found a case where it matters.

 

Honestly, I am always on the lookout for cases where I need a lower level language, something I could use to justify the pain of porting C++ to different platforms. I just haven't found it yet.

 

So my advice is to push on with Java, buy the book you mentioned, and post here if you have language-specific issues (or PM me; I will surely get that, whereas my presence in the forums is spotty).

 

Also, read my post in the OpenGL section about "JOGL vs. LWJGL," if you're considering one of those. (http://www.gamedev.net/topic/653356-jogl-vs-lwjgl-for-java-an-experience/)

0

Share this post


Link to post
Share on other sites

 


Hell I never knew about LWJGL debug mode until very recently when I saw it in the sources and googled it, and I started using LWJGL one year ago.

 

Thank you, good sir biggrin.png

 

http://www.lwjgl.org/wiki/index.php?title=LWJGL_Hidden_Switches You're welcome.

 

Library path property is really useful for deploying. No need for separate jars, just put everything in it and decide at runtime what to load.

0

Share this post


Link to post
Share on other sites

2 more cents:

 

Java and OpenGL are not the route to go for desktops. BUT: I've you'll ever do any games for Android, java and OpenGL ES work out quite nicely. You'll even get tons of good resources on Google's Android developer pages!

0

Share this post


Link to post
Share on other sites

2 more cents:

 

Java and OpenGL are not the route to go for desktops. BUT: I've you'll ever do any games for Android, java and OpenGL ES work out quite nicely. You'll even get tons of good resources on Google's Android developer pages!

 

Why?

0

Share this post


Link to post
Share on other sites

 

2 more cents:

 

Java and OpenGL are not the route to go for desktops. BUT: I've you'll ever do any games for Android, java and OpenGL ES work out quite nicely. You'll even get tons of good resources on Google's Android developer pages!

 

Why?

 

 

Why for Android? Java is the language Android apps are written in natively (you can go C++ in a NDK but that's ... cumbersome). The OpenGL integration on Android is quite capable and for games you might need the extra capabilities and speed.

 

What I was trying to say is: If you do want to do OpenGL with Java, Android might be a good platform for that particular combination. Also, while I do not know of a book, you'll at least get decent documentation from Google. So: Might be a good start.

0

Share this post


Link to post
Share on other sites

I agree with you, KoMaXX: Android is a great platform to work on.  However, going that route, I would grab a newer device with Android 4.4 or later and explicit hardware support for ES 3.0.  At present, 7.6% of actively used Android devices support ES 3.0, and by the time anybody could release a game, that number will be much higher.

 

The advantage here is that you can write desktop code against GL 3.x and easily port to ES 3.0 on Android. You also get some very important and useful improvements to the API (array textures, instancing... it's actually quite a long list).

 

There are a lot of books about game development in Android, most use just Java and avoid the NDK.

0

Share this post


Link to post
Share on other sites

 

 

2 more cents:

 

Java and OpenGL are not the route to go for desktops. BUT: I've you'll ever do any games for Android, java and OpenGL ES work out quite nicely. You'll even get tons of good resources on Google's Android developer pages!

 

Why?

 

 

Why for Android? Java is the language Android apps are written in natively (you can go C++ in a NDK but that's ... cumbersome). The OpenGL integration on Android is quite capable and for games you might need the extra capabilities and speed.

 

What I was trying to say is: If you do want to do OpenGL with Java, Android might be a good platform for that particular combination. Also, while I do not know of a book, you'll at least get decent documentation from Google. So: Might be a good start.

 

 

No, I meant why was OpenGL + Java on dekstop not the route to go.

0

Share this post


Link to post
Share on other sites

Oh, right.

 

Well, mostly because it's rarely done. The de facto standard for OpenGL programming on desktop is C++, so you'll get the best resources (documentation, tutorials) and help from other developers there. Also, if you don't want to do everything from scratch, there are way more libs / modules / code snippets if you go C++.

 

So: Java+OpenGL on Desktop can be done but it's unusual and thus not as well supported.

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