Jump to content

ThatRobHuman

Members
  • Content Count

    1,280
  • Joined

  • Last visited

About ThatRobHuman

  • Rank
    Member
  • Birthday

Contact Methods

  • Website URL
    http://www.kdyards.com

Profile Information

  • Location
    Central NJ

Recent Profile Visitors

847 profile views
  1. ThatRobHuman

    Happy Friday

    You two had better each take care of yourselves!
  2. ThatRobHuman

    Mel Miniatures Wishlist

    HHHHNNNNNGGG!!!
  3. ThatRobHuman

    [KDYv2] Development Blog Thread

    Taking a two week hiatus to work on a small project for my LARP. I'll check in with you guys afterwards
  4. ThatRobHuman

    [KDYv2] Development Blog Thread

    Upgrade rendering is done except for tweaking the positions of icons on the back. Next up is Squadrons, which presents yet another fun thing to revisit: Die Types. I don't have an endpoint class defined for either one (squadrons or dietypes), so I'm going at it from scratch, but I've got a decent idea on how I want to take care of it. I expect that I'll be making decent headway on the Squadron class tomorrow, and then shift gears back to dietypes when it beomes necessary, then switch back to squadrons to build the renderer. Hopefully, once squadrons are done, Stations and Ships will come easily... I hope...
  5. ThatRobHuman

    [KDYv2] Development Blog Thread

    I've gotten so very close with the upgrade renderer, but it's made me realize something. I will probably need to write some kind of preview function for when people go to build renderers so that they can get live feedback rather than making guesses and potentially polluting the system. The problem is that while rendering a piece of content in itself is not too expensive, because of the asynchronous system I put in place, parsing and defining a renderer does take a while. Imagine polling the API each time you make a change to a value and having to wait several seconds for it to show you what that will look like. I think this means that I will need to rely on the front end to parse input and show a preview before it even touches the API. In effect, this means that I'll be writing all my renderers twice. Once in PHP for the API, and once in JavaScript for the front end. This will be a problem for future Rob, rather than present Rob, but it will get very interesting. Doing a UI right is not always easy, but it's always better.
  6. ThatRobHuman

    [KDYv2] Development Blog Thread

    Screw it, I did the thing! Objectives and Damage Cards can be marked as unique, just in case you really want it to. Also, once I figure out how I want to add ship silhouettes, I might add those to Damage Cards, too, just in case you want to have a special damage deck for epic-scale ships (which may be a thing with the SSD?)
  7. ThatRobHuman

    [KDYv2] Development Blog Thread

    I know many people have requested the ability to add a unique flag to Ship cards, but can anyone give me a reason NOT to add the same flag to Objectives and Damage Cards? I don't know why you'd ever use it, except maybe for an objective that can only be played once in campaign, or a damage card that can only be applied once? Still - I'm inclined to give people the option if they REALLY want to...
  8. ThatRobHuman

    [KDYv2] Development Blog Thread

    Poll time: Common BBCode usage seems to be Bold, Italic, Underline, and sometimes Strikethrough. Right now I suppose Bold, Italic and Emphasis. (I make a distinction between emphasis and bold because I've found it useful to use smallcaps and a different font from Bold, which is very handy). I'm on the fence about adding suppose for an Underline tag. Such a tag could be styled in any particular way you want, but would default to being the same as normal text, just with an underline, just as the Italic tag can be restyled to whatever you want, but defaults to being just an italic form of the text. Should I add support for an Underline tag in addition to the existing Bold, Italic, and Emphasis tags?
  9. ThatRobHuman

    [KDYv2] Development Blog Thread

    I just got the BBCode tags working in the renderer system, so now I can wrap things in Bold, Italic or Emphasis tags as well as render icons, such as Hit Dice or Upgrade Type icons into a card. Upgrade Card rendering had to take a back seat today, as I really wanted to get the BBCode working so I can properly render an objective card - which is almost there. Need to add one or two new features to the renderer. For example, one thing that you'll be able to do is style your Bold, Italic and Emphasis tags to suit what you're looking for. Do you want squadron keywords in your upgrade card to show up as white text with a black background for contrast? You can do that by tweaking the tag properties in your renderer definition.
  10. ThatRobHuman

    [KDYv2] Development Blog Thread

    Started on upgrade card renderers. One of the main reasons why I've hesitated on working on this renderer is because it'll be the first time that I allow for what I'm calling an iterative render node. Basically, when you create an upgrade card, you can offer a list of Upgrade Flags that you (or someone else) will have previously defined, such as "Modification" or "Small Ships Only" - well, an upgrade card may have zero of these flags, or may have many. In order for them to show up on the upgrade card at render-time, you need to provide a special kind of node that will repeatedly render it's contents, once for each flag. I'll show an example once I get it coded up and working. The same logic will be applied to things like Squadron Keywords, or the Ship Upgrade bar. There will also be support for a manual iterative node (that I'm calling a ValueLooper), which is how I'll be getting things like the Health value on the squadron renderer. When you create the node, you'll provide the Start Value, the End Value, and the Step value. It'll then iterate across those values, starting at Start, stepping each time, until the current value exceeds the End value. At each step it'll render the contents of the node with the Current value being accessible as a variable in the renderer nodes. Chances are I will not be supporting nested ValueLooper nodes unless someone really has a need for it.
  11. ThatRobHuman

    [KDYv2] Development Blog Thread

    After paring down the expression parser (which is actually a small modification to your Shunting Yard algorithm), I can now have the API accept a renderer definition in about 25% the time it took with the recursive regex parser. This is awesome.
  12. ThatRobHuman

    [KDYv2] Development Blog Thread

    A preliminary version of the new parser has been written - should eliminate a lot of the crap code that I made for myself, but it will take a while to clean it all up. The parser touched a LOT of pieces of code.
  13. ThatRobHuman

    [KDYv2] Development Blog Thread

    dangit - I keep forgetting.... Also that parser I wrote can go out the window, I'm afraid. It was really sloppy and is causing more issues (like, infinite loops) than the recursive regex parser. Back to the drawing board.
  14. ThatRobHuman

    [KDYv2] Development Blog Thread

    ... of course I would figure it out as soon a few hours after posting this... All I need to do now is integrate it into the API system as a replacement to the recursive regex that I'm currently using - that means properly doing some proper error handling, too.
  15. ThatRobHuman

    [KDYv2] Development Blog Thread

    Okay guys, I may need some help with this for any experienced programmers out there: I realized that my recursive regex to parse variables is way too expensive. I need to write a tokenizer that parses a complex input into a specifically structured nested array. Take a look at this input. It's a bunch of nested "function" calls that will get parsed by the API FN.if(FN.or(FN.isBlank({var1}),FN.equals({var2},foo)),bar,baz) For ease of viewing, I've split it out into a proper nested structure FN.if( FN.or( FN.isBlank( {var1} ), FN.equals( {var2}, foo ) ), bar, baz ) Now, this parser needs to return an array structured like this: [ function, if, [ function, or, [ function, isBlank, [ variable, var1 ] ], [ function, equals, [ variable, var2 ], [ literal, foo ] ] ], [ literal, bar ], [ literal, baz ] ] I cannot use regex because there's no way to ensure proper balancing of parenthesis, for example.
×