Jump to content
IGNORED

what's a fast & easy programming language / library / IDE / system for making Atari VCS and 8-bit type games for Windows?


madscijr

Recommended Posts

Can someone recommend a relatively simple, easy to learn & use, yet powerful enough to do what I want, imperative programming language like BASIC or Visual Basic, for making Atari VCS and 8-bit type games for the Windows desktop (or maybe Linux but prefer Windows)? 

 

I would mainly be making 2-D games - stuff like Pong or Combat up to 8-bit Atari or Commodore era games, but probably nothing more complex. Maybe remake Pinball Construction Set or classic Ultima. 

 

Some features that would help

  • relatively self contained (not 1,000,000 libraries you have to go through)
  • free or not too expensive (this would be just for fun)
  • easy to find lots of sample code for how to do things, and strong active community to ask questions
  • built in IDE (preferably a visual IDE)
  • and most importantly:
    • currently supported and should continue to keep working for some time
    • developed with a backwards-compatible philosophy so your programs will still work after a couple years!

 

I have dabbled in various languages / systems over the years and made some games or partial games: 

  • Commodore 64 / BASIC - easy but games ran too slow, compiler helped speed games up, used some simple assembly for speeding up little routines (hard!)
  • Commodore 64 / Gamemaker - easy but too limited (plus I missed being able to type code)
  • Mac Classic / Pascal - limited to black & white graphics, couldn't find any info on making sounds (pre-Web so it was very hard to find docs or examples)
  • Windows / QuickBasic - nice and easy but obsolete & couldn't figure out anything past text graphics and simple beeps
  • Windows / VB6 - I liked the language and IDE but limited graphics support (bitblt, kind of confusing), and I never figured out playing >1 sounds at a time, just playing back WAV files one at a time; eventually VB6 became obsolete so I had to start over
  • Windows / VB.NET 1.1 and some C# - the .NET language kept changing and got too complicated with the enterprise OO features
  • JavaScript / HTML5 - figured out canvas graphics, Javascript syntax is easy but I am not crazy about HTML and CSS, and parts of language were too complicated and ugly (prototype stuff, too many libraries & frameworks, no types, etc.)
  • Python / Pygame - mainly playing around with other people's code from pygame.org, still not comfortable with Python, not crazy about certain things like the indentation, no types, too many libraries / choices, dependencies and things changing too much that can break your code, etc. 

 

After all these years and languages I still prefer BASIC or VB6 syntax (JavaScript/C syntax is OK, Pascal is OK) and a visual editor. 

 

Mainly I don't have a ton of time to invest in learning stuff and if I get busy (which is often the case!), I might put a project down for months at a time, or even a couple years, and by the time I get back to it, the language I wrote it in has updated/changed or become totally obsolete, and I have to go back and fix my code or start over from scratch. I know computers change and all that but come on :-D

 

So anyway, if anyone has any advice or recommendations that would be grand. And hey, if it doesn't exist, it doesn't exist, but I thought I would ask!

 

PS here are some pages I was looking at, in no particular order - if anyone can share any opinions on these, please: 

 

Much appreciated

Edited by madscijr
  • Like 1
Link to comment
Share on other sites

https://atariage.com/forums/forum/65-batari-basic/

 

everything you need should be there....but I'll tell you up front - the Atari VCS is one of the quirkiest systems to program for.  I didn't say "difficult," it's not too hard to make a simple pong or shooter type game with batari...but unless you know Assembly code and have great optimization skills, games like PCS and Ultima are kind of out of the scope of the hardware.  There are already a couple of Ultima type homebrews...and they really push the limits of the system, and I don't think there could be much more improvements on them.  If you haven't already, check out homebrews like Thrust+, Space Rocks, Draconian, Dungeon I & II, and something called Penult (which was in a thread called "This is not Ultima", lol).  Those are a few of the games where the programmers really pushed the boundaries of the 2600, and I don't think they could add any more code to them without reaching size limits.

  • Like 2
Link to comment
Share on other sites

