Java-Gaming.org Hi !
Featured games (88)
games approved by the League of Dukes
Games in Showcase (681)
Games in Android Showcase (196)
games submitted by our members
Games in WIP (744)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
   Home   Help   Search   Login   Register   
  Show Posts
Pages: [1] 2 3 ... 48
1  Discussions / Miscellaneous Topics / Re: What I did today on: 2016-06-23 15:22:10
Been way from Vangard for a bit, but looks like I got the TreeML validating parser working finally:

1  
2  
3  
4  
5  
6  
Exception in thread "main" java.lang.RuntimeException: 
    Node does not match. Expected: [id, name, description, icon, size, toughness,
    adult, dead, rotting, armor, experience, status, reputation, alignment,
    easyToKill, inventorySize, attributes, parts, produces,
    skills, behaviors, attacks],
    got: nerple at line 521
2  Discussions / General Discussions / Re: Virtual Reality on: 2016-06-22 16:44:48
Hey princec, weren't you highly anti-VR earlier in this thread?
3  Discussions / General Discussions / Re: Virtual Reality on: 2016-06-22 10:18:59
Well, I'm hoping OSVR goes to market at $400 and the RX480 reviews pan out.
4  Games Center / WIP games, tools & toy projects / Re: Vangard on: 2016-06-17 10:27:28
philfei and i have agreed a simple API I can code against, so I am starting to add sound to Vangard. But the calls will be going to a do-nothing stub until later this year.
5  Games Center / Contests / Re: The OpenTafl Computer Tafl Open - An Abstract Strategy AI Tournament on: 2016-06-16 17:38:33
Nice progress! Sadly I have not done any work on my Tafl AI for a month Sad
6  Discussions / General Discussions / Re: Question: Bit-exact floats on different computers? on: 2016-06-16 10:57:16
Seems to me that miniscule mathematical differences should not amount to significant differences in logic. If your world is made of perfectly spherical billiard balls rolling over perfectly flat, frictionless surfaces, the tiny differences quickly add up. But in a real world there is friction and nonrigidity.
7  Games Center / WIP games, tools & toy projects / Re: BEAM on: 2016-06-13 21:52:24
Quote
Been working on it in my evenings and weekends since July 2016.

Way freaky. Smiley

I like the graphical style and the neon colors.
8  Games Center / WIP games, tools & toy projects / Re: Vangard on: 2016-06-13 21:50:45
Thanks for the encouraging words. I have to warn you this thing progresses at glacial pace. I've been meaning to add ambient sounds like birdsong for some time now.

I am hoping to do a big dev blitz toward the end of the month...
9  Games Center / WIP games, tools & toy projects / Re: Vangard on: 2016-06-13 12:15:27
I can see what you are saying but it doesn't fit well with the way I work. I positively like simple text files that are free of editors. If I do have an editor it will be an IntelliJ plugin for the text files, which is something I want to write at some point. It's pretty easy to see how the schema above can become a code completion feature or a "New Entity" template.
10  Games Center / WIP games, tools & toy projects / Re: Vangard on: 2016-06-13 11:09:31
With my background, I am more productive with a simple editor (Intellij), a schema and max 30 files for 5-6 schemas. Definitely do NOT want a custom editor - that is too rigid.
11  Games Center / WIP games, tools & toy projects / Re: Vangard on: 2016-06-12 22:37:49
I took a "short" detour into adding a schema for my creatures.treeml file so that it can stay consistent and I can split the file up in the future. Anyway, here is the creature schema (d being a hack):

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
creature: empty, d
   id: single, token
   name: single, string
   description : single, string
   icon : single, empty
      width : single, decimal
      length : single, decimal
      color : single, list, decimal
   size : single, decimal
   toughness : single, decimal
   adult : single, optional, empty
      token : integer, single //cow : 30 (days)
   dead : single, optional, empty
      token : string, d //bearCorpse : "Bear corpse"
   decays : single, optional, integer
   rotting : single, optional, empty
      token : string, d // rottingBearCorpse : "Rotting bear corpse"
   disappears : single, optional, integer
   armor : single, optional, integer
   experience: single, integer
   status: single, integer
   reputation: single, integer
   alignment: single, optional, integer
   easyToKill: single, optional, boolean
   inventorySize: single, optional, integer
   attributes : single, empty
      strength : single, integer
      constitution : single, integer
      dexterity : single, integer
      cunning : single, integer
      willpower : single, integer
      empathy : single, integer
   parts : single, empty
      token : integer, d //bearBlood : 1
   produces : single, empty
      token : d, decimal //milk : 1
   skills : single, empty
      token : integer, d //foraging : 4
   behaviors: list, token
   attacks : single, optional, empty
      token : integer, d //claw : 12
