Khazad - A Dwarf Fortress like game, seeking Developers

Khazad - A Dwarf Fortress like game, seeking Developers

Postby ImpalerWrG » 24 Feb 2015, 03:31

This thread is to both advertise and receive feedback on my open-source (GPLv3) game under development called Khazad. It is 3D, written in Java and uses the JMonkey engine.

Code is available at https://github.com/ImpalerWrG/Khazad

Currently the engine is still under development and the game is not playable, new developers are desired as well as initial testers, game-play ideas and goals are also welcome.

Image

ABOUT:

If this game were a song it would be https://www.youtube.com/watch?v=ytWz0qVvBZ0 This will be a game that revels in the glory of the Dwarves, their rise and fall and re-conquest of their homelands. The flavor will be somewhere between Tolkienesque and Warhammer, visually it will resemble a slightly higher polygon Minecraft or Mythruna.

Khazad aims to become the preeminent open-source Dwarf Fortress like game by leveraging the talents and skills of the genres small but highly skilled fan base. In addition to DF it draw inspiration from 'A game of Dwarves', 'Craft the World', 'Gnomoria', 'Banished', 'The Sims', 'The Settlers', 'Zeues', 'Prison Architect', 'Civilization', ''Evil Genius' and naturally 'Dungeon Keeper'.

A firm technical foundation is being built first, so far this includes

A flexible map structure structure that can be expanded in any direction at run-time and which tracks volumes as well as surfaces.
Highly optimized and multithreaded path-finding which renders everything else in the genre obsolete, unit counts of ~1000 should be possible.
3D rendering of terrain, rotating camera and visual slicing of the map to overcome confusion inherent in isometric or 2D perspectives.
Efficient object update queue, rather then iterating every game object every loop all objects are awoken at a dynamic determined future time.

Still under construction...

A new Job management system which groups individual tasks into logical group and assigns workers the same task type repeatedly to reduced wasted travel time.
Demand-pull basied crafting and stockpile management also know as 'Kanban', consumption triggers production without micromanagement

GAMEPLAY GOALS

Khazad aims to be Deep, Challenging and Accessible.

Deepth comes from a complex and emergent interaction between the choices the player is presented with. Choices need to be impact-full to the game and non-trivial for the player to find the best solution. The classic example is Chess, the player has a modest set of choices, but they are very impact-full and very difficult to choose between. In creating a settlement the player should be faced with numerous choices of what and in what order to develop and how to manage conflicting internal interest groups. Their should be no EASY choices or choices without a downside. All elements within the game world which are presented and uniquely named will be differentiated in some game play manor, mere 'cosmetic' complexity will be avoided.

Khazad aims to be Challenging, it has become the norm to think of the DF-like genre as a 'sandbox' in which the player (once familiar with the game) builds a settlement that is very resilient and will generally resist all external abuse given even a modicum of effort by the player. In contrast Khazad will be intended as a challenge for the player at all times, a game in which survival of the settlement is always in doubt and being knocked-back several stages is common occurrence. Should the player build their settlement to a mighty city they will face the challenges of keeping and maintaining a kingdom built on fragil alliances, diplomacy and the sword.

Lastly Accessible, the deficiencies of Dwarf Fortress UI have already been mostly corrected in games such as Gnomoria, Khazad aims to have a comparable UI built using Nifty. 3D rendering adds additional accessibility as was seen in "A game of Dwarves" and Khazad will feauture nearly identical earth X-ray like rendering of underground tunnels.

KEY CONCEPTS

Dwarf attributes, in keeping with an RPG theme all creatures have a basic set of attributes, but keeping with the detail orientation of the genre the attribute set is larger then the 6 in D&D, a set of 14 attributes will be used, 7 Physically oriented (Strength, Flexibility, Dexterity, Vitality, Reflexes, Endurance, Speed) and 7 Mental oriented (Logic, Perception, Charisma, Memory, Judgement, Willpower, Intuition). A roll of 2D4 is the normal range for each attribute. Each attribute will directly and transparently effect a different aspect of a creatures behavior and performance in certain jobs and skils.

