1. Please be advised of a few specific rules and guidelines for this section.

WIP My in-game scriptCanvas-based "computer": Apex64? BananaStar 8200?

Discussion in 'Furniture and Objects' started by Supergeek, Oct 16, 2014.

  1. Supergeek

    Supergeek Scruffy Nerf-Herder

    TL;DR I'm implementing an in-game Apex computer styled as a parody of/homage to the Commodore 64.

    As some of you may have seen from the recent front page news post by Metadept, I'm working on an in-game computer mod that utilizes (and absolutely requires) the recently-implemented scriptCanvas feature which has so much potential for creative (ab)use.

    A few days ago, after Kyren revealed in the modding IRC channel that she had implemented the scriptCanvas in the latest nightly, I got pretty excited about the possibilities. I tried to make in-game computer screens to display data months ago (see below.) I configured Steam to load the Starbound nightly channel, patched, unpacked, downloaded her test console mod, and got to work on what would eventually be this:


    The intended feature set:
    - Immediate-mode commands like LIST, LOAD, RUN, NEW, CLEAR, SAVE, DIR, DEL, and a HELP system.
    - Virtual file system. Currently in world storage (and buggy), but hopefully global at some point.
    - A Commodore BASIC-like programming language, where you can enter lines of code with commands like PRINT, CLEAR, GOTO, IF, GOSUB, RETURN, and with my own additions like SLEEP, draw RECT, POLY, POINTs, LINEs, and so on.

    I've been away from lua and Starbound for like 9 months, and I didn't know lua very well even back then, so I'm basically learning the language from scratch as I go.

    I'm an old-school gamer. I played a Sears home "Tennis" console when I was a kid. Then I had an Atari 2600, a Commodore 64, a Commodore 128, an Amiga 1000, and finally, I began my affair with PC products with a dual-floppy IBM-compatible Zenith computer with a green screen monitor.

    Some of you may remember me from my experiment in virtual screens, by which I determined that performance for virtual monitors was too poor with animationParts, although I did come up with some interesting results:


    Anyway, I'm pretty excited about this project, but I may have to take a break from it once in a while and create something a little less ambitious, like Tetris or something.

    Thanks for reading.

    NEVER GIVE UP! NEVER SURRENDER![DOUBLEPOST=1413467089][/DOUBLEPOST]Current Status (October 16):

    After 3-ish days of development, this is what I have:
    * All of the immediate mode commands are in, but the loading and saving of "programs" is buggy, and that's what I'm currently working on. I keep running into issues getting the right "types" of variables in and out of world storage.
    * I was able to successfully enter and run a program that included PRINT statements and GOTOs. Most of the other language commands aren't in yet, as I still have to create variables inside the "machine" for evaluation, iteration, branching and so on.
    Last edited: Oct 17, 2014
    Merawolf, Corgano, teihoo and 3 others like this.
  2. Supergeek

    Supergeek Scruffy Nerf-Herder

    Updated with a video!
  3. douras

    douras Aquatic Astronaut

    Very nice !
    Will this work in multiplayer ?
  4. Supergeek

    Supergeek Scruffy Nerf-Herder

    Well, it'll run locally on each machine. The separate instances won't talk to each other.

    I'm not sure about how the world storage would work, though; you will probably overwrite each others' programs if you save to the same filename.
  5. Ruban Crusade

    Ruban Crusade Pangalactic Porcupine

    This is amazing! I'm curious as to how exactly you are implementing a lot of it. I'm kind of a noob to the whole modding thing and have done very little with the LUA and scripting bits, but I'm sure I'll get there eventually. Thanks for sharing!
  6. Supergeek

    Supergeek Scruffy Nerf-Herder

    I've been taking a short break from working on this mod to work on other mods. And now I'm a little burnt out on modding, so I'm taking a short break from modding in general. I'll get back to it soon.TM

Share This Page