Page 4 of 4

Why you are interested in 8bit computers?

Posted: Sun Dec 19, 2021 1:43 pm
by martinot


On 10/31/2021 at 2:21 PM, Ju+Te said:




Why you are interested in 8bit computers like the (Commander) X16? What makes them better for you than modern computers like a PC/Mac or Raspberry PI? What makes them different to Arduino?



Modern computers and operating systems are great. Much better and more efficent both to use and develop on. With tools we only could dream on in the 80ies. 

What attracts me to 8-bit is just for nostalgia and pure retro fun! But that is not bad. It is important to have some fun in life! ? 


Why you are interested in 8bit computers?

Posted: Sun Dec 19, 2021 6:51 pm
by Tatwi


On 12/16/2021 at 9:19 AM, MaicoD said:




 



What's all this got to do with 8-bit computers you ask? Well this is it... while I'm proud of keeping up to date with the way graphics are done today and I can build some interesting Windows demos, it's apparent I'm never going to make a game. Today's versions of the leading graphics APIs are focused on producing near cinematic quality visuals and can achieve near-photo realism at 4K resolutions which is of course what most AAA titles (with huge budgets) desire. But that's also the problem... with such a limitless capability offered by today's GPUs and 64-bit PCs, also comes the limitless potential for paralysis.



 



This is what has happened to me... I can't bear to open up my latest Visual Studio project any more. I'm attracted to retro computing more than ever because at one time all you needed was a C compiler, Paint Deluxe, and a cozy 320x240 screen resolution... and then watch your shareware contributions flow.



I'm not sure if the X16 will be right for me, but I really enjoy reading the forums and look forward to the day when coding projects return to being manageable and above all, fun!



I know exactly what you mean and how you feel.

At any resolution, making the step from 2D to 3D requires a university level understanding of algebra/geometry and calculus that doesn't work well with everyone's brain or is simply unenjoyable for people who aren't interested in those subjects. By contrast, low resolution 2D games with sounds and music created from a few square wave channels are manageable by a single person, because the maximum level of detail for each part of the creative process and final production is capped at a level of effort measured in minutes rather than days, hours, or even weeks.

2D pixel art games made with C#/Mono/Unity/JavaScript/etc are popular, because the art and programming are easier for single person or a small group to manage. Ratchet that down to the capability of real 8 bit computers, where colors, sprites, RAM, and CPU speed are also limit, and projects become even more manageable. That's extremely compelling for a hobbyist, because it dramatically increases the likelihood of success while also significantly diminishing the effects of emotional burnout. It's just less work.

May 31st, 2017 was when I made the first Git commit to RocketTux, a "simple 2D game" written in JavaScript using two "frameworks" layered on top of each other (Phaser uses PIXI). The actual programming is the easy (mostly enjoyable) part, but everything else, from making the tilemap sections, tiles, sprites, music, tools, data tables, and trying to debug annoying problems caused by changes to the web browser, has been so much honest to goodness work that nearly five years on, I still haven't finished the game. I've certainly had enough time to finish it, but I haven't had the "emotional bandwidth" power through all the work. This has caused me to experience frustration, guilt, depression, anxiety, and even shame over the years. Making the open source game is supposed to be a hobby, something I do for my own amusement, but I didn't intend to be making this one thing for thousands of hours. Ya know? I mean, it's not even that great of a game! Had I made it for the C64, I would have finished it already, because there simply would have been less work to do. In hindsight, that's pretty compelling, even if one must suffer through learning and writing 6502 assembly language, provided one is capable of learning it (I haven't had much success).

I'm certainly not downplaying the effort required to plan, design, and complete a game for an 8 bit computer. Heck, even the talented 8 Bit Guy out sources the music production for his games - Time is money limited, friend! It's really just that the possible and the expected levels of detail for 8 bit games are within the bounds of reason for a individual, average hobbyist.

Also I'd just like to throw out there that making sound effects and Foley is a bonified occupation! I can't tell you how many hours I spent banging and scratching on things and futzing with Audacity and Sunvox back in 2013 in an effort to produce my own effects for Rescue Girlies. Seriously, it's a lot of work and an artform. So many parts that go into the whole of these modern games are their own disciplines.


Why you are interested in 8bit computers?

Posted: Mon Dec 20, 2021 12:08 pm
by MaicoD


On 12/20/2021 at 5:51 AM, Tatwi said:




At any resolution, making the step from 2D to 3D requires a university level understanding of algebra/geometry and calculus that doesn't work well with everyone's brain or is simply unenjoyable for people who aren't interested in those subjects. By contrast, low resolution 2D games with sounds and music created from a few square wave channels are manageable by a single person, because the maximum level of detail for each part of the creative process and final production is capped at a level of effort measured in minutes rather than days, hours, or even weeks.



Absolutely spot on. A solid understanding of matrix math is compulsory and non-negotiable for 3D game development. Another prerequisite is an understanding of the physics of light to perform pixel shader lighting equations. It helps to know a little physics to code collision behaviors in 2D games but it's nothing near the complexity of 3D.

In the early 2010s I decided to study Java, and after just a couple of months and with the aid of some Java game textbooks, I had a working game engine. The next week I had developed my first Pong clone, the week after that a Snake clone, and then the week after that I coded a Space Invaders clone. And all this on my work's laptop PC and working full-time! I was on a roll, but then I had to devote my time to learning SQL for my job, and I also felt that the era of developing in Java was over (ok, ok... I know Minecraft is written in Java but that's just a minor outlier?)

