Xcylin: A Sci-Fi open-world voxel RPG [Updated][Greenlit :D]

http://xcylin.com/img/screenshots/screenshot%2000476.jpg

http://xcylin.com/img/ext/logo_A.jpg

>>> Website

>>> THANK YOU ALL FOR VOTING FOR XCYLIN ON STEAM :smiley: <<<

Xcylin

Xcylin is an open-world RPG that puts you on a planet where you need to explore, craft, and fight in order to survive. It features a strong story and a sophisticated dungeon generation system to ensure that no two missions play the same. Many challenging dungeons with their own secrets await you, and invite you to explore the history of an ancient alien race and the technology they left behind.

Story

A vast planet hidden in the outer reaches of space, ruins of a long extinct civilization. You awake in the wreck of mankind’s first and only interstellar starship, lightyears away from earth. Soon to find that you are humanity’s last hope for survival from a disaster. A disaster that was supposedly caused by the inhabitants of this alien planet.

As you explore strange landscapes, you can’t shake off the feeling that you are not alone …

Teaser Trailer

FXk4c14asQI

Screenshots

http://xcylin.com/img/screenshots/screenshot%2000476.jpg

http://xcylin.com/img/screenshots/screenshot%2000481.jpg

http://xcylin.com/img/screenshots/screenshot%2000003.jpg

>>> more screenshots

Features

  • A completely simulated planet to roam freely
  • Fully destructable/buildable terrain
  • Build your own shelters/bases with sophisticated in-game technology, connect lights and doors with switches, pressure sensitive blocks and even in-game computer systems
  • Dig for resources deep below the surface
  • A vast amount of different block types await you, each with different attributes and abilities
  • Find hundreds of ancient items left on the planet by an old civilization
  • Craft new items in your inventory or use replicator technology to create even more complex items
  • Find, craft or replicate a multitude of weapons to protect yourself from the planet’s alien lifeforms
  • Explore lots of dungeons created by a sophisticated dungeon generation system
    A strong storyline to guide you trough the game
  • No two missions ever play the same
  • Customize the game via Javascript (modding) or build your own custom world type with just a few lines of code

The game itself is written in Java using the jMonkeyEngine and uses JavaScript for describing the world, the items and the blocks.

Music (by David Levy)


http://xcylin.com/screenshots/sound_01.png

I would really appreciate any suggestion/comment on the game! Thanks for reading! :slight_smile:

Looks good very impressive so far, I have seen a lot of these engines similar to another popular game, so my question is what will make this game unique?

;D

That looks great, screenshots look interesting, and great video with the lighting and destructible areas. Impressive. :slight_smile:

Hi

I like the screenshots. Keep up the good work. Do you use JMonkeyEngine 3? Do you plan to release the source code? I’m happy to see someone working more than one year on the same project :smiley:

Thanks. I know the open world genre is a very popular one at the moment. I think Xcylin will be different to most of them because of two things:

  • The storyline. When I started to play Minecraft I really loved the game. It was fun to play and I spent hours playing it - but: after a few days it got boring and I asked myself: why? And the answer is quite simple: the things you an do in Minecraft are nearly unlimited but also of no consequence because there is no real story besides of fighting the npcs that get quite boring after you got better weapons. My plan is in Xcylin to tell an epic story that drives the player, that gives him a direction. But don’t get me wrong here; I still want this to be an open world game - so you can do whatever you want. And because the worlds are randomly generated every game will be different. You will for the most part still have to find the same things, but they will be at entirely different locations, hidden in completely different dungeons.
  • And even if Xcylin itself will get boring one day (all games will come to that point eventually) the engine offers the ability for users to create their own world that is completely different to the Xcylin world. Therefore everything is defined in Javascript, a language that a lot of people today are able to use. So modding Xcylin is not an option of a future realese but it is built in into the engine from the beginning. I also intend to have some kind of exchange platform in place for the user generated worlds.

Thanks, and yes I’m using jME 3. Unfortunately the source won’t be available (at least for some time) as I plan to sell the game. But I don’t want to dismiss the possibility that in a few years after the release I will release the source under an open source license.

I’m happy, too. You have to know this is not my only project but this one is my favorite, because I know that it will be a lot of fun to play when it is finished and I really want to play it :slight_smile:

That’s great motivation! Can’t wait to play*!

*) if you plan a demo