Skills, rather then the genre standard of each Dwarf having a skill level in each possible skill Khazad will combine the class-tree system of 'Evil Genius' and 'A game of Dwarves' with the classes of Dwarf Fortress into a large tree of 3 tiers with an initial first tier division into 7 core classes (Worshiper, Thinker, Fighter, Crafter, Builder, Laborer, Gatherer), 3rd tier divisions may yield upwards of 100-200 highly specialized classes, but the bulk of game play will be done with the core classes and their 2nd tier divisions. Low level classes act as generalists so a settlement can be effectively run with just 7 Dwarves. Classic D&D character classes will be present to fill a variety of roles and multi-classing might also be possible.

Off Map activity, rather then having the players settlement sits passively and receives attacks, trade and migrants from an outside world the player in Khazad will send OUT just as many interactions as they receive. These Expeditions consist of hand-picked dwarves and stockpiled materials that are directed to a particular world map location with a specific goal, all of which have an effect on the outcome. The Expeditions are run and resolved entirely in the background without players being able to control or see the results until the expedition returns (if it returns). Significant political activity, wars, alliances and the like will play out with the player bringing the whole of the Dwarven race under their kingship as a possible outcome.
Last edited by ImpalerWrG on 17 Mar 2015, 05:10, edited 2 times in total.
User avatar
ImpalerWrG
 
Posts: 15
Joined: 24 Feb 2015, 03:19
Location: South Hill, Virgina

Re: Khazad - A Dwarf Fortress like game

Postby ImpalerWrG » 25 Feb 2015, 15:43

The new release is ready, you can download a Windows, Mac or Linux version at

https://github.com/ImpalerWrG/Khazad/releases



Khazad v0.2.2 Release Notes



New Features
------------

Terrain is now composed of multiple types of material which have seperate textures and colors defined in XML

Games can be saved and Loaded with the save game file placed in the OS specific default directory (My Games/Khazad on Windows)

Terrain is now either sunlit or dark making underground tunnels noticably different, all sunlit terrain can be toggle hidden with L, and all terrain with T

A Balrog has been added to the map, if you delve too deeply it will be your doom

Pathfinding is now properly updated as the map is modified from digging, path connections can be viewed with P

WASD keys will now pan the camera



Bug Fixes
---------

Digging of the ground and tunnels should no longer freeze dwarves

No holes in terrain apearing at start of game, though they may apear with digging
User avatar
ImpalerWrG
 
Posts: 15
Joined: 24 Feb 2015, 03:19
Location: South Hill, Virgina

Re: Khazad - A Dwarf Fortress like game, seeking Developers

Postby ImpalerWrG » 02 Apr 2015, 04:04

The Khazad team is expanding rapidly, we have added 2 programmers that are focusing on world/map gen and UI as initial goals respectively, as well as a dedicated content researcher who will work with the games XML files to help develop what will effectively be our 'official' mod.

Were still looking for more help and can use any Java programmer, with particular emphasis on experts in multi-threading or the JMonkey Engine. Naturally we will kill for artists of any stripe, 2D, 3D, music, crayons-on-walls you name it.

Goals for next months release

* Major code clean up and standardization of code format to meet demands from new folks that I clean of my sloppy formatting :shock:
* Improvement in mesh generation of the terrain for better vertex efficiency
* Level of Detail variation according to zoom to allow larger maps
* Improved Map generation with more variety of materials, some simple caves and vegetation like bushes on the surface.
* Ability to click select a creature and bring up a UI panel that displays information about it
* Procedurally generated names for dwarves
* First physiological needs for dwarves, sleep
User avatar
ImpalerWrG
 
Posts: 15
Joined: 24 Feb 2015, 03:19
Location: South Hill, Virgina

Re: Khazad - A Dwarf Fortress like game, seeking Developers

Postby Imerion » 02 Apr 2015, 13:25

Sounds very interesting and promising! Will be looking out for this!
Try my games! : My Games - Read my FOSS Games Blog! : Free Game News
Imerion
 
Posts: 100
Joined: 09 Apr 2011, 19:37

Re: Khazad - A Dwarf Fortress like game, seeking Developers