The point being just as you say, that you can measure progress in 2D in terms of minutes and hours, instead of weeks and months!


On 12/20/2021 at 5:51 AM, Tatwi said:




2D pixel art games made with C#/Mono/Unity/JavaScript/etc are popular, because the art and programming are easier for single person or a small group to manage. Ratchet that down to the capability of real 8 bit computers, where colors, sprites, RAM, and CPU speed are also limit, and projects become even more manageable. That's extremely compelling for a hobbyist, because it dramatically increases the likelihood of success while also significantly diminishing the effects of emotional burnout. It's just less work.



And that's the truth. There just aren't any boundaries on modern hardware. A hobby game developer simply just cannot build a 3D world on their own (I've found out the hard way?). That's why I believe it's not just nostalgia driving the groundswell in retro computing... there must be thousands of enthusiasts just like us yearning for 8-bit and even 16-bit hardware so we have real memory and other programming constraints that limit our horizons, but at the same time allow us to pit our skills against the limitations and complete a project within a decent timeframe.


On 12/20/2021 at 5:51 AM, Tatwi said:




...nearly five years on, I still haven't finished the game. I've certainly had enough time to finish it, but I haven't had the "emotional bandwidth" power through all the work. This has caused me to experience frustration, guilt, depression, anxiety, and even shame over the years. Making the open source game is supposed to be a hobby, something I do for my own amusement, but I didn't intend to be making this one thing for thousands of hours.



Yeah I'm going through the whole cycle of emotions as well when it comes to my own project, a fully functioning DirectX 12 game demo built completely in Visual C++. I admit it's very unusual these days when virtually everyone from hobbyists to game studios use Unity or Unreal, but this explains why I feel a little isolated because I'm not part of a community to keep inspired and motivated by. That's the price you pay for swimming against the stream, but it's the way I've always done it ever since the Borland Turbo C days.

Finally I just want to echo your observation that each component of a modern game is itself very much a full-time discipline. That basically implies the days of the lone game designer are numbered... and that's exactly where retro computers can come in to save the day!


Why you are interested in 8bit computers?

Posted: Tue Dec 28, 2021 4:48 pm
by Ju+Te

The last couple of days I've tried to learn something new with desktop/mobile application development using Kotlin, Jetpack Compose, Gradle, you name it. I have the strong feeling that this is much harder though the availability of tutorial than learning how my 8-bit computer was to be programmed. OK, one reason of course, is, that I'm older now, but I'm also quite certain that the complexity has increased significantly. Unfortunately, the most tutorials start on a too high level for me. They explain how to achieve this or that with the help of high-level tools like Gradle and Android Studio to build something and at the end of this process something happens in the emulator - or shows a result. For me, I think, it would be much easier to understand if they would start low-level, compile this file with the compiler, bundle all together with this command line call. Unfortunately, programming 8-bit computers does not help me for my business...


Why you are interested in 8bit computers?

Posted: Wed Dec 29, 2021 6:35 pm
by Edmond D


On 12/28/2021 at 8:48 AM, Ju+Te said:




For me, I think, it would be much easier to understand if they would start low-level, compile this file with the compiler, bundle all together with this command line call. Unfortunately, programming 8-bit computers does not help me for my business...



I find that modern tutorials are a real mixed bag of quality. In the old days, training material was printed so there was a barrier to entry for the masses. The internet (and spaghetti authors) has reduced that significantly, now one has to sift through a lot of sand to find a diamond. I've also found that tutorials that focus on getting and end result quickly gloss, skim or skip anything that might be work. The question becomes is the end result more important that how to get that result and apply it to what you want to do in the lesson?



I've recently looked at some material on ardunio programming. The books seem to focus on getting a piece of HW to work and usually states use this linbrary or part for quick results, rather than build up the skills to take on the problem. Somehow it seems to be about just copying the right files and clicking the right buttons, rather than thinking about the problem and methodically programming for it.



In this community there are many who are talented who have produced good material for the rest of us. I've skimmed over everything posted here and found enough to work through while we all wait for a real X16 to ship. I don't think anyone has dreams of making a huge amount of money with the X16, rather they do it for fun. 



While there may seem not to be direct link for 8 bit programming in the commercial arena, learning how to work on limited resources and with a complete system is of benefit. The advantages may not be obvious, but I believe they are there. Congrats for taking on both learning. for work and learning for the hobby/joy of it.



PS - a spagetti author is one who writes a book about some topic, then updates the book (in such a minor way) each time a new version of the software is realized. It goes to market saying it covers the latest version, but really it's just a re-hash of the old stuff which wasn't great to begin with. "Over a million books sold" usually is printed somewhere on the cover, but it's really 10 versions of basically the same book with 100,000 sold (and all the work done was a search and replace on the version number.) 

 


Why you are interested in 8bit computers?

Posted: Wed Dec 29, 2021 7:51 pm
by Strider

I agree with @Edmond D when it comes to "modern" tutorials.

In my recent quest to learn how to program Arduino, I found a lot of trash tutorials that glossed over many fundamentals and went right to the "just do this" and did not explain WHY.

Luckily I ran across this guy: Paul McWhorter @ https://www.youtube.com/user/mcwhorpj

While I already know a vast majority of the electronics hardware he goes into (been doing that since the 80's), he does a great job explaining WHY he's doing what he's doing and what the programming is doing. I still found myself watching the parts I already knew, and not skipping to what I didn't (the coding itself), because he does such a  good job explaining it.

He's an excellent instructor, a diamond in the sand.  ?

 


Why you are interested in 8bit computers?

Posted: Thu Dec 30, 2021 11:28 am
by Ju+Te


On 12/29/2021 at 7:35 PM, Edmond D said:




've recently looked at some material on ardunio programming. The books seem to focus on getting a piece of HW to work and usually states use this linbrary or part for quick results, rather than build up the skills to take on the problem. Somehow it seems to be about just copying the right files and clicking the right buttons, rather than thinking about the problem and methodically programming for it.



I completely agree. A couple of years ago I've developed my own code to control LCD displays or I2C devices using Arduino. Because of that they only could do exactly that what I needed, not more, and (to me) the code was understandable even when looking 2 years later at the code.


Why you are interested in 8bit computers?

Posted: Thu Dec 30, 2021 2:04 pm
by MaicoD


On 12/30/2021 at 5:35 AM, Edmond D said:




I've recently looked at some material on ardunio programming. The books seem to focus on getting a piece of HW to work and usually states use this linbrary or part for quick results, rather than build up the skills to take on the problem. Somehow it seems to be about just copying the right files and clicking the right buttons, rather than thinking about the problem and methodically programming for it.



Oh boy... bad or outdated documentation isn't just the province of spaghetti coders or self-publishing enthusiasts. It is even practiced by a certain IT multinational based in Redmond in the US state of Washington (in other words, "they who must not be named"?)

Currently I'm trying to add video playback functionality to my DirectX game framework so it can support "cut scenes", intros or end game movie sequences. Those familiar with earlier versions of DirectX may remember the DirectShow API which served this purpose, but this was deprecated and superseded by Media Foundation at the start of the 2010s. So there I am referring to the current Media Foundation online docs which refer to compatibility with "Windows Vista, 7 and above". The example introductory tutorial still targets Windows 7, and as already mentioned above, it's a case of "just paste these header and class files into your project and you're good to go".

When I added all the Media Foundation code and tried to compile in Visual Studio, I received a flood of linker errors. After frantically googling, I found that there were dependencies on library files which the official docs had neglected to mention! Gaaaa!!! The beginner tutorial also sets up an app to play media from a URL source you submit in a dialogue box, which I also think is weird. Wouldn't most beginners just want to see code to play a locally saved MP4?


On 12/30/2021 at 5:35 AM, Edmond D said:




PS - a spagetti author is one who writes a book about some topic, then updates the book (in such a minor way) each time a new version of the software is realized. It goes to market saying it covers the latest version, but really it's just a re-hash of the old stuff which wasn't great to begin with. "Over a million books sold" usually is printed somewhere on the cover, but it's really 10 versions of basically the same book with 100,000 sold (and all the work done was a search and replace on the version number.)



And how!!! I encountered this phenomenon last year when I made it my mission to buy up secondhand copies of all those 90s game programming books I could never afford back in the 90s?. A helluva lot of those books for game programming in DOS and then Windows 9x were written by Andre LaMothe. All the books he actually authored were amazingly thorough. If you believe the back cover blurb, he was also quite the thrill-seeker into a number of "extreme" pursuits... so I always wondered how he could be the same person who could sit down long enough to write so many texts on how to code games in C!!! So as you can imagine from such a personality, his paragraphs were profusely littered with high-five terms like "boo-yah!" and "touchdown!"

He was one of the good (and very entertaining) authors... later on however, there were more than a few books which carried his name on the cover but his sole contribution appeared to be a preface or an introduction to a book which was a thinly disguised reference manual. At least I was purchasing these books used... but I'm sure we've all suffered the disappointment of paying good money for a programming text which ends up being mostly padding, personal anecdote and shoddy "example" code (with the absence of any end-goal working game to plug it into, or at worst just doesn't work).

I've learned it's a classic case of "buyer beware" and it pays to do your research. Amazon reviews are one of the first places you should consult and some of the feedback is incredibly detailed. It has certainly helped me avoid a few purchases but also made me eager to buy others.

 


Why you are interested in 8bit computers?

Posted: Thu Dec 30, 2021 3:59 pm
by Edmond D


On 12/30/2021 at 6:04 AM, MaicoD said:




Oh boy... bad or outdated documentation isn't just the province of spaghetti coders or self-publishing enthusiasts. It is even practiced by a certain IT multinational based in Redmond in the US state of Washington (in other words, "they who must not be named"?)



Spaghetti authors/publishers basically throw the product against a wall, and see what sticks. If it sells then it got 'updated' when the next version came out. The star that I won't name had this written about him: (somewhat edited to attempt to avoid identifying the person.)



 

 


Quote




"This author  is called "one of the world's foremost authors of books about programming" by a programming  magazine. He is featured as one of the rock star programmers in Ed Burns' book Secrets of the Rock Star Programmers.  This foremost writer's books have sold in the millions, worldwide.



His books have a reputation for being riddled with errors. Their technical accuracy has been challenged by many reviewers, including the ISO committee members & numerous  reviewers from a programming association.



Other reviewers have been more positive, with one  reviewer saying about his book that the writer "has learnt something, not enough to receive positive acclaim but enough to remove the 'positively detrimental' epithet".






Quote




He claims he was a member of the original ANSI committee that standardized a language in 198X, and the ANSI/ISO committees that updated that standard in 1990’s.  Other members of the ANSI committee have drawn his presence in the committee and the quality of his committee efforts into question.





Spaghetti coders who write spaghetti documentation seem to be an "un special" case. I think we've all been subject to them; one was in my formal school as an instructor. ?

In the X16 community I've found people in general document things reasonably well. Perhaps because there is little money or fame, but more so I feel that they do it as a labour of love. To me, it captures the same spirit as in 1980s computer clubs I was involved in, making this project even more "retro."

 

PS- Thanks for providing a detailed set of examples Maico.