Jump to content

Orr-Delta


Antillies
 Share

Recommended Posts

gallery_197_110_105650.png

What is this?

This is the main announcement/information thread for ORR-Delta, the third fork of Open Rock Raiders being programmed in Java. The project is being led by Bartvbl and Antillies.

Latest Map Render

3.12.11

gallery_197_110_119439.jpg

Links

Wiki Entry: More specific and detailed information can be found here.

Code Repository: Here.

GitHub: https://github.com/bartvbl/ORRE-V2

Last Updated: 3.12.11

  • Like 2
Link to comment
Share on other sites

  • 3 months later...

Right. So I guess this is where quite a few of you have been waiting for. We have a big announcement for you:

Today, we are releasing the very first version of Open Rock Raiders - Delta!

Open Rock Raiders - Delta 0.0.1

Now I do have a few remarks to make before posting the download link. For those of you who are not interested in long stories, but want to check out what we have created instead, you can find a big download link near the bottom of the page.

First of all, let's go 1 month back in time. At the time I had been trying to write an openGL renderer in C++. To summarise it; it could do its job, and GLUT helped overcome some more difficult things very quickly (for instance, it made handling keyboard events very easy), yet I was not satisfied. The setup of the renderer was that you would call functions from python that would create a mesh, and a texture group inside a mesh. You could then fill such a texture group with geometry data, and finally the renderer would produce a pretty image on screen.

It was at the same time that I had gotten an exercise for one of my programming courses at the university to write a game called "sokobano". The exercise said that the the game would either need to be text-based, or 2D using images. As I had already been doing quite some openGL for ORR-D, the thought came up to make the game in 3D rather than in 2D, and see what the reaction would be from the student assistant (the one who assesses my hand-ins). The only problem was that I could not use the code I had written for ORR-D for this; the game had to be written in Java.

I had seen what was possible with java in combination with openGL; I have seen some pretty amazing structures in mineCraft with still a great framerate. With a bit of digging, I found out that library that mineCraft uses is called "LWJGL". After checking it out a bit, I was quite happy with it; it was not over-simplified, but it still made it easier to do a lot of common tasks. It took me the weekend, but in the end I had a working sokoban game using openGL. Me was happy :)

Of course you start wondering at such occasions how well it would perform. So I made a map of 100x100 tiles, and looked. The game didn't run as fast as with my default 10x10 map, but still quite allright. After doing a bit of maths, I concluded that the game was displaying 60 000 triangles, while maintaining the framerate. In comparison; a map in ORR-D with 100x100 tiles would require only 20 000 triangles. At this time I started doubting the choice for python as the language for ORR-D. Sure, Python is a great language. But it is not made for games.

The thing is; python's map renderer itself was already quite slow. A 10x10 map was fine, but once it got to bite through a 100x100 map, the frame rate dropped close to the ground. And on that specific language, we would need to run an animation system, game AI, and everything else. It was altogether not convincing enough for me to keep working with it.

Java on the other hand was much, much faster than python. It also took care of tasks like memory management; one of the great pains of C++. Java is also a language very close to ActionScript, which is a language I have used extensively in the past.

Switching to java would also involve throwing away everything we had written up to that point. Given the amount of work me and Ramius (antillies on the forums) have put in the project, the final decision to actually stop with python an start over again in java was not easy. I had a discussion with Ramius about it, and he was naturally very sceptical about it. After an extensive discussion, we agreed to switch to java. Of course Ramius wanted to be sure that he would not be putting a lot of time and effort into something that would be thrown away later, so we agreed that I would write the engine and create an interface for him to work with, and he would start writing code from a point where he thought it was safe enough to say that the project could succeed.

I had already some "engine" code laying around from the sokoban project I had done earlier. I took that as a starting point, and started to write ORR-D on top of it.

From there, I have been focussing on the map parser and the renderer.

Today, me and ramius can proudly announce that this map parser has been completed and almost completely functional (see details below). Ramius has already started on the GUI code, but that has not yet been included in this version of the game.

So what is included in this release?

  • The texture pack is read from an XML file that is completely customizable. This means that it is already possible to skin the game to your likings.
  • The map reader supports all the common wall types, seams, etc. Power paths and erosion is not supported.
  • There is a special elevation map to add "bumps" to the map. You can also use this feature to make things like deep pits ;). Do note that this map is grayscale only; and has therefore only 256 different levels.

A final remark: the program currently has no error handling for maps that contain errors. Make sure that your map file is valid W3C XML, and that the soil map only contains valid RGB values for the various wall types.

If I will find the time, I will write out some tutorials for creating a map and modding the texture pack. You can always drop me an IM on skype or a PM on the forums if you are wondering about something :)

Have fun! :D

Bart & Ramius

Download

Link to the ORR-D repository (this is NOT the same one as the repository of the python version of ORR-D!)

Gallery with screenshots taken during the development

==== If you would like to reply to this release, please do so in the thread in the downloads section (under community projects). We would like to keep this thread for announcements. Thank you :) ====

  • Like 5
Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.