On 12/18/2019 at 3:18 PM, madscijr said:

Can someone recommend a relatively simple, easy to learn & use, yet powerful enough to do what I want, imperative programming language like BASIC or Visual Basic, for making Atari VCS and 8-bit type games for the Windows desktop (or maybe Linux but prefer Windows)? 

 

I would mainly be making 2-D games - stuff like Pong or Combat up to 8-bit Atari or Commodore era games, but probably nothing more complex. Maybe remake Pinball Construction Set or classic Ultima. 

 

Some features that would help

  • relatively self contained (not 1,000,000 libraries you have to go through)
  • free or not too expensive (this would be just for fun)
  • easy to find lots of sample code for how to do things, and strong active community to ask questions
  • built in IDE (preferably a visual IDE)
  • and most importantly:
    • currently supported and should continue to keep working for some time
    • developed with a backwards-compatible philosophy so your programs will still work after a couple years!

 

I have dabbled in various languages / systems over the years and made some games or partial games: 

  • Commodore 64 / BASIC - easy but games ran too slow, compiler helped speed games up, used some simple assembly for speeding up little routines (hard!)
  • Commodore 64 / Gamemaker - easy but too limited (plus I missed being able to type code)
  • Mac Classic / Pascal - limited to black & white graphics, couldn't find any info on making sounds (pre-Web so it was very hard to find docs or examples)
  • Windows / QuickBasic - nice and easy but obsolete & couldn't figure out anything past text graphics and simple beeps
  • Windows / VB6 - I liked the language and IDE but limited graphics support (bitblt, kind of confusing), and I never figured out playing >1 sounds at a time, just playing back WAV files one at a time; eventually VB6 became obsolete so I had to start over
  • Windows / VB.NET 1.1 and some C# - the .NET language kept changing and got too complicated with the enterprise OO features
  • JavaScript / HTML5 - figured out canvas graphics, Javascript syntax is easy but I am not crazy about HTML and CSS, and parts of language were too complicated and ugly (prototype stuff, too many libraries & frameworks, no types, etc.)
  • Python / Pygame - mainly playing around with other people's code from pygame.org, still not comfortable with Python, not crazy about certain things like the indentation, no types, too many libraries / choices, dependencies and things changing too much that can break your code, etc. 

 

After all these years and languages I still prefer BASIC or VB6 syntax (JavaScript/C syntax is OK, Pascal is OK) and a visual editor. 

 

Mainly I don't have a ton of time to invest in learning stuff and if I get busy (which is often the case!), I might put a project down for months at a time, or even a couple years, and by the time I get back to it, the language I wrote it in has updated/changed or become totally obsolete, and I have to go back and fix my code or start over from scratch. I know computers change and all that but come on :-D

 

So anyway, if anyone has any advice or recommendations that would be grand. And hey, if it doesn't exist, it doesn't exist, but I thought I would ask!

 

PS here are some pages I was looking at, in no particular order - if anyone can share any opinions on these, please: 

 

Much appreciated

 

You might like SuperCharger BASIC for writing Atari 2600 games - it supports classic basic format with line numbers, or an IDE with ASCII art GUI designers for sprites and virtual worlds - the IDE is already built into Windows: 

 

http://relationalframework.com/Atari2600gamesonline.htm

 

The idea is similar to the SmallBASIC concept design you listed - here is an example of a BASIC game written in 9 lines:

 

http://relationalframework.com/9LineBlitz.txt

 

SuperCharger BASIC outputs real Atari 2600 game ROM's that you can play on Windows, Linux or the phone via the bowser based Atari emulator Javatari!

 

  • Like 2
Link to comment
Share on other sites

  • 1 year later...

Just to update people in case anyone else is interested in writing Atari type games on a modern PC, that I have been playing with QB64 and created a couple simple practice games without too much trouble. They run fast, and it's BASIC, so for anyone who grew up with that language like I did, it's not too hard to pick up. 

I plan to try my hand at FreeBasic next. 

 

Link to comment
Share on other sites

  • 1 year later...
