Author Topic: Syskeuomorphic theme.  (Read 7198 times)

farique

  • Full Member
  • ***
  • Posts: 28
    • View Profile
Syskeuomorphic theme.
« on: July 05, 2019, 02:38:49 PM »
I've already said here that long gone are the times when, if you wanted something suave and beautiful, you had to build your own theme.
Now you just go out and grab one.

So, when I moved and my 4x3 arcade cabinet couldn't come with me, I decided to take a different approach for the 16x9 living room TV.

I've always loved the unique look and feel of the myriad 8 and 16 bit systems of olden. Their colors, characters, shapes, sounds... How music or smells remind me of specific systems at specific times of my life.

So, Syskeuomorphic was born.
Syskeuomorphic is a simple Attract Mode layout that intends to mimic the look and feel of the classical videogames and computer systems displays.
It is simple and text heavy on propose and design but has some nice features like alternate displays (a Vectrex one without overlays and an anaglyph Virtual Boy) that launch the emulators with these settings.

https://youtu.be/qVWvaFZ74c8

For now it has the systems I had or heavily played with:
ZX81, Atari 2600, Odyssey², Vectrex, TRS Color 2, MSX, Amiga, Virtual Boy and Arcade.
But it is relatively simple to add new ones.

Get it here:
https://github.com/farique1/Syskeuomorphic
Some instructions are there as well.

It was never meant to be distributed so it is not the most plug and play thing ever, but if you have any difficulty just ask me.