Postby Julius » 02 Apr 2015, 14:29

Tried the latest release here on my Kubuntu 14.04 64bit and I get the following error when trying to start it from the launcher:
"Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main] ArrayIndexOutOfBoundsException -1"
User avatar
Julius
Community Moderator
 
Posts: 3297
Joined: 06 Dec 2009, 14:02

Re: Khazad - A Dwarf Fortress like game, seeking Developers

Postby ImpalerWrG » 02 Apr 2015, 18:10

Thanks for the test and the Issue submission on git

Was afraid the linux release might not work, I can't test it as I don't have linux or any linux developers. It is likely a problem with the asset loading which is causing a lack of textures and an out of bounds as -1 is used as a invalid index location. Will try to correct for the next release.
User avatar
ImpalerWrG
 
Posts: 15
Joined: 24 Feb 2015, 03:19
Location: South Hill, Virgina

Re: Khazad - A Dwarf Fortress like game, seeking Developers

Postby Evropi » 02 Apr 2015, 19:00

How bizarre. And there I thought Java's mantra was "Write once, run anywhere".
You just wasted 3 seconds of your life reading this.
User avatar
Evropi
 
Posts: 385
Joined: 02 Sep 2012, 16:18

Re: Khazad - A Dwarf Fortress like game, seeking Developers

Postby ImpalerWrG » 03 Apr 2015, 07:14

I can't blame Java or our JMonkey engine here as they clearly do have cross-platform capability. But I simply did no testing for linux or Mac as I'm trying to make releases for OS's that I don't even have. I probably screwed up the path separator in the loading system, just one instance of not inserting the OS specific path separator will blow up the non windows systems ability to load, so java's mantra should be 'Write CORRECTLY once, run anywhere', and we just didn't write it correctly.
User avatar
ImpalerWrG
 
Posts: 15
Joined: 24 Feb 2015, 03:19
Location: South Hill, Virgina

Re: Khazad - A Dwarf Fortress like game, seeking Developers

Postby c_xong » 03 Apr 2015, 07:23

That's because the mantra is actually "Write once, debug everywhere"
User avatar
c_xong
 
Posts: 234
Joined: 06 Sep 2013, 04:33

Re: Khazad - A Dwarf Fortress like game, seeking Developers

Postby qubodup » 04 Apr 2015, 12:57

Perhaps you can help debug on Linux by looking at the output.

Here's jME SDK 3.0 Linux output when compiling:
{l Code}: {l Select All Code}
ant -f /home/qubodup/src/git/Khazad clean jar
init:
deps-clean:
Updating property file: /home/qubodup/src/git/Khazad/build/built-clean.properties
Deleting directory /home/qubodup/src/git/Khazad/build
clean:
Building jar: /home/qubodup/src/git/Khazad/build/assets.jar
init:
deps-jar:
Updating property file: /home/qubodup/src/git/Khazad/build/built-jar.properties
Created dir: /home/qubodup/src/git/Khazad/build/classes
Created dir: /home/qubodup/src/git/Khazad/build/empty
Compiling 92 source files to /home/qubodup/src/git/Khazad/build/classes
warning: [options] bootstrap class path not set in conjunction with -source 1.5
/home/qubodup/src/git/Khazad/src/Nifty/GUI.java:22: warning: [deprecation] LabelControl in de.lessvoid.nifty.controls.label has been deprecated
import de.lessvoid.nifty.controls.label.LabelControl;
/home/qubodup/src/git/Khazad/src/Nifty/GUI.java:61: warning: [deprecation] LabelControl in de.lessvoid.nifty.controls.label has been deprecated
      LabelControl label = nifty.getCurrentScreen().findNiftyControl(target, LabelControl.class);
      ^
