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

Archived

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

appleweed

[java] Java ROAM Demo

8 posts in this topic

Hey all... I''ve ported Bryan Turner''s ROAM implementation as featured in his Gamasutra article: http://www.gamasutra.com/features/20000403/turner_01.htm I used Magician and Java2 1.3 (JDK1.3, or whatever the hell they are calling it these days! . I basically wanted to see for myself whether or not Java can hack it for some serious game development. I must say, I am *very* happy with the results I got. If you''d like to take a look yourself, I got the source, sample texture, height map and everything else here: http://www.indigenoustech.com/Downloads/JavaROAM.zip At the end of his paper, Bryan qualifies his C implementation with these figures: Platform- Win98, AMD K6-2 450 MHz, 96 MB RAM, NVIDIA GeForce 256 DDR video. Resolution- 640x480, 32-bit color Default # of "TriTreeNodes"- 10,000 With this he gets about 30 fps for textured landscape and about 36 fps for non-textured, solid-filled landscape. My implementation figures: Platform- Win98SE, PIII 600 MHz, 256 RAM, NVIDIA Diamond Viper (16 VRAM?? don''t remember...) Resolution- 640x480, 32-bit color Default # of "TriTreeNodes"- 10,000 For textured landscape, I''m averaging about 28 fps. Just like Bryan''s implementation, I haven''t done any OpenGL optimization yet (no display lists, triangle fans, etc.) nor have I implemented any of the suggested ROAM optimizations (Geomorphing, Merge Queues, Frame Coherence, etc.) To me, this just means there is much more I can do with Java! Also, I must say that I first ran this implementaion using JDK1.2. And, yes, it was slower. About 20 fps for textured landscape. Still, not bad. But obviously Sun is making good on their increased-performance gains. Obviously, the Magician OpenGL binding had everything to do with this performance. I hope this helps some people out in their decision-making when considering Java for game development. I am, by the way, a complete OpenGL and game developer novice! (Maybe a couple months or so into this?) Hell, I''m not even that great of a Java programmer. So for people who still think they need to start with DirectX and re-write Tetris for the billionth time, let me suggest that naivety has its benefits as does a healthy dose of imagination! All comments and ridicule equally appreciated.. -Omar --- "We are Indigenous. Welcome."
0

Share this post


Link to post
Share on other sites
holy isht!

unless your a pathological liar,

CONGRATULATIONS !

If you did what you say...

well, i''m a newbie and I could''nt pull

it off.
0

Share this post


Link to post
Share on other sites
I am downloading it right now. Way to go man. Just so everyone knows I emailed Symbolstone and 5 minutes later the Aligator guy mailed me back and said that they are still working on making magician the standard but that it is slow going and seemed to say it was SGI''s holding the gig up. I am still waiting for a response from an engineer at SGI.

I wanrned you! Didn''t I warn you?! That colored chalk was forged by Lucifer himself!

Opere Citato
0

Share this post


Link to post
Share on other sites
On what ever the standard window was:

Celeron 464
64megs
16mb tnt1

20-25 fps. Usually 22 and change.

Dual pentium pro 233
128megs
4mb Matrox Milleniom

1.7 - 2.5 fps. Usually 1.9.

Smokin!


I wanrned you! Didn''t I warn you?! That colored chalk was forged by Lucifer himself!

Opere Citato
0

Share this post


Link to post
Share on other sites
lupine- Well, I''ve been known to stretch the truth every so often! But in this case, as attested by GKW, it really does work!

GKW- I''m curious why you got such low frame rates on the Dual Pentium box. I wouldn''t have thought that the lack of VRAM would have caused that dramatic of a frame degredation. (But what the hell do I know...)

Just realized I forgot to include the original README in the zip file I put on my web site. I''ll include it now. Basically, it tells you the keyboard mappings which are great for debugging purposes. Here they are for those that downloaded the project already:

---
CONTROLS:
MOUSE - Hold Left Mouse Button to Rotate View Angle

Q - Change Rendering Mode (Wireframe, Lit, Fill, Texture)
O - Change View Mode (Observe, Follow, Drive, Fly)

W/S - Move forward/back
A/D - Rotate left/right (in Observe Mode only)

F - Stop Animation
R - Toggle Frustum Drawing

0/9 - More/Less Triangles per frame
1/2 - Adjust FOV
---

It''s worth noting that I didn''t implement lower case mappings, so you need your CAPS LOCK on or hold down your SHIFT key. This happened because I had thought that the VK_A thru VK_Z constants for Java key events represented both lower and upper case letters. And I was too lazy to fix it later... heh.

I would love to hear the frame rates of other people! I''ve started my own game project and it would be nice to know what kind of performance people were getting. Thanks!

-Omar


---

"We are Indigenous. Welcome."
0

Share this post


Link to post
Share on other sites
Two PPros 233''s is a bunch of processing power but the Millenium does not accelerate OpenGL in a meaningful way. I don''t believe that it does at all in windowed mode. By the way when I hit ''Q'' to change the rendering mode I get an exception in the Magician library and have to shut the VM down.

I wanrned you! Didn''t I warn you?! That colored chalk was forged by Lucifer himself!

Opere Citato
0

Share this post


Link to post
Share on other sites
Hmm.. was it something like "An error in native code outside of the VM was detected."? I''ve had that once or twice when I''ve done something that Magician didn''t seem to like, but appeared "legal" to me. (The "gluBuild2DMipmaps" call was a bitch, for instance, even though it is very straightforward.) I believe there are still areas in Magician that Arcana is still working on.

Did you re-compile? Might need to for your dual-cpu setup. Dunno.

-Omar

---

"We are Indigenous. Welcome."
Indigenous Technologies, Inc.
0

Share this post


Link to post
Share on other sites
I will recompile it later. I have used gluBuild2DMipmaps and it works fine for me. I ran into an exception a couple of days ago that was a library error and now I don''t remember what it was. Of course since I have a few beers in me I may remember tomorrow. Last time I got one of those errors was when the bitmap loaded I made was not working correctly and was passing an empty array to glTexImage2D. Errors and all I have been happy with Magician so far.

I wanrned you! Didn''t I warn you?! That colored chalk was forged by Lucifer himself!

Opere Citato
0

Share this post


Link to post
Share on other sites
Yeah... that''s basically the same problem I had with gluBuild2DMipmaps(). First, I had manually built an array with height map values. gluBuild2DMipmaps() caused not only a native code exception, but registered an exception in Windows (in GLU.dll). Then I used a Texture object as suggested by the Magician documentation and loaded a GIF file for height values. I checked the isValid() method to make sure the texture was fully loaded and then performed the build. That caused a native code exception as well.

Wasn''t untill I isolated my code in a separate function and checked the isValid() method there that it actually worked. It was as if it needed some amount of time even _after_ isValid() became true. Weird. But, hey, still love Magician to death!

-Omar

---

"We are Indigenous. Welcome."
Indigenous Technologies, Inc.
0

Share this post


Link to post
Share on other sites