Share your projects

Discussion in 'Offtopic Discussions' started by T.T., May 20, 2014.

  1. directive0

    directive0 Very Active Member

    Joined:
    Apr 8, 2015
    Messages:
    730
    Location:
    Toronto, Canada
    Not really a project, just a little op-ed I put together about the chumby and the pebble. Not sure I like this format. I tend to ramble on in parts and it doesn't really form a cogent point. Playing around with some more CG compositing and effects though which I am really enjoying.




    Hoping to do a vid about the Pandora/Pyra when I get one.
     
    ClockworkCoder, FBnil, levi and 2 others like this.
  2. ible

    ible Advanced Guard Tower

    Joined:
    Mar 24, 2014
    Messages:
    2,081
    Location:
    Thrice in CA, twice in ND, once in the NL
    i didn't consider it rambling at all. nice format, and you made good points. not overly zealous for freedom, but highlighting the ramifications of our lack of it.
     
    directive0 likes this.
  3. directive0

    directive0 Very Active Member

    Joined:
    Apr 8, 2015
    Messages:
    730
    Location:
    Toronto, Canada
    Been working on a game using Godot, called Apogee. Kind of an homage to Ares/Escape Velocity




    Long way to go, but having lots of fun doing it.
     
  4. ible

    ible Advanced Guard Tower

    Joined:
    Mar 24, 2014
    Messages:
    2,081
    Location:
    Thrice in CA, twice in ND, once in the NL
    in case you didn't know: velocity and acceleration would each be a 2d vector if motion is constricted to a plane.

    fuel should only need to be used up with acceleration.

    i always wanted to make a relativistically correct 2d space game like this. but then, velocity is always relative to something else, so you wouldn't be able to write an absolute velocity in there...
     
    levi likes this.
  5. levi

    levi Still fresh, damnit!

    Joined:
    Oct 6, 2008
    Messages:
    9,948
    Location:
    Somewhere off the coast of the EU
    In most of the universe, in a realistic relativistic game you'd automatically be in the orbit of something almost wherever you are, but I'm not sure motion relative to your mass center is a useful metric for a video game.
     
    ible likes this.
  6. directive0

    directive0 Very Active Member

    Joined:
    Apr 8, 2015
    Messages:
    730
    Location:
    Toronto, Canada
  7. ible

    ible Advanced Guard Tower

    Joined:
    Mar 24, 2014
    Messages:
    2,081
    Location:
    Thrice in CA, twice in ND, once in the NL
    i had some wood sitting around (for about 2 years) for a box that was going to become a lamp, but now i think i'll put a vine-y type plant inside of it. still have one side with the frosted glass-type plastic though, kinda looks cool.
    box.png
     
    jeeks and levi like this.
  8. levi

    levi Still fresh, damnit!

    Joined:
    Oct 6, 2008
    Messages:
    9,948
    Location:
    Somewhere off the coast of the EU
    Every wooden box with an airplant inside it needs a keyboard!
     
    FBnil and ible like this.
  9. PCXT

    PCXT Very Active Member

    Joined:
    Sep 14, 2016
    Messages:
    203
    Today I overoptimized code by accident.

    I'm doing something totally experimental. I'm trying to build a small BASIC microcomputer using AVR chips... In well-commented C. The thing is that I have lots of computing power (20MHz ATMega), but small memory (32kB for program, 2kB of RAM). So it is not designed to be fast, it's to be easy to understand.
    So, the first thing: I connected 32kB of SRAM to Arduino Uno not using all pins, leaving a serial port and the I/O enough to multiplex it through multiple devices. And I start with programming BASIC interpreter.
    So, it doesn't matter that I crammed a whole "editor", external memory management, tokenizer/detokenizer and some simple commands in 2kB of ROM having 32kB of it. I HAD to optimize it to use even less program memory! Wait... this 1kB of EEPROM looks nice...
    So I came to the... Absurd String-lookup routine. OK, in my file it's commented as "Automated", not "Absurd". All who know microcomputer BASIC know that there must be some strings in the interpreter, like READY, BREAK AT, or NEXT WITHOUT FOR. These eat ROM which can be used for code, and they may not necessarily be in program memory.
    So:
    First, I write a list of short names and full strings in form of an array before a special code.
    Then, I compile and bootstrap this code into uC's program ROM and start it, uC programs strings into EEPROM and sends me a #define list with offsets back through serial console.
    Then I copy this define list to my main code and flash it into uC's program ROM.
    The trick is that I use defines to address strings, they're stored in user EEPROM and ended with... no, not null-terminated but 8th bit-terminated. An exception is a strange bit combo which can be used to fill variables inside strings. They're not only written to console, but can be written with values in the middle.
    Currently saved about 6 bytes of program memory and for some unknown reason avr-gcc shows me 9 bytes less in RAM, will be more when more error messages will come, now it's only a READY, ERROR and welcome message. After testing the solution I asked myself am I not overoptimizing the code?
    So if someone asks what is overengineering in memory usage optimization, this is a nice example :D.
    Or... maybe, as my friend from assembly language land said, if I don't re-use previous code as data it's not overoptimization?

    Summing up:
    Figuring out the overoptimized solution: 10 minutes.
    Coding it including tool program: 15 minutes.
    Testing and fixing: 10 minutes.
    Forcing makefile to do this for me each time I flash the program to the chip: 3 hours.
     
  10. Cerbera

    Cerbera Begen

    Joined:
    Jun 16, 2007
    Messages:
    8,826
    I'm currently setting up one of my spare laptops for my mother to use. So far I've replaced the original hard drive with an SSD and downloaded an OS, all I need to do now is install the aforementioned OS and decontaminate the laptop.
     
    levi likes this.
  11. pmprog

    pmprog Advanced Member

    Joined:
    Apr 25, 2011
    Messages:
    3,662
    As most of my projects sit of the shelf of purgatory, I thought I'd have a go at a game jam.
    I'm having a go at "A Game By It's Cover"

    I picked "Connection", and my game is based around keeping all your devices charged. Gameplay style similar to Mini Metro and SuperNode

    I'll post more if and when I get something interesting to see
     
    directive0 likes this.
  12. directive0

    directive0 Very Active Member

    Joined:
    Apr 8, 2015
    Messages:
    730
    Location:
    Toronto, Canada
    Thats a cute idea, I'd like to see what you come up with!
     
  13. pmprog

    pmprog Advanced Member

    Joined:
    Apr 25, 2011
    Messages:
    3,662
    As I said, I'll post updates here, but you can also keep an eye on my itch page for it :)
    https://pmprog.itch.io/connection
     
    directive0, ClockworkCoder and ible like this.
  14. pmprog

    pmprog Advanced Member

    Joined:
    Apr 25, 2011
    Messages:
    3,662
    Okay, here's a couple of videos

    This was a project that's intending to be run at parties (hence the name). Basically, a bunch of small titles that you can compete for score on


    And here's Connection's current state:
     
    Failbert, directive0, FBnil and 2 others like this.
  15. pmprog

    pmprog Advanced Member

    Joined:
    Apr 25, 2011
    Messages:
    3,662
    Running out of time for the jam... but progress has been made. It's "playable", but it needs the logic to cover power charging/consumption, and the ability to disconnect devices

    https://pmprog.itch.io/connection
     
    FBnil, Gon, haanuman and 1 other person like this.
  16. haanuman

    haanuman Still Fresh

    Joined:
    May 24, 2018
    Messages:
    19
    Looks like some good work to me :)
     
    pmprog likes this.
  17. JDTAY

    JDTAY Half Pepperoni, All Cheese

    Joined:
    Sep 15, 2015
    Messages:
    422
    Location:
    North Carolina, USA
    Gon and ClockworkCoder like this.
  18. Gon

    Gon Member

    Joined:
    Nov 9, 2014
    Messages:
    31
    I am working for a few months now on a top down sci-fi puzzle game with a (hopefully good) story. Game is fully written in löve2d. Still so much work left.
    upload_2018-9-3_21-53-40.png
     
    directive0, comradekingu and levi like this.
  19. Cerbera

    Cerbera Begen

    Joined:
    Jun 16, 2007
    Messages:
    8,826
    I've started cobbling together a choose your own adventure story using Twine.

    twine.png

    As you can tell from the screenshot it's almost complete. ;)
     
    Last edited: Nov 20, 2018
    directive0 and levi like this.
  20. FBnil

    FBnil Waterfox > firefox

    Joined:
    Dec 14, 2012
    Messages:
    2,422
    Location:
    Yurp
    I'm working on a monitoring tool (on and off for a few years now).

    It includes all concepts I have learned over the years, for example:

    A good set of options to relay information on state changes, or each time. ONBROKEN only get's called once, ONERROR multiple times, until it is fixed..
    100002010000028E0000019FC1708084.png.jpg
    The "yeah, the website is down until you have 2 measurements of down..." means I allow for ONDEGRADED
    10000201000002A000000105FBBCFD50.png.jpg
    Of course, there are maintenance things, like looking for a if-this-file-exists-we-do-not-escalate (unless this file is older than xxx, then delete it and just monitor), or calculating weekends.
    100002010000028800000102549B7E91.png.jpg
    The thing I am proud of adding is decay. The first few minutes an error is important, but if it's down for a day... meh, do not propagate the error each cycle, instead, just send an hourly reminder (just in case the event is closed instead of increasing the duplicate counter in a monitoring DB).
    This way, the monitoring does not overload the central server with monitoring events, but still runs locally each cycle, so it is able to react fast.
    10000201000003D700000178FA358EA3.png

    It also has timezones per monitoring check, so you can monitor websites in Singapore (that do not have summer/winter time) without having to change your active hours each 1/2 year...
    It features TEST dependencies, so that if your Oracle process is down, you will not need to check for Oracle data-consistency.
    And the configuration file is ini based, with weird injections (so you can define a test with minimal parameters (only the process name), and the rest gets added automatically (the severity, the error action, etc)). This implementation of ini allows for multiple same named fields, which get converted into an array and are executed in that order.
    It's honed like a Damascus steel sword, keeping the code small (under 40k) and passing it through NYT Profiler many times to get the optimal speed.

    It is used for when monitoring tools charge per monitoring item, you can collate the tests into one errormessage and save some money. Or when you have an Active-Active cluster, where components can run dynamically on either side of the nodes and need intelligent checks that can communicate with each other instead of going through central rules "if down here, but up there, then drop down event".
    It also divides the responsibilities of defining good monitoring to the application teams, and leaving the responsibility for the default OS stuff to the monitoring team, while still being able to throttle the application monitoring, if required.
    Also, the application team can log into a system, list a single directory, and see the status (there is a read-only webserver or should I say "*AAS", which implements 418 I'm a teapot, but it's not really production ready (security was bolted on), although it was deployed successfully)

    Code:
    [TEST_EXAMPLE]# a simple test example
    MY_FILE=/tmp/ff.txt
    RUNCHECK=` ! -f "${:MY_FILE}"
    ONOK= echo "yes, test ${:} says file ${:MY_FILE} exists"
    ONERROR= echo "no, file ${:MY_FILE} does not exist"
    ONERROR= echo "yeah, and this gets executed too if an error is encoutered"
    
     
    directive0 and ClockworkCoder like this.

Share This Page

Loading...