On 12/18/2019 at 3:18 PM, madscijr said:

Python / Pygame - mainly playing around with other people's code from pygame.org, still not comfortable with Python, not crazy about certain things like the indentation, no types, too many libraries / choices, dependencies and things changing too much that can break your code, etc. 

Yeah I agree with these criticisms on python,  but on the other hand Python is now the most popular language in the world and worth learning, while BASIC has kind of fallen by the wayside.  If I was going to write something in an interpretive language now, I'd do it in python.

 

Also maybe look at something like Godot to help speed up game development:

https://godotengine.org

 

EDIT:  Whatever you choose you're going to want to go with something well-supported and  well-documented,  a lot of the open-source projects in your list look iffy in that regard

 

Edited by zzip
  • Like 1
Link to comment
Share on other sites

16 minutes ago, zzip said:

Yeah I agree with these criticisms on python,  but on the other hand Python is now the most popular language in the world and worth learning, while BASIC has kind of fallen by the wayside.  If I was going to write something in an interpretive language now, I'd do it in python.

 

Also maybe look at something like Godot to help speed up game development:

https://godotengine.org

 

EDIT:  Whatever you choose you're going to want to go with something well-supported and  well-documented,  a lot of the open-source projects in your list look iffy in that regard

 

 

Thank you for your reply! 

 

I don't see anything wrong with Python for people who like it, it is definitely the most popular language and available for all major platforms. 

 

However, being _interpreted_, if you want to distribute a game written in Python and PyGame and whatever libraries, the end user would need to install Python and said libraries. And it's not going to perform as fast as a compiled language (of course that depends on a lot of things, like how optimized or poorly designed the individual program is, the library used, etc.)

 

For me, QB64 is easy to work with, cross platform (pc, mac, and linux), compiled & runs plenty fast, well-documented, and has an active and supportive user community. I haven't got to Free Basic yet, but it seems to have similar benefits. 

 

But there is definitely nothing wrong with Python if that's your preference!

 

(I just wish someone would make a compiler for it, add the option to declare types, the option to enclose blocks in { } or some kind of begin/end delimiter instead of indentation, and a simple header line that declares which version (Python 2, 3, 4, etc.). But that's just me.)

 

Thanks again!

Edited by madscijr
Link to comment
Share on other sites

13 minutes ago, madscijr said:

However, being _interpreted_, if you want to distribute a game written in Python and PyGame and whatever libraries, the end user would need to install Python and said libraries. And it's not going to perform as fast as a compiled language (of course that depends on a lot of things, like how optimized or poorly designed the individual program is, the library used, etc.)

Oh yeah, good point.   I'm used to Linux where python is usually available already.  I suppose one could distribute the portable python in their Windows installer package, but sounds messy.

 

9 minutes ago, madscijr said:

But there is definitely nothing wrong with Python if that's your preference!

 

(I just wish someone would make a compiler for it, add the option to declare types, the option to enclose blocks in { } or some kind of begin/end delimiter instead of indentation, and a simple header line that declares which version (Python 2, 3, 4, etc.). But that's just me.)

It's not really my preference either due to the reasons you mention (can't tell you how many times my programs failed due to indentation issues!).    But because it's so popular there are benefits to learning it.

 

I do my game coding in C for better or worse

  • Like 1
Link to comment
Share on other sites

19 minutes ago, zzip said:

But because it's so popular there are benefits to learning it.

 

I do my game coding in C for better or worse

 

100% agreed. 

If you do C, my hat's off to you, you're way more advanced than me ?

 

BTW, for anyone curious about QB64, goto qb64.org or check out the forums:

https://forum.qb64.org/index.php

 

A game I made in the spirit of the Atari VCS:

https://forum.qb64.org/index.php?topic=4649.0

 

And for Atari / classic arcade fans, a couple by Terry Ritchie:

 

A killer version of Asteroids:

https://forum.qb64.org/index.php?topic=2264.0

 

And Berzerk:

https://forum.qb64.org/index.php?topic=442.0

 

 

Edited by madscijr
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...