I think it is important to get feedback from the community as soon as possible - so there will be at least some sort of alpha version. My only problem is that if the story/quests change somehow, the old savegame will be incomplete or not working correctly - so this could be frustrating … but I will think of something … :wink:

Yeah, while we’re keep asking the game please stay focused in finishing :wink:

I will :wink:

Looks pretty cool, reminds me of Dysis (how did that game go, anyways?)
I think the most important part of your graphical style will be to perfect the look of simultaneously using pure 3d models and voxels (works very well in the first screencap but looks a bit more odd in the second one). Good luck!

Apart from the language choice (ugh, JavaScript), I think that you’ve made an excellent choice with the dynamic nature of the project.

I asked Chris of his progress via Twitter - maybe he wants to answer that himself. But yes Dysis and Xcylin have a quite similar appearance but are two complete different types of games :wink:

I’ll try my best. I also think I will limit the use of custom meshes as they can be a significant performance impact. But only blocks is also not ok, because they are not expressive enough in some way.

By the way here is another screenshot I forgot to include:

http://xcylin.com/promotion/screenshot009.png

It shows the mighty Digging Laser :slight_smile:

I know I also was like that before I took a closer look at Javascript. Yes it is a weak typed language but Rhino is a real good interpreter implementation that allows to call and use all Java Objects directly in Javascript (of course I implemented an interceptor to make sure that just the ones I want to expose are available in JavaScript though). Furthermore the learning curve is much lower for an interpreted language than it is for a strictly typed compiled language like Java. Also I know that most of the scriptkiddies that say they can ā€œcode Javascriptā€ are far away from really understanding and mastering the language at all. But it is quite capable and elegant programming language if used correctly, I can assure you!

Wow, Xyclin is looking great!

To answer Jimmt (and since lastdigitofpi invited me to) Dysis started out as an FPS, and still has some FPS features in it, but now focuses a lot on RTS as well. The game is going well, and we are just about to start the next phase of our testing (our second batch of Kickstarter backers and soon the public).
Here are a couple recent screenies from Dysis:

Dysis RTS view
Dysis in FPS

I’ll just leave the links, as I don’t want to derail your thread :slight_smile:

Looking really good - I’d love to see an explosion animation to go with that grenade!

It looks great. Great job.

Here is a small Teaser I created for the guys of jMonkeyEngine. They wanted to do a promo video some time ago, but for some reason it was not released yet :wink:

PGZB3DtCrcw

To clearify things; here is for example the javascript file for the grenade (that you can see in the video):


function onInit(item) {
    item.setGraphicMesh("Textures/grenade.png");
}

function onHit(world, droppedItem, coordinates) {
    hitCounter = droppedItem.retrieveData("hitCounter");
    if (hitCounter == null) {
        hitCounter = 0;
    }
    hitCounter++;
    droppedItem.storeData("hitCounter", hitCounter);
    
    radius = 3;
    if (hitCounter == 3) {
        vectors = new Array();
        vectors.push(coordinates.clone());
        for(y = coordinates.y - radius; y < coordinates.y + radius; ++y) {
            distance = radius - Math.abs(coordinates.y - y);
            for (x = coordinates.x - distance; x < coordinates.x + distance; ++x) {
                for (z = coordinates.z - distance; z < coordinates.z + distance; ++z) {
                    if (Math.random() < 0.9) {
                        vectors.push(new Vector3f(x, y, z));
                    }
                }
            }
        }
        world.getTerrain().setAirAt(vectors);
        droppedItem.setCollected();
    }
}

As you can easily see the grenade needs to hit something three times before it ā€œexplodesā€ by removing blocks in a certain range at random. Note that all the visual implications (like dropping loot/blocks, …) are done automatically by the engine. Also the item gets removed from the world after hitting three times - so basically it could also explode multiple times.

There is one init() method that tells the engine where the texture for the item is and one onHit() method that gets called when the item hits any other object. In general there are more methods like that but you only need to implement the ones that you really need - missing methods are just ignored (if they are not mandatory, of course).

I plan on creating a wiki where all accessable objects are described in detail.

[quote=ā€œlastdigitofpi,post:15,topic:41534ā€]
Javascript arguably has a number of advantages over Java, by having first-order functions and lack of static typing. (Strict typing is a solution for a problem that largely disappears if you do thorough unit-testing… and if you don’t, you have larger problems to worry about.) I’ve been meaning to learn Clojure one of these days.

Did you have any specific ideas on the story framework? Open world + story driven can certainly be done, but genuinely integrating the two is relatively rare.