12  Java Game APIs & Engines / Engines, Libraries and Tools / Re: LWJGL 3 - LMDB bindings on: 2016-06-07 10:26:00
LWGL has OpenCL bindings? Yum! I'll definitely be trying those out (in a non-gaming context) Smiley
13  Discussions / Miscellaneous Topics / Re: Graphics Cards on: 2016-06-07 10:10:23
Why can't I get a free graphics card that is paid for by adverts? It could hijack the PC sound system every 60 seconds exhorting me to buy cheap hamburgers Smiley

Then I could buy a USB key to block hardware-delivered ads Smiley

etc etc.

I speak ironically of course.
14  Discussions / Miscellaneous Topics / Re: What I did today on: 2016-06-04 17:14:38
Trying to build a volcano for my Warhammer battle board.
15  Java Game APIs & Engines / JavaFX / Re: JavaFX For Pixel Games on: 2016-06-02 12:16:08
Why do Java GUI libraries all die a slow and painful death, alone in the dark?
16  Discussions / General Discussions / Re: Virtual Reality on: 2016-06-01 14:59:31
No, I mean it is stated to offer better performance than a R9 390, which is minimum spec for both Rift and Vive. I did not use the term "VR ready" by the way.
17  Discussions / General Discussions / Re: Virtual Reality on: 2016-06-01 11:59:46
Also, RX480 was launched last night that brings VR-capable GPU price down to $199.
18  Java Game APIs & Engines / Engines, Libraries and Tools / Re: JGLOOm - Object Oriented OpenGL on: 2016-05-31 23:42:07
A framework or a wrapper?

What is the sound of one hand clapping?
19  Games Center / WIP games, tools & toy projects / Re: TreeML markup language on: 2016-05-30 20:39:20
All this effort just to avoid dem angle brackets.
20  Games Center / WIP games, tools & toy projects / Re: TreeML markup language on: 2016-05-30 20:31:44
This is kind of like SAX for TreeML... Smiley

However, I need to curb my enthusiasm and not implement more features than I strictly need right now.

