Show Posts
|
|
Pages: [1] 2 3 ... 31
|
|
1
|
Discussions / General Discussions / Javalobby hosting tutorial series on LWJGL
|
on: 2005-03-03 17:06:43
|
Javalobby is hosting an article series on creating *real* games in Java. The series runs the gamut of topics of creating a truly professional quality game in the Java Programming Language using the LWJGL (Lightweight Java Game Library) API which includes a native binding to OpenGL, OpenAL, FMOD, and native input routines. The goal of this series is to provide users with everything they need to make Java games that can stand up to their C/C++ counterparts. http://www.javalobby.org/articles/game-programming/
|
|
|
|
|
2
|
Discussions / General Discussions / Re: 3D API
|
on: 2005-03-02 00:12:13
|
|
Having dealt with all of the APIs and worked on a good bit of them off and on over time, LWJGL is hands down the easiest low level API to deal with. It lack of a modular API structure makes it easy to get up and running with minimal crap.
At the high end things somewhat spread out. I like jME a lot, but its scene graph is currently 'non standard' though that's changing. Xith3D isn't as feature rich as jME but if you're familiar with Open Inventor or any of the other professional scene graph APIs its far easier to get into.
|
|
|
|
|
3
|
Java Game APIs & Engines / jMonkeyEngine / Re: Simple rotation use case
|
on: 2005-01-24 17:53:25
|
"Is there a mechanism that does simple Rotation behaviors like Java3D? If on each frame I want an object to rotate on its Y axis by a specified amount, how do I do that? SpatialTransformer, suggested in another thread, seems more complicated than I would think necessary for a replacement to RotationBehavior."
SpatialTransformer is more complicated because it does more than RotationBehavior for Java3d. You can use it for a simple rotation if you want. If you want help, I can show you how to make a basic rotation behavior Controller from scratch.
I would be interested in seeing how this is done in jme. Currently, Controllers and what they are attached to have no significance. You could attach the controller to the root node and it would do the same thing if setup the same way. Controllers are being removed for another animation system this release of jME. Currently, there is no way to say "do this on all the children" without writting your own update function, which isn't very difficult in itself. I can help with this if you want. Controllers aren't objects in the scene graph. They are a seperate property of the objects themselves. This seems to be one point of confusion.
Interesting because I just expected them to be scene graph objects so I'll be greatly interested when they change. Is this in CVS now? If so I'll do a cvs update and play around with that "By Attaching the transformer to the 'root node' I expect I should be transforming everything underneath."
The controller won't animate what it's not been specificly told to animate. ControllerNode type behavior is planned for the next jME release. I agree this system isn't best and that's why it will be gone on the next release.
Now you're just teasing me  Whats the estimated time for the next release? Modeling a solar system with sun->earth->moon is more complex than it seems at first. You can't just attach them as children and rotate the moon around the earth because the earth is actually doing two rotations: rotating around the sun (year) and rotating around its core (days). So if you rotate the earth to represent days and the moon is a child you end up with the moon rotating around the earth really fast. You have to setup a center of rotation type system with a center of mass that the earth and moon can rotate around. I've actually coded this exact thing before and posted the code on the jME forum. I'll check my home computer and see if I still have it.
Cool. Would be interested in chatting with you as well. if you're open to some chatting, please PM communication options or just contact me. I think mine are public.
|
|
|
|
|
4
|
Java Game APIs & Engines / jMonkeyEngine / Simple rotation use case
|
on: 2005-01-24 16:17:40
|
|
Is there a mechanism that does simple Rotation behaviors like Java3D? If on each frame I want an object to rotate on its Y axis by a specified amount, how do I do that? SpatialTransformer, suggested in another thread, seems more complicated than I would think necessary for a replacement to RotationBehavior.
I'm looking at SpatialTransformer and I have some basic questions about why it works the way it does. If I have geometry attached to a node, I would want to attach a SpatialTransformer to it. Not sure why I have to tell it the number of objects it would be transforming - it would be all of the nodes that are the children of the node that the Transformer is attached to.
Root Node |_ Transformer |_ Node |_ Planet |_ Node |_ Moon
By Attaching the transformer to the 'root node' I expect I should be transforming everything underneath.
Similarly, why would I be attaching objects to the transformer? setObject just seems awkward in this sense. I have to attach the transformer to the rootNode (which IS my pivot point) and then attach all of its children to the Transformer as well?
The other sets (position, rotation, scale) make sense to me. But I should be able to set a rotation based off a Vector3f as well (0,1,0) -> rotate along the y axis.
I guess what I'm saying here is that this use case is very complex when it really should be obvious and simple but in this case appears to be neither and will be harder to learn.
|
|
|
|
|
5
|
Java Game APIs & Engines / jMonkeyEngine / Re: Question about coordinate systems
|
on: 2005-01-24 15:29:33
|
there's an example of circular animation in jmetest.TutorialGuide.HelloAnimation. It rotates a point light and a box around a sphere using a SpatialTransformer.
Rotation with the SpatialTransformer is far from simple unfortunately and I'm actually trying to get my head around the pivots and Quaternions of that example to make sense of them. If you want a simple "Rotate around your parent at this rate using this rotation matrix" there isn't anything simple.
|
|
|
|
|
6
|
Java Game APIs & Engines / jMonkeyEngine / Re: Question about coordinate systems
|
on: 2005-01-23 14:07:30
|
Local settings affect a node respective to it's parent. setLocalTranslation, setLocalRotation, setLocalScale. 1 2 3 4 5 6 7 8
| sun.attachChild(planet); planet.setLocalTranslation(100, 0,0); planet.attachChild(moon); moon.setLocalTranslation(10, 0,0);
|
Great thanks. Was surprised to not see a "classic" hierarchical animation example in the docs.
|
|
|
|
|
7
|
Java Game APIs & Engines / jMonkeyEngine / Question about coordinate systems
|
on: 2005-01-23 05:43:30
|
|
I'm writing a presentation comparing jME and Xith3D and while I could gather information about Xith3D with regards to putting together a related hierarchical scene structure I haven't been able to find similar for jME.
So here's the question. The scenario is drawing a simple:
sun->planet->moons
scenario. So I create a Node and attach a sphere for the sun. I create a Node and attach a sphere for the planet. I create a set of Node(s) and attach a sphere for each of the moons. I then parent them up properly to maintain the hierarcy. The question I have then is how do I specify position relative to the respective parent Node for the planet and the moons?
The sun is sitting in the middle of the graph. The planet is going to be offset from the center and I set a Vector3f() for its position when creating the sphere, but what coordinate system is that relative to?
|
|
|
|
|
8
|
Discussions / General Discussions / Re: Oblivion pictures
|
on: 2004-10-30 07:10:29
|
According to the Gamespy article, Todd Howard said they were aiming at the next gen console market, because RPGs take so long that they would reach the tail end of the current gen, and therefore the decided to "go big and go early" for the next gen. Oh yeah, I know what Todd said. I also know where they are with the various consoles which is why I found it 'interesting' that someone would have said that they were currently developing for all the consoles simultaneously. I think people are inferring a LOT from some of the comments that are being made, but that's the status quo I guess.
|
|
|
|
|
11
|
Discussions / General Discussions / Re: Oblivion pictures
|
on: 2004-10-26 03:24:50
|
Bethsoft has announced their new game Oblivion in their site and there is also a news column in Gamespy.
This is interested for several reasons. Bethesda claims to have skipped a game cycle and will now develop in paralel to PS3 and XBox2 as well as the PC platform. Their own software is so generic they claim it can be easly adapted to all of these platforms with a minimum effort. I have some doubts however they can do this so easly for the PS3 architecture.
I've talked to a few people interested in where you read this. he Elder Scrolls IV: Oblivion is being designed around the Xbox 2 (and the PS3, although the company could not officially confirm any platform besides the PC).
If this is the quote you're using - you (and gspy) may be reading a bit into things.
|
|
|
|
|
15
|
Discussions / General Discussions / Re: Fallout 3
|
on: 2004-10-21 21:45:01
|
I've been conversing with their devs off and on because some of them are still friends of mine since I left the shop. I've raised my own personal concern that I hope that the game is close to the license and I've received many assurances that while they have no intention of remaking Fallout 1 or 2 in terms of playstyle, it should be a worthy successor to Fallout 2. The team working on Fallout 3 is not the same team working on Morrowind, so some of the "Morrowind with guns" views of the game are unfounded - though they are VERY VERY early in their design process. I remain hopeful that the game is something that is cool, although I have heard some things (from their press) that make me want to cringe 
|
|
|
|
|
17
|
Game Development / Networking & Multiplayer / Re: which OS to choose for java game server?
|
on: 2004-10-20 21:52:40
|
|
Depends entirely on the 'scale' of your server. If all you really need is a single box (and to be honest that's rare except for the smallest projects) then it doesn't REALLY matter what you choose. A MMOG rarely runs on just one box, it runs on a cluster of boxes with the application distributed in zones across those boxes and other boxes in there for fault tolerance. Once you start talking about all of this - Linux, BSD, and the other Unices like Solaris and AIX start making a LOT of sense.
|
|
|
|
|
20
|
Java Game APIs & Engines / JOGL Development / Re: JOGL in applet fails on OS X
|
on: 2004-10-17 21:29:26
|
|
I used to have this a while back and patched this in my local version when I used to use JOGL. The problem is that the applet is trying to paint before the OpenGL context is actually ready to paint - its a semantic problem between Windows and OSX that can be solved by not trying to pack, size, etc. the drawing area until it is visible.
|
|
|
|
|
21
|
Game Development / Artificial Intelligence / Re: [AI] Java Rules engines - especially Rete-base
|
on: 2004-10-15 20:41:42
|
Hi,
we are trying to use Drools in our product.
There is one big problem with it: - it's performance is completely unpredictable. If you run the engine, it can sometimes take 10 seconds, and sometimes 10 minutes to finish - for exactly some data.
If you've got a sample of that you should send it to the developers. We haven't had any issue with the evaluation of rules taking different amount of times outside of the first run when janino is compiling our java semantic code into bytecode. After that, performance is constant if we send the same data through over and over and over agaain. I created something like "bug report" or "change request" on their page and some developer replied, that they know about this problem, and that they "currently work on performance".
We tried to fix this problem ourselves and we succeded (basically all it takes is to replace every HashSet in drools sources with LinkedHashSet)
That's already done in the CVS head as best I can tell. Are you using the version from CVS or the beta-17 binary distro?
|
|
|
|
|
23
|
Java Game APIs & Engines / JOGL Development / Re: Cg, MacOSX and Fragment / Vertex Programs
|
on: 2004-10-14 19:37:44
|
You could try using GLSL, which works good for me on Windows. Another possibility would be to compile your Cg-Shaders to ARB Vertex/Fragment Program, but I was unable to get this to work  (But could only be me being stupid  ) Good Luck! Apple is still behind on this front as well. Its 'coming' but current support is very incomplete.
|
|
|
|
|
24
|
Game Development / Artificial Intelligence / Re: [AI] Java Rules engines - especially Rete-base
|
on: 2004-10-14 01:18:56
|
I unfortunately can't talk much about our particular uses of it, but when we went shopping for an engine - we pretty much knew that we weren't going to use a custom engine for a variety of reason, much of which goes in line with supporting it versus people in that space who actually care. I'm surprised you didn't like Drools. It took less than an hour to understand exactly what Drools was trying to do. There is so little XML in the system and even it is a bagillion times more intuitive than anything in Clips derivative Jess (there was a long debate, which is somewhat still going on, about the Jess/Drools decision). Drools is just an excellent architecture with its pluggable semantics. You could write your own AI language, plug it into Drools and Drools would function just fine. We liked our rules in Java, however, since we have lots of people who understand Java/C/Pascal/etc and that language syntax. It takes no time for someone completely unfamiliar with our system to be able to read our .drl files and understand what its doing and write new rules. That by itself was a major selling point. But then again our end product will have more 'regular programmers' writing declarative rules for our product. Your mileage may vary based on your use cases. To be honest I'm actually amazed to hear anyone find Drools syntax to be difficult. I was quite disappointed how unadvanced/immature the state of open-source/free engines was, given how ancient the rete algorithm itself is.
If you have a special case use for a rules engine, it is extremely easy to optimize for those cases - but they will have side effects that are bad for a more general purpose engine. Drools is a more general purpose engine, though I've been impressed with its performance. Drool's java semantics and its groovy semantic use janino.net's open source compiler to turn their AI rules into byte code so it will run pretty fast. When I talk about speed I'm talking about relative to a specialized engine for particular tasks. Most people will likely find Drools to be of acceptable performance - though its not the type of thing you'd call every frame  My architecture has the notion of a Planner which also holds WorkingMemory. While the game is taking place the planner's working memory is updated periodically for high level decisions and this causes the rules to fire and decisions to be made. The actions from these decisions is usually not defined in the rules - they usually just set a state that determines what an entities goals are. While I liked the idea of Drools giving me the functionality to put actual java code in the consequences and acutally giving me the ability to drive the game right from the rules - that isn't an ideal seperation. For the stuff we're using it for (coding ALL game logic) performance is critical yet the payoffs for using an inference engine *of some kind* are immense, in terms of reduced costs of code maintenance and feature-addition and even making frequent and complex changes to the game logic. The main use is to make it much cheaper to "balance" the logic / game-rules for complex games to make a good game rather than a one-sided game.
Our use cases are the same though we didn't find it reasonable to put all game logic in the rules engine. Some things just work well that far seperated from the engine core. While we're weaving our rule engine in using Aspects (something its unfortunate that Sun doesn't seem to understand or use), moving stuff in and out of working memory, updating objects in the working store, and some light synchronizing of data makes doing everything in the rules engine somewhat impractical. Now maybe your use cases will point to something different, but for us after we tried and tried to make that the use case - performance dictated that putting everything in the rules impractical.
|
|
|
|
|
25
|
Game Development / Artificial Intelligence / Re: [AI] Java Rules engines - especially Rete-base
|
on: 2004-10-13 01:19:35
|
|
Let me give you a dump on using rules engine for games. We evaluated several engines including Mandarax, JESS, Drools, JRules. Drools and Mandarax are the only 2 open source ones that were really alive and showed some sign of what could be considered 'great architecture'. Mandarax is a backwards chaining rules engine, and that may not matter to you if you don't have a large number of rules (something that RETE is designed to handle well). Drools is a straightforward RETE implementation. Its semantic layer is excellent, allowing you to use Groovy, Java, etc. as the language for rule logic. JESS is 'interesting'. The syntax of JESS is just nasty, especially if you don't have a background in lisp like languages. I personally wouldn't want to touch JESS with a 10 foot pole, but that's not my decision. JRules is straightforward and has a lot more syntactic goodness than Drools. One thing that Drools does do , however, is compile the rules into bytecode using janino - which gives it excellent performance. In fact, its one of the faster engines we tested both open source and commercially. Drools is still somewhat young though, and its documentation needs some help. It has a fairly simply view of rules engines at the syntax level. However, Drools is certainly a very active project and the users list has maybe a 24-48 hour turn around on questions to the list.
Using a rule engine did bring about some very interesting questions which some people here may have already solved. Even with salience its sometimes difficult to get rules to fire in the order you wanted them to, and have the side effects make sense. In addition - rule engines are NOT the fastest things in the world. You can write custom code that will outperform any of the ones on the market right now... .but it will be a very custom solution.
I wouldn't really spend a lot of time screwing with JSR-94. Its an 'interesting' JSR, but when the rubber hits the road you will find it extremely limiting.
|
|
|
|
|
|
Add your game by posting it in the WIP section,
or publish it in Showcase.
The first screenshot will be displayed as a thumbnail.
|
|