As a side note, even if almost all of the fonts for these systems already exist, their licenses are a bit restrictive (I couldn't distribute some or change another, a necessity on system with inverted lower cases like the ZX81 or the TRS Color) so I developed a system to convert old bitmap font dumps to vector fonts. It can help someone here on similar endeavours.
Here:
https://github.com/farique1/Chartotype


jedione

  • Hero Member
  • *****
  • Posts: 1135
  • punktoe
    • View Profile
Re: Syskeuomorphic theme.
« Reply #1 on: July 27, 2019, 01:57:32 PM »
thanks,,  verry nice..
help a friend....

Yaron2019

  • Guest
Re: Syskeuomorphic theme.
« Reply #2 on: August 07, 2019, 01:37:12 PM »
I think this theme is actually cool and unique! I just set it as my Amiga theme.
It does indeed have the feeling of the old days to it...
But what di hell is that national geographic yellow rectangle for the snap videos?!
If you are going old school, let the user feel like he is actually in the workbench environment.

Check out this concept:
« Last Edit: August 07, 2019, 01:49:04 PM by Yaron2019 »

farique

  • Full Member
  • ***
  • Posts: 28
    • View Profile
Re: Syskeuomorphic theme.
« Reply #3 on: August 09, 2019, 11:55:46 AM »
Hahahahahahahahaha
"But what di hell is that national geographic yellow rectangle for the snap videos?! "
You are completely right, sir, and I'm not even kidding.

Let me explain how we came to this point:
Initially I only had what is now the Arcade display, used by all emulators. The "National Geographic" (now I can't unsee it ¬¬) theme is actually an skeuomorphic representation of my girlfriend's living room (beige wood panels and yellow details, like picture frames) so AM could blend in the environment.
When I had the idea to make the individual displays on the style of the other systems I "naturally" tried to adapt that one layout to the constrains of each system, to sort of make system-appropriate versions of it, to keep an unity across the layouts.
The systems I care about most are the computers so I tried to capture their sort if text x graphic nature. I was more worried about the feeling than the technical accuracy, that is why there is this kind of unnatural separation on the screen and the ever present big, non-conforming, non-ratio-appropriate, taking-half-the-screen yellow-ish frame.

Well, having told my story I think it is long overdue for a revision (my girlfriend and I broke up anyway and I am moving away from the yellow-beige paradigm) with more info, customisation and better use of space.

Cheers.

Yaron2019

  • Guest
Re: Syskeuomorphic theme.
« Reply #4 on: August 10, 2019, 12:49:47 AM »
Hahahahahahahahaha
"But what di hell is that national geographic yellow rectangle for the snap videos?! "
You are completely right, sir, and I'm not even kidding.

Let me explain how we came to this point:
Initially I only had what is now the Arcade display, used by all emulators. The "National Geographic" (now I can't unsee it ¬¬) theme is actually an skeuomorphic representation of my girlfriend's living room (beige wood panels and yellow details, like picture frames) so AM could blend in the environment.
When I had the idea to make the individual displays on the style of the other systems I "naturally" tried to adapt that one layout to the constrains of each system, to sort of make system-appropriate versions of it, to keep an unity across the layouts.
The systems I care about most are the computers so I tried to capture their sort if text x graphic nature. I was more worried about the feeling than the technical accuracy, that is why there is this kind of unnatural separation on the screen and the ever present big, non-conforming, non-ratio-appropriate, taking-half-the-screen yellow-ish frame.

Well, having told my story I think it is long overdue for a revision (my girlfriend and I broke up anyway and I am moving away from the yellow-beige paradigm) with more info, customisation and better use of space.

Cheers.

Women! This is what happens when you try to be nice to them, you get yellow rectangles!! Let that be a bitter lesson for you  ;D ;)

Relative to most themes here (mine included), your layout code is very complex, very sophisticated. It's easy to overlook considering the very simple presentation on the screen.
And you "developed a system to convert old bitmap font dumps to vector fonts"... this is dedication right there. The only level of coding I saw that compares is from zpaolo11x's  arcadeflow.

I am looking forward to see what else you are going to produce.

2 questions:
- Do you plan on continuing the development on this theme? I love it's uniqueness!
- I want to use your scroll text function in my Arcade theme, where does it take the text to scroll from?

Cheers

farique

  • Full Member
  • ***
  • Posts: 28
    • View Profile
Re: Syskeuomorphic theme.
« Reply #5 on: August 13, 2019, 08:55:43 AM »
Hi, Yaron2019, thanks for the nice little lies ;D

The current systems in the theme are the ones a had back in the day: Odyssey², ZX81, TRS Color, MSX, Amiga; the recent ones: Vectrex and Virtual Boy; and the ones I had a lot of contact with: Atari 2600 and Arcade. When I was satisfied with them I gave it a pause.
But I very much intend to continue expanding it. I particularly want to implement old videogames and consoles I had little to no contact with but always thought as having a lot of personality like the Intellivision, Coleco, ZX Spectrum, Commodore 64, TRS 80, etc.
By the time Nintendo and Sega came I was already a little too old and a little too much into computers to have an emotional attachment and a feeling for their essence but they are also surely coming.

About the scrolling text, if you want I can post a commented version of the scrolling code (I remember it was a bit confusing, indeed). I am a very busy right now and need to take a look there to remember the details. Right now I can say the text comes from  the fe.game_info() function: fe.game_info(Info.Name), fe.game_info(Info.Category), etc.
They are put on a variable, measured and if are bigger than the box they are supposed to fit, an attached boolean is triggered to tell the update_realtime function to do the scrolling.

Cheers

Yaron2019

  • Guest
Re: Syskeuomorphic theme.
« Reply #6 on: August 13, 2019, 12:54:34 PM »
This is why I dig your theme: you got the feeling of the text based environment of the early 80s computers just right IMO.

Similar to you, consoles where not my thing (although I loved playing the Atari 2600 that one of my friends had). I was either at the arcade or in front of a computer. I personally had the ZX Spectrum, the C64 and the Amiga which was like going through a portal to the future - I am sure you remember the feeling. The Best computer ever!
After that I had a dozen sad MS based PCs and a ray of sunshine with the Power Mac G5 and OS X (Tiger was the best version). I also had a lot of experience with computers my friends had: Apple IIc, The original IBM PC, Atari 800XL, Amstrad CPC, Atari ST and the original Mac. So basically I've seen and used most of it in the golden age. I don't need little lies to express appreciation for a genuine work of olden   :)

Where you programming assembly at any stage? That tight code and those '_selec', 'mb' variables have an assembly aroma to them  ;D ;D

I would love to have some comments in the code, it is unorthodox to say the least and I want to use the scrolling text in my At-The-Arcade theme.
« Last Edit: August 22, 2019, 01:32:49 PM by Yaron2019 »

farique

  • Full Member
  • ***
  • Posts: 28
    • View Profile
Re: Syskeuomorphic theme.
« Reply #7 on: August 21, 2019, 01:53:32 PM »
I took my time, hum!?

I frequently tell my younger nerd friends how they missed the paradigm breaking that each new generation of computers brought (sound, colors, sprites, samples, etc), but yeh, the Amiga was nothing less than magic. I went straight from the MSX 1 to the Amiga and that was brutal. The first thing I saw was Battle Squadron and that game over tune give me the chills to this day. I love(d) the Amiga so much I spent a whole year after the Commodore demise without a computer at home waiting for a miracle. Windows 95 came instead (could have been worse  :P )

Apart from the odd routine to help my Basic programs I never really programmed in assembly but I always had an interest in it and I'm leisurely (re)studying MSX assembly, could be the case. I also think that thightness has something to do with the '80s Basic style or the fact that that is the first and only code I did in Squirrel, could be just fear  ;D

Finally, to compensate the delay I did one better than commenting the scroll code, I did a test Display to toy with it. I wanted to (re)understand it better (hahahah no joking, its been a while) and streamline it if possible. The code is a little bit different from the the one in my theme, I think it is better.
I got carried away and it is heavily commented, to the point of repetition, so be bear with me. And if the comments are making the whole thing worse, just bring your doubts.

Cheers.

Yaron2019

  • Guest
Re: Syskeuomorphic theme.
« Reply #8 on: August 22, 2019, 03:24:25 AM »
You're a champ!
I will sink my teeth into it asap.
Thank you farique.

"I went straight from the MSX 1 to the Amiga and that was brutal." I bet this was like getting out of a stone-age hut and climbing into an airplane.

Yaron2019

  • Guest
Re: Syskeuomorphic theme.
« Reply #9 on: August 22, 2019, 08:36:49 AM »
Look who has a brand new game title scrolling feature in his arcade theme!!!  ;D

https://www.youtube.com/watch?v=J1mMlbHxScI

Your code is awesome, especially now with all the detailed remarks. Huge thank you farique!  8)
« Last Edit: August 23, 2019, 01:37:22 AM by Yaron2019 »