/home/qubodup/src/git/Khazad/src/Nifty/GUI.java:61: warning: [deprecation] LabelControl in de.lessvoid.nifty.controls.label has been deprecated
      LabelControl label = nifty.getCurrentScreen().findNiftyControl(target, LabelControl.class);
                                                                             ^
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
4 warnings
compile:
Created dir: /home/qubodup/src/git/Khazad/dist
Copying 1 file to /home/qubodup/src/git/Khazad/build
Not copying library /home/qubodup/src/git/Khazad/# Space-separated list of extra javac options , it can't be read.
Not copying library /home/qubodup/src/git/Khazad/javac.compilerargs= , it can't be read.
Copy libraries to /home/qubodup/src/git/Khazad/dist/lib.
Building jar: /home/qubodup/src/git/Khazad/dist/Khazad.jar
To run this application from the command line without Ant, try:
java -jar "/home/qubodup/src/git/Khazad/dist/Khazad.jar"
Linux Launcher Creation
Building zip: /home/qubodup/src/git/Khazad/dist/Khazad-Linux.zip
Deleting: /home/qubodup/src/git/Khazad/Khazad.sh
MacOSX Application Creation
Do not set property jfxdeploy.jvmargs as its length is 0.
Copying 1 file to /home/qubodup/src/git/Khazad/resources/macapp
Building zip: /home/qubodup/src/git/Khazad/dist/Khazad-MacOSX.zip
Deleting: /home/qubodup/src/git/Khazad/resources/macapp/_Info.plist
Windows EXE Creation
Copying 1 file to /home/qubodup/src/git/Khazad
Compiling resources
Linking
Wrapping
Successfully created /home/qubodup/src/git/Khazad/dist/Khazad.exe
Deleting: /home/qubodup/src/git/Khazad/launch4j-config.xml
Building zip: /home/qubodup/src/git/Khazad/dist/Khazad-Windows.zip
Deleting: /home/qubodup/src/git/Khazad/dist/Khazad.exe
jar:
BUILD SUCCESSFUL (total time: 10 seconds)


Here's the complete output when trying to run. The window size dialog appears and then a black window of the specified size appears but then it crashes.
{l Code}: {l Select All Code}
run:
Apr 04, 2015 1:56:58 PM com.jme3.system.JmeDesktopSystem initialize
INFO: Running on jMonkeyEngine 3.0.10
Apr 04, 2015 1:56:58 PM com.jme3.system.Natives extractNativeLibs
INFO: Extraction Directory: /home/qubodup/src/git/Khazad
Apr 04, 2015 1:56:59 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Lwjgl 2.9.0 context running on thread LWJGL Renderer Thread
Apr 04, 2015 1:56:59 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Adapter: null
Apr 04, 2015 1:56:59 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Driver Version: null
Apr 04, 2015 1:56:59 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Vendor: X.Org
Apr 04, 2015 1:56:59 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: OpenGL Version: 3.0 Mesa 10.5.2
Apr 04, 2015 1:56:59 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: Renderer: Gallium 0.4 on AMD CAPE VERDE
Apr 04, 2015 1:56:59 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFO: GLSL Ver: 1.30
Apr 04, 2015 1:56:59 PM com.jme3.asset.AssetConfig loadText
WARNING: Cannot find loader com.jme3.scene.plugins.blender.BlenderModelLoader
Apr 04, 2015 1:56:59 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
INFO: Audio Device: OpenAL Soft
Apr 04, 2015 1:56:59 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
INFO: Audio Vendor: OpenAL Community
Apr 04, 2015 1:56:59 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
INFO: Audio Renderer: OpenAL Soft
Apr 04, 2015 1:56:59 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
INFO: Audio Version: 1.1 ALSOFT 1.15.1
Apr 04, 2015 1:56:59 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
INFO: AudioRenderer supports 64 channels
Apr 04, 2015 1:56:59 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
INFO: Audio effect extension version: 1.0
Apr 04, 2015 1:56:59 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
INFO: Audio max auxilary sends: 4
Apr 04, 2015 1:57:00 PM com.jme3.app.Application handleError
SEVERE: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]
java.lang.ArrayIndexOutOfBoundsException: -1
   at java.util.ArrayList.elementData(ArrayList.java:400)
   at java.util.ArrayList.get(ArrayList.java:413)
   at Data.DataManager.getTextureData(DataManager.java:56)
   at Renderer.ImageManager.Initialize(ImageManager.java:92)
   at Core.Main.simpleInitApp(Main.java:92)
   at com.jme3.app.SimpleApplication.initialize(SimpleApplication.java:226)
   at com.jme3.system.lwjgl.LwjglAbstractDisplay.initInThread(LwjglAbstractDisplay.java:130)
   at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:207)
   at java.lang.Thread.run(Thread.java:744)

