Welcome to Keen Software House Forums! Log in or Sign up to interact with the KSH community.
  1. You are currently browsing our forum as a guest. Create your own forum account to access all forum functionality.

Update 01.063 – Programmable block

Discussion in 'Change Log' started by George.Mamakos, Jan 1, 2015.

Thread Status:
This last post in this thread was made more than 31 days old.
  1. Don Jacobs Junior Engineer

    Messages:
    657
    I use Visual Studio Express. Need a setup that can work with the ingame scripts, as it isn't THAT intuitive if you screw a line up. :)
     
  2. LittleTerror Apprentice Engineer

    Messages:
    153
    You can add Sandbox.Common.dll as a reference then add these lines outside of the code block main at the very top, then intellisence will do its magic.

    using Sandbox.ModAPI.Ingame;
    using Sandbox.ModAPI.Interfaces;

    Here is the guide by CyberVic to get everything set up http://forums.keenswh.com/post/guide-setting-up-visual-studio-for-programmable-block-scripting-7225319?pid=1285581047#post1285581047

    I did over 18 hours of learning c# yesterday 9Am till 6Am :rof:, I need a small break or my head is going to explode :)
     
  3. Malware Master Engineer

    Messages:
    9,661
    I cannot say I am disappointed - because being disappointed infers having believed something else would happen in the first place. C# is a beautiful language, and I love it to death - for creating applications (or games). Not for in-game scripts. This is way more complex than necessary, much harder to learn than a much simpler scripting language would be - hell, even Basic would probably be a better fit, like someone else suggested earlier in this thread - and Keen's API is horrendous (sorry guys, no offence, just my professional opinion). I expected it to be, since their modding API is. But at the very least we have programmable blocks now, that is to be celebrated none the less - but I imagine my level of use will be distinctly lower than I had wished - 'cause I don't want to argue with a compiler when playing games as well as when I'm at work.
     
  4. Azan Trainee Engineer

    Messages:
    46
    I think a lot of the issues surrounding this would be solved if it was made a 'creative-only' block, or a block that could only be discovered in survival.
     
  5. Don Jacobs Junior Engineer

    Messages:
    657
    Dude, have you seen Egosofts ingame scripts language. Some kind of bastardized C, namely KC, that does take a bit to get used to. That being said, however, they DO have quick links to the various commands (fill in the blanks thank you) and a few other tidbits.

    Maybe Keen will upgrade ingame to something similar. We'll just have to see. (or C?) :p
     
  6. Grummthater Trainee Engineer

    Messages:
    24
    I had a (actually two) update today. but nothing is mentioned. do anyone have the same experience?
     
  7. Masked Death Apprentice Engineer

    Messages:
    315
    Maybe we'll get something like the editor in AutoIt. As you write something, the editor suggests you commands that you might like, and if you select a string containing a command and press F1, it opens the help thingy with the commadn selected.
     
  8. Malware Master Engineer

    Messages:
    9,661
    Mr. Jacobs, no I haven't. But is that the kind of in-game scripting like this, an actual part of the game, or is it just a part of a level editor or something? Because there is a big difference (imo). I wouldn't mind C# at all in a level scripting system, but something that a complete novice, maybe even younger people, is supposed to use as a part of a game should be much, much simpler. It should instill a joy of programming, not scare them away - and, again imo, c# is a language for at least a little bit experienced programmers, in that it is based upon c++ (and ultimately c). Ingame scripts should be much more lenient, not care about details like case sensitivity, weird symbols ({ } => etc). And even worse, type casting. You have to know that the IMyCargoContainer must be cast to IMyInventoryOwner in order to get access to its inventory content. Things like that should be intuitive.

    And of course, you are perfectly right in suggesting intellisense (quick links) - that should be available too, although that may still be incoming at a later stage.
     
  9. Irish286 Apprentice Engineer

    Messages:
    134
    Keen, you need to start telling us what these off schedule updates do.
     
  10. AutoMcD Senior Engineer

    Messages:
    2,369
    Check 1st post

     
  11. cayen Trainee Engineer

    Messages:
    1
    there seem to be not 1 server with the latest 01.063.008 build so I can't play any server online. Not one show. I have to click incompatible version to see server but I can't connect.
     
  12. Irish286 Apprentice Engineer

    Messages:
    134
    I did, it wasn't there at the time.
     
    Last edited by a moderator: Jan 3, 2015
  13. Wizlawz Master Engineer

    Messages:
    3,028

    aye agreed that is what i was after.
     
    Last edited by a moderator: Jan 3, 2015
  14. Corvidae Trainee Engineer

    Messages:
    4
    Anyone else still getting the "duplicate key" error when spawning? It used to be consistent every time the second player joined our DS, but it seems like it's a little better now (we got two people online for the first time, then one left and rejoined only to have both clients and the whole server crash and burn).
     
  15. Harag Junior Engineer

    Messages:
    913
    It takes years to develop a new programming language: Specify it, review for bad design, write the compiler, write a good editor, etc. C# is comparably fine and Keen can reuse a lot of Microsoft's language-infrastructure plus they obviously already have expertise in doing so.

    It's the API that's still clunky, low-level and, yes, undiscoverable. For example: I don't want to calculate with matrices, mass and acceleration/velocity vectors, then figure out which block and actions to use to actually apply those values. What I want is to tell my ship to fly along a curve stopping at its end and not overshoot because deceleration happend to late.

    I also don't get it why I would ever use an in-game editor that's as "feature-rich" as Notepad when I can use a proper IDE that Microsoft provides for free. And lets face it: the game has other priorities than to give us an in-game IDE (one that should be usable via a gamepad, to boot :crazy:)


    A completely different question: Why do you provide us with a new version of mwmbuilder each time you release a new game-version but fail to actually fix it? At least the timestamp of mwmbuilder.exe is telling me that the file was updated.
     
    Last edited by a moderator: Jan 3, 2015
  16. SirJacobus Trainee Engineer

    Messages:
    19
    Well, nice idea but for most players this would be pretty useless... or you expect that 90 % of the entire game community knows C# ? I clearly understand that some (maybe quite a lot of) people have been waiting for this for a long time but... just let´s hope that there will be enough modders to provide some interesting "little programs" and I may learn something by trying to understand them... I hope...
     
  17. Harag Junior Engineer

    Messages:
    913
    Why learn a programming-language for a very specific domain when you can learn a generally applicable one? What would a game-language look like that's "easier to learn" and that can still be developed in a reasonable time-frame?

    I understand the current ModAPI as stage-0. It is unsofisticated and verbose, but the infrastructure is in place, it works and can be built upon. The question will be how Keen manages to evolve the API without breaking to much that's already using it. As I've said above: This is a space-game. So the API should probably make things easier you do in space - navigating your ship/astronaut/tools, reacting to events in the environment/received by antenna, ...
     
    Last edited by a moderator: Jan 4, 2015
  18. Malware Master Engineer

    Messages:
    9,661
    Harag, most likely because in the end run, (my estimation of course), many if not most of the players are not really interested in programming per say, but still would like to do some more complex stuff than timers can do alone, and in most cases won't have any use for a generally applicable language like c#. I would be prone to believe, though, that the current player base might have a bigger percentage of programmers or engineers than would be true for a full-release game.

    [Edit] You are of course right, though, that the current API is work in progress - thus even bigger reason for highlighting what is wrong with it. And, you are again right, with the right API C# might actually appear easier, if all you need to consider for MOST operations are simple method calls and property checks. It would certainly lower the requirement level considerably.
     
    Last edited by a moderator: Jan 4, 2015
  19. Estredar Trainee Engineer

    Messages:
    7
    In my opinion, this is a very bad and good update, let me explain myself:

    1- The new block opens up new possibilities for people who can code.
    2- Most people do not know how to code and some people simply cannot code (dyslexia and the like)

    Why not use Trigger commands instead of codding, like the trigger system in the StarCraft 1 editor, using simple command you could do anything, ex.:

    If *condition*

    OR *condition*

    AND *condition*

    THEN *object name* *action for the object*

    ELSE *action for the object*

    Might sound easy but that's exactly what it is, easy and doable for anyone with no three-years-long-degree-in-programming-or-computer-tech.
     
  20. Don Jacobs Junior Engineer

    Messages:
    657
    I'm dyslexic, and have no problem programming. I know how to compensate for it.

    If *this*
    {*do this*}
    else if *this*
    {*do this*}
    *repeat above pair till you only have 1 option left*
    else
    {*do this*}

    AND and ORs only come in as conditionals for Ifs and else Ifs

    if *this* and *that*
     
  21. Irish286 Apprentice Engineer

    Messages:
    134
    Estredar's way would let anyone write programs. Why can't both exist? Make a simple and advanced tab. Advanced lets you fiddle directly with the code, while simple adds pre-written commands.
     
  22. stin8er Trainee Engineer

    Messages:
    2
    The way you mention is to me longer and possibly harder to read(multi-lined).
    in C# use the bool comparing methods e.g. || = or, && = and,.... <, > bla bla.

    Example would be: if ((a == b && b == c) || (a == c && b == a)) { //do something }
    To me that seems simpler and easier to do.
     
  23. Olipro Trainee Engineer

    Messages:
    1
    Given that this is C# and from the looks of it gets compiled down to MSIL/CIL before being run through the JIT compiler, why not allow other languages that can be compiled down to MSIL as well? I think a lot of the complaining would be alleviated if people could use more simple languages such as VB or IronPython/IronRuby.

    Providing a personal on-FS folder for reading in precompiled Assemblies would be great. walking over classes (or hardcoding a name) and then grabbing the main() function from C++/CLI should be a cakewalk.
     
  24. Liath_WW Trainee Engineer

    Messages:
    14
    Why don't you make a mod that can do this? Or a translator that can turn simple point/click into C?

    Personally I like the idea of a full language to be able to use. These if/then/else conditionals can cause a lot of weirdness and aren't really that intuitive even though at first they appear to be cool. I used to make maps for starcraft and it was horrid.

    Personally I hope that soon, Keen can focus more on multiplayer. ATM multiplayer in survival mode is hitting a wall. We have content but then we can't actually get to a point where that content is useful.

    Ships and stuff spontaneously disappear if the game isn't saved before someone crashes, so they rejoin the game, only to have whole ships just poof. Docking/landing gear are a complete waste in multiplayer because connectors make ships "dance," and landing gear spontaneously explode and destroy things. If you are on a ship that is moving you're asking for instagib. The client/server seem to have disagreement over where you're looking, so you weld/grind one thing in first person and turns out you just nixed the reactor that was to a side or completely on the opposite side of you.

    Stuff like that is absolutely annoying. I understand that it's alpha, and I really do see a lot of improvement, but some stuff that remains makes it nigh impossible to actually play with friends... which is what a lot of people like to do.

    Overall, I think the game has made massive progress. So I don't want anyone to take this wrongly. I just figure someone has to keep the pressure on the multiplayer aspect so that it can be taken care of.
     
    Last edited by a moderator: Jan 4, 2015
  25. SirJacobus Trainee Engineer

    Messages:
    19
    yes... I agree... just simple and logic "word" commands with no need to learn entire C which is for me quite unclear and chaotic cause it is full of symbols which have no fast-detectable menaing... you have to learn them, learn the proper using of "", (), <>, § and so on...
     
  26. SirJacobus Trainee Engineer

    Messages:
    19
    question is if somebody is even able to make something like "translator" - I mean translator as mod in the game... if it is possible...
     
  27. Servovicis Trainee Engineer

    Messages:
    41
    what about an external to game tool that generates c# code from your visual commands. I would prefer something like that so it doesn't run the risk of messing up the game as its external, and someone else other then Keen can maintain it, much like SEToolbox is built and maintained. I don't believe the GUI code in Space engineers is quite up for visual programming just yet, and human language coding or pseudocode will never be a true reality anyways as everyone has a different idea of how it should look and run.

    TLDR Leave system as is, let a modder make an external tool to generate the code.
     
  28. SmartGuy202 Trainee Engineer

    Messages:
    86
    Awesome update.... now to learn to code C#...
     
  29. SirJacobus Trainee Engineer

    Messages:
    19
    ...and now just wait and pray for somebody to create a program capable of that :D
    I saw quite a lot of examples of finished code on worksop yet so maybe I could learn something about the C# basics...
     
  30. Buzzed Bear Apprentice Engineer

    Messages:
    275
    Welcome to the club Osho..... Space Engineers HAS become a game for those people, and those of us who don't know programming.... well who cares right? They have their millions in the bank.... and now they have created another way to have the players write the game for them.

    I so wish there was a way to roll back the updates... Guess its time to download some cracked versions of previous updates and play those again - until keen goes back to bug fixing. Add more - destroy more. Good system!
     
Thread Status:
This last post in this thread was made more than 31 days old.