Enkak

  • Sr. Member
  • ****
  • Posts: 161
    • View Profile
Re: Syskeuomorphic theme.
« Reply #10 on: August 22, 2019, 10:55:44 AM »
+1 here for the awesome retro look and computers love. Played a lot of Spectrum and Amiga in the old days, among others. :)
Also big +1 thank you farique for the scroll code help. I must study it further since I think it that can help a lot on certain themes where the titles don't fit. And seeing already the result on Yaron2019 theme is very promising. :)

Would a code like this help also history/story info texts to scroll vertically for example?

farique

  • Full Member
  • ***
  • Posts: 28
    • View Profile
Re: Syskeuomorphic theme.
« Reply #11 on: August 22, 2019, 04:48:03 PM »
Yaron2019, the scrolling marquise is awesome on your layout. That led sign design was asking to be scrolled!

Enkak, if I remember correctly the story info text box on AM is a little finicky, I had some problems integrating it on my displays.
I implemented a manual scrolling using a thing called
Code: [Select]
<text_box>.first_line_hintbut it refused to scroll if all of several variables weren't the way it wanted.
Should work with something similar to the horizontal implementation, varying the .first_line_hint instead of clipping a string.
However I think one of the problems I had was that I couldn't find a way to reliably mesure the text size. Manually you just see when the text come to the end but it can be a problem on an automated fashion.
I even think I tried to automate it at the time but it certainly was before I did the horizontal scrolling.

Definitely something for the TODO list.

Neosys

  • Full Member
  • ***
  • Posts: 50
    • View Profile
Re: Syskeuomorphic theme.
« Reply #12 on: August 23, 2019, 07:29:04 AM »
@farique

scroll.zip/layout.nut

Hi. I get the following error
What can I do?

Thank you!


AN ERROR HAS OCCURED [wrong indexes]

CALLSTACK
*FUNCTION [update_realtime()] C:\attract-v2.5.1-win64\layouts/Scroll/layout.nut line [201]

LOCALS
[_scrlMsg] ARRAY
[f] 0
[ttime] 1374
[this] TABLE
Script Error in tick function: update_realtime - wrong indexes
« Last Edit: August 23, 2019, 08:44:42 AM by Neosys »

farique

  • Full Member
  • ***
  • Posts: 28
    • View Profile
Re: Syskeuomorphic theme.
« Reply #13 on: August 24, 2019, 10:51:22 AM »
@Neosys

I cannot test it right now but just to throw something out.
The problem seems to be related to the text box that I used as an array (the _scrlMsg[]), also it spits out the "f" variable and complain about wrong indexes. Did you edited the code somehow? Removed any of the _scrlMsg[] or messed with the FOR loops?

I am using the same AM version but on a Mac, should not be a problem.

Any more information you can give me?

Neosys

  • Full Member
  • ***
  • Posts: 50
    • View Profile
Re: Syskeuomorphic theme.
« Reply #14 on: August 24, 2019, 12:45:49 PM »
Did you edited the code somehow? Removed any of the _scrlMsg[] or messed with the FOR loops?

No I did not change the code. I have not removed anything. I just unzipped the scroll.zip and then for example into my atari 2600 screen.