BUILD SUCCESSFUL (total time: 9 seconds)


I'm very inexperienced with Java. Can we conclude which source file the problem might be located in?
User avatar
qubodup
Global Moderator
 
Posts: 1671
Joined: 08 Nov 2009, 22:52
Location: Berlin, Germany

Re: Khazad - A Dwarf Fortress like game, seeking Developers

Postby ImpalerWrG » 04 Apr 2015, 21:19

I think this confirms what I suspected, a fault in the XML loading is causing all textures to be missing (including the default) which is then blowing up the Texture system when it tries to do the first procedural texture generation. While I could conceivably bulletproof the texture system against this, their would be no point as your obviously not going to be playing the game without a single texture. The Khazad Error.txt might prove handy as well, can you post it's contents if any?
User avatar
ImpalerWrG
 
Posts: 15
Joined: 24 Feb 2015, 03:19
Location: South Hill, Virgina

Re: Khazad - A Dwarf Fortress like game, seeking Developers

Postby qubodup » 04 Apr 2015, 22:18

Thanks!
{l Code}: {l Select All Code}
$ cat Khazad\ Error.txt
Could not find file XML\MasterFileList.xmlassets\XML\MasterFileList.xml (No such file or directory)
TEXTURE_DEFAULT is not in GlobalLabelMap


So this seems to be a slash direction error (/ \).

I would expect this cause the OSX version to fail as well...

I can find
{l Code}: {l Select All Code}
$ find . -name MasterFileList.xml
./assets/XML/MasterFileList.xml


Anyways, replace "\\" with "/" in
src/Data/DataManager.java
src/Data/XMLManager.java
src/Nifty/LoadGameScreenController.java
src/Nifty/GameScreenController.java
and
"\" with "/" in
assets/XML/MasterFileList.xml
assets/XML/Fonts.xml

(I used the following command for the last two thanks to http://stackoverflow.com/questions/5171901 and http://stackoverflow.com/questions/6852951 and http://stackoverflow.com/questions/7810089 )
{l Code}: {l Select All Code}
sed -i.bak 's/\\/\//g' assets/XML/Fonts.xml assets/XML/MasterFileList.xml


I don't know if perhaps
nbproject/project.properties
nbproject/build-impl.xml
would benefit from having paths changed as well.

I'm not familiar enough with Java to be able to explain why \ is acceptable on Windows. :)

Anyways, it works now:
Image

youtu.be/rMBrUrsJViA
User avatar
qubodup
Global Moderator
 
Posts: 1671
Joined: 08 Nov 2009, 22:52
Location: Berlin, Germany

Re: Khazad - A Dwarf Fortress like game, seeking Developers

Postby ImpalerWrG » 07 Apr 2015, 06:18

Thx qubodup, I can have this cleared up for the next release quit easily now.
User avatar
ImpalerWrG
 
Posts: 15
Joined: 24 Feb 2015, 03:19
Location: South Hill, Virgina

Re: Khazad - A Dwarf Fortress like game, seeking Developers

Postby ImpalerWrG » 30 Dec 2015, 08:39

I've set up a new forum to gather feedback and post updates on at http://www.khazad.net

If you register please message me so I can activate your account.

Currently I'm developing a MUCH larger map with the intent to zoom directly from settlement view all the way out to a global map. Also path-finding performance has been raised substantially and is now only about 20 fold short of the goal of simulating 1000 individuals under 4096x real-time simulation speed (that's one day every 21 seconds).
User avatar
ImpalerWrG
 
Posts: 15
Joined: 24 Feb 2015, 03:19
Location: South Hill, Virgina

Re: Khazad - A Dwarf Fortress like game, seeking Developers

Postby Danimal » 30 Dec 2015, 22:20