One thing I would like to have (that you don't find in schema languages generally) is the ability to define enums as a query on another document. For example, a career lists a number of skills, mapped to the maximum progression possible for that skill in that career. I could define an enum in the career-schema.treeml file defining the expected skills, but that is fragile, too much work, and beyond my mental ability to keep straight. Instead I would like to define the enum as a reference to the careers.treeml file:

1  
    enum : flow, skills, args, "skills.treeml", "skill/id"


Then my career schema is always in synch with the skills list! I'd apply the same thing to the list of career possessions, etc. The above example is not quite well formed as the last two arguments in the value list are not tokens. Also the "filename" should be considered a logical resource name and not a system dependent file name.
21  Games Center / WIP games, tools & toy projects / Re: TreeML markup language on: 2016-05-30 11:06:53
Cleaned up the syntax for recursive definitions slightly. I hope to add support for enums and recursive definitions shortly to the parser.

The parser does now read data types from the schema if available, which is important as I do not have an explicit list syntax. A single item list is parsed by default as a non-list. I probably need to change the syntax from:

1  
2  
-    oldListField : singleValue
+    newSyntaxListField : [singleValue]
22  Discussions / General Discussions / Re: Interesting proposals: Java 9 and beyond on: 2016-05-28 21:30:50
Multiple inheritance was a pre-existing feature of C++ that was explicitly excluded from Java from the very beginning because of the problems it can cause. Personally I see no need to add it to the language now.
23  Discussions / Miscellaneous Topics / Re: What I did today on: 2016-05-28 16:37:45
Started making movement trays for my rat army. Looking forward to my first game of warhammer in 30 years Smiley

24  Games Center / WIP games, tools & toy projects / Re: TreeML markup language on: 2016-05-27 23:14:26
Yes this is pure treeml. But if you have a list of values like:

field : val1, val2, val3, 4

The values in the list have to be of the same type. So 4 would be a violation, as val1, val2, and val3 are tokens/strings. Tokens are not allowed to start with a number. But I'm not sure i really need cardinality.

Using the proposed syntax for recursion cleans up the schema schema (also adding in the missed definition of enums):

1  
2  
3  
4  
token : single, list, token, enum, single, optional, string, token, integer, decimal, boolean, empty, list, set, flow
   ref: optional, flow, token
token : referenced, list, token, enum, single, optional, string, token, integer, decimal, boolean, empty, list, set, flow, referenced
    ref: optional, flow, token


Basically everything after enum is an enum value, like a varags argument.
25  Games Center / WIP games, tools & toy projects / Re: TreeML markup language on: 2016-05-27 23:03:01
It's possible to get these structural assertions with nested name values without overly elaborating the syntax, i.e. keeping to the basic structure of nested name:values.

We add a new keyword like 'flow' to the value list. As its on the value side it does not force a restriction on node names. Any node with a flow token is treated as a structural assertion not an element definition...

The cardinality ranges are tougher - as each schema entry value is defined as a list of tokens, numbers are not allowed.

1  
2  
3  
4  
5  
6  
7  
8  
9  
career: min0max20 //it's a valid token now :)
+   sequence : flow
        id
        name
        description
+      choice : flow
            possessions
            skills
            behaviours


I guess I could borrow from schemas and get recursion thusly:

1  
2  
3  
4  
5  
6  
7  
8  
9  
root : ...
    moot : ...
        foot : ...
        soot : ...
        loot : ....
    woot :...
       ref : flow, shoot
+shoot : referenced, ....
+    ref : flow, shoot, optional


EDIT: added a refs node as otherwise the shoot would be interpreted as a valid root node of the document, which is probably not desired.

EDIT: Simpler, added a "referenced" keyword to indicate the node definition is neither optional nor required, and doesn't in fact form part of the document flow unless it is reffed from elsewhere.
26  Games Center / WIP games, tools & toy projects / Re: TreeML markup language on: 2016-05-27 22:23:27
I just updated the Gist with my first version of my validating parser. Currently it only validates field names and order, with support for optional and repeating fields.

https://gist.github.com/agnes1/08b157dba6a3f37b2ab6

A schema for my careers asets looks like this (the "d" elements are dummy list items):

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
career: d, d
   id: single, d, d
   name: single, d, d
   description : single, d, d
   minimumLevel: single, d, d
   status: single, d, d
   reputation: single, d, d
   alignment: single, d, d
   wealth : single, d, d
   possessions: single, d, d
      token : d, d
   skills : single, d, d
      token : d, d
   behaviors: single, d, d


The schema language does not support recursion so the schema schema isn't pretty:

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
token : single, list, token
   token : optional, list, token
      token : optional, list, token
         token : optional, list, token
            token : optional, list, token
               token : optional, list, token
                  token : optional, list, token
                     token : optional, list, token
                        token : optional, list, token
                           token : optional, list, token
27  Discussions / General Discussions / Re: Google wins trial against Oracle over Android on: 2016-05-27 11:25:05
What irks me about this case is the Google position that no hard, creative labor goes into designing the API. According to Google that is no effort at all and only the implementation involves real work.

I'm sure I'm not the only one who thinks the implementation is relatively trivial in comparison to designing, validating and evolving a good API.

On the other hand, if this went in favor of Oracle, it would be like software patents all over again, but ten times worse.
28  Games Center / WIP games, tools & toy projects / Re: TreeML markup language on: 2016-05-27 11:05:06
Over the next few years as the language becomes wildly popular I expect the major IDEs will recognize .treeml files and make an appropriate exception for tabs... Wink
29  Games Center / WIP games, tools & toy projects / Re: TreeML markup language on: 2016-05-27 10:26:18
Standard Java style is tabs, not spaces.

You can see now why whitespace with semantic meaning is a disaster.

Cas Smiley

A disaster ONLY if the language syntax allows a mix of tabs and spaces.

Also, to be totally correct I am using the tab character as semantically significant, not the whitespace it is represented with in the editor. There is a difference. You can configure your editor to represent the tabs with one space or eight (or even zero), but that doesn't change the meaning of the document.

I could use a different character without a whitespace representation if that would make more sense (but it wouldn't).

I opted for tabs because spaces were worse. Would I hardcode that a specific number of spaces equals an official indentation level? Or would I follow YAML and allow any change in indentation to be significant? In my opinion the YAML approach is just nasty and dirty, and hard-coding a number of spaces (or allowing each user to configure it somehow) means hard coding a visual preference into every treeml file. Tabs feel wrong, but in this case they're right.

Here's what the YAML spec has to say about indenting:

Quote
In general, a node must be indented further than its parent node. All sibling nodes must use the exact same indentation level, however the content of each sibling node may be further indented independently. The “-”, “?” and “:” characters used to denote block collection entries are perceived by people to be part of the indentation. Hence the indentation rules are slightly more flexible when dealing with these indicators. First, a block sequence need not be indented relative to its parent node, unless that node is also a block sequence. Second, compact in-line notations allow a nested collection to begin immediately following the indicator (where the indicator is counted as part of the indentation). This provides for an intuitive collection nesting syntax.

This was the inspiration for treeml, after reading that paragraph I knew I would never willingly use YAML Smiley

Also, regarding proportional fonts: I don't use proportional fonts but spaces are fine for indenting a proportional font file. The spaces are at the beginning of the line (i.e. with zero characters before them) so proportionality is not a factor.
30  Discussions / Miscellaneous Topics / Re: What I did today on: 2016-05-27 06:51:54
Whatever happened to: We Shall Wake?
Pages: [1] 2 3 ... 48
 
Hydroque (44 views)
2016-06-22 02:17:53

SwampChicken (45 views)
2016-06-20 13:22:57

SwampChicken (44 views)
2016-06-20 13:22:49

SwampChicken (38 views)
2016-06-20 13:22:26

Hydroque (81 views)
2016-06-15 08:22:50

Hydroque (72 views)
2016-06-13 06:40:55

DarkCart (192 views)
2016-05-29 02:30:33

Hydroque (160 views)
2016-05-26 14:45:46

Mac70 (168 views)
2016-05-24 21:16:33

theagentd (151 views)
2016-05-14 18:38:35
Java Data structures
by BinaryMonkL
2016-06-13 21:22:09

Java Data structures
by BinaryMonkL
2016-06-13 21:20:42

FPS Camera Tutorial
by Hydroque
2016-05-22 05:40:58

Website offering 3D Models specifically for games for free
by vusman
2016-05-18 17:23:09

Website offering 3D Models specifically for games for free
by vusman
2016-05-09 08:50:56

Website offering 3D Models specifically for games for free
by vusman
2016-05-06 11:10:21

Website offering 3D Models specifically for games for free
by vusman
2016-04-29 12:56:17

List of Learning Resources
by SilverTiger
2016-02-05 09:39:47
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!