Reminds me of RuneScape Classic or something :o
On a more constructive note though, if you’ve spent 2 years developing this I would expect to see a thread with a bit more effort behind it. For example, a 60 second video featuring some demonstrations of the functionality you’ve implemented.
I use Hypercam for my video captures. And I just mean, if there is 1+ years of effort surely there are some things (even if minor to project outsiders) that you would be proud to share solely because you’ve accomplished development yourself with no fancy 3D wrappers or libraries.
Also, is the source code hosted on github or anything? I would like to browse it just to see how you did some things. I’ve done quite a bit of 3D but never without GL or Java3D
Edit: Maybe just a quick in game video of you walking around the map and executing a few test cases to show what the application is capable of doing so far?
I’ll look into Hypercam, and I understand what you mean. If I were to divide that two years into a pie chart, it would look like:
As you can see, I spent a good portion of my time trying to get that 70+ FPS that you see in the images, and a good portion of time learning about the maths. It was not to optimize either because you have to balance readability and speed in a good program.
Sorry to contradict you but Java2D is partially (and badly) hardware accelerated. Therefore, your game doesn’t run entirely on the CPU except if you ask Java2D to do so which isn’t its default behaviour.
Java2D as in the entire java.awt package? I do not use java2D for the 3D graphics rendering, I am using separate line drawing algorithms and I have my own class that deals with color. The only thing I use java2D for is the coordinate and fps information and the crosshair.
Judging from the feature list, this sounds more like a game engine than a 3d engine, but anyway…it’s nice to see some software rendering. A demo would be great!
You wrote that you use the standard Java APIs, you probably use an AWT container or a Swing container, Frame or JFrame. Then, you use Java2D, which is hardware accelerated by default.
Yes, but that’s academical. In a software renderer, you usually set pixels in some (Buffered)Image instance and blit that onto the screen. This kind of pixel drawing is not accelerated by Java2D in any way. The screen blitting is hardware “accelerated”, but because it has to update the whole content for each blit, Java2D’s hardware acceleration often hurts more than it helps with this task.
There is a flag to disable DirectDraw, another one to disable OpenGL and another one to disable Direct3D:
sun.java2d.noddraw=true
sun.java2d.d3d=false
sun.java2d.opengl=false
However, some pipelines use some native code that relies on hardware acceleration on a few platforms, for example under GNU Linux when XRender is used. There is no mean of doing everything only on the CPU on all platforms but I don’t contradict EgonOlsen, only some code paths are hardware accelerated in Java2D.