i read you are looking for dwarf models, have a look at the older dwarf models we use (in Open Dungeons), they are within your poli range and animated. You can find the blend files into our art repository:

https://github.com/OpenDungeons/OpenDun ... ter/Models

You migth be interested as well in other models like the goblin, dragon... we are dropping them due to being too low poli, but they could suit your needs.
User avatar
Danimal
OD Moderator
 
Posts: 1407
Joined: 23 Nov 2010, 13:50

Re: Khazad - A Dwarf Fortress like game, seeking Developers

Postby ImpalerWrG » 03 Jan 2016, 00:35

Thanks for the tip, I'll have a look over them. Are all the models considered available or only ones that are being retired? It looks like art assets are under a number of different licenses and versions of Creative commons, I'll need to go over the details of these licenses and be sure to copy the lists of artists for the credits listings.
User avatar
ImpalerWrG
 
Posts: 15
Joined: 24 Feb 2015, 03:19
Location: South Hill, Virgina

Re: Khazad - A Dwarf Fortress like game, seeking Developers

Postby Danimal » 03 Jan 2016, 16:19

All of them are fully available and the most restrictive license is cc-by-sa, you can use and abuse them as long as you give credit to the creators (Skorpio mostly for all the old models), most of the new ones arent uploaded yet due to my lazyness... but you can find the blends in "Open game art" anyways:

http://opengameart.org/users/danimal
User avatar
Danimal
OD Moderator
 
Posts: 1407
Joined: 23 Nov 2010, 13:50

Re: Khazad - A Dwarf Fortress like game, seeking Developers

Postby ImpalerWrG » 10 Jan 2016, 21:23

Thank you again Danimal, the door looks particularly useful and of the sytle I'm looking for. Unfortunately animation has proven a bit trickier then I initially hoped, the dwarf model when exported into the Jmonkey .jmo format seems to have lost it's animations, as best I can tell this is due to some (rather lame) limitations on animation types which JME can extract from .blend files, even using the direct blend loader (which took literally 1 minute to load this one model, dose OD directly load these blend files?) I still couldn't find the animations. I may need to get into the weeds of the different model formats such as .obj and the different types of animation encoding to find something compatible with JME, the models your offering may need to be re-animated or heavily converted. I am still very great full and will try to make use of what I can going forward.

In other news I'm buffing the map generation and now have a smoother perlin-noise terrain. I'm working on generating it faster and consuming less memory at run-time. This map is 320x320 (10x10 chunks of 32x32 each), I test with 200 dwarves and they will run around at 3,000x speed path-finding between random locations, dwarves move 1 tile per second at 1x speed. I'm guessing path lengths are around 500 tiles and take 500 game seconds to walk which means each dwarf is generating 6 path-finding operations per second at this speed and the system is computing around 1200 paths per second. This is about 1/6th ultimate performance goal.

Image
User avatar
ImpalerWrG
 
Posts: 15
Joined: 24 Feb 2015, 03:19
Location: South Hill, Virgina

Re: Khazad - A Dwarf Fortress like game, seeking Developers

Postby Danimal » 12 Jan 2016, 13:37

Looking great! I was really dissapointed when Gnomoria was dropped, i dont like early access for that very same reason (paying for an eternal demo). Im eager to see your project advance and evolve. :)

You are not the first to try to use our models in Jmonkey, Agentkeeper is now a dead project but you can find good info in there:

viewtopic.php?f=84&t=4155
Try youtube for the videos if they fail, they are still alive in there.
User avatar
Danimal
OD Moderator
 
Posts: 1407
Joined: 23 Nov 2010, 13:50

Re: Khazad - A Dwarf Fortress like game, seeking Developers

Postby Vandar » 24 Feb 2016, 13:10

ImpalerWrG {l Wrote}:This is about 1/6th ultimate performance goal.


It might be good enough. Until you have finished the project, it's likely that hardware will be 2 or 4 times faster than today. Don't optimize any further now.
In soviet russia, code debugs you.
User avatar
Vandar
 
Posts: 322
Joined: 17 Mar 2014, 14:32

Who is online

Users browsing this forum: No registered users and 1 guest