Jump to content
Sign in to follow this  
Mik's Arcade

hello all - my introduction

Recommended Posts

Hi  All -

Thanks to the Admins for accepting me into the forum.

 

About me: I'm Mike, a 51 year old male who works a boring data analyst day job, but hey it pays the bills.

 

Now that my kids are older (have a high school freshman and one going to middle school next year), I've got more time for hobbies.

When I am not running (I run 4 times a weeks and will run my first marathon in March 2021 - would have run it this past March if not for COVID), I am a big gamer. I am fortunate that the Mrs is the early to bed, early to rise type, and I am a night owl who also rises early.  As a result, I still get my daily dose of gaming in. As much as I love new consoles, lately I have been returning to my childhood roots and retro gaming.


It all started 2 years ago when I discovered the joys of the Raspberry Pi computer and emulationstation. There is so much great stuff out there, but in particular I am obsessed with the 1970's and 1980's golden age of the arcades. So many wonderful memories, plus so many new discoveries, and they still play great today. My nickname to this day, 'MIK', comes from my local arcade 3 letter high score entries on Defender and Donkey Kong, in which I ruled the city with these 2 games in particular. In any event, this project was so successful that I decided to needed to plug that computer into a bartop arcade unit.  So, I hopped over the Gameroomsolutions and bought a full kit and built it myself. It was NOT easy, especially wiring the joysticks and buttons into to the USB encoder so that I could get the classic Street Fighter 2 six button setup. It took a lot of emails and watching youtube videos to get it done, because they don't give you any instructions and the videos are not perfect. The bartop marquee is Mik's Arcade, hence my username.

 

So, when the Amico was announced, I just had to get all over that. Growing up in a poor household, we could not afford the consoles. I never owned an Atari, Colecovision or even any of the Nintendo systems, had to go off to friends houses to play these game.  My brothers and me pooled our paper route and odd job money together and ultimately we got an Intellivision.  Over on the Amico forum, there is not a lot to talk about, but someone posted a link to Oscar Toledo's programming book for Intellivision games and I was all over that.  I never studied assembly language, but I do know BASIC, Pascal and some C so I figured I could do IntyBasic. And of course, that brought me here. Knowing that the jzintv emulator works on Raspberry Pi, I figure I could put my own games and complete the trifecta of building a retro game computer, a bartop unit to play them on, and now actual games to play.

 

I read the book and entered all the programs and got them all working, but it barely scratches the surface. I have a lot of sample programs to go through and the FAQ here to read through as I have a million questions already. I don't know how much I will be able to contribute, maybe later on down the line when I 'git gud.'

So far, so good. I have already planned out a few games I want to do, 2 originals, 2 remakes. For whatever reason, for my first project I decided to reverse engineer Lock N' Chase.  I have built the entire game screen exactly as the game, and have all of the assets such as the gold pieces, the walls, the 10 bonus treasures, the money bag and the characters.

 

My first basic question is:  BITMAP vs DATA (ie, INTYColor) ?

It seems that making the 8x8 BITMAPS gets you so far. I was able to mimic everything in the game except of course the policemen and the thieves. Those seems to be made of more pixels and use many colors. I can get close enough using BITMAP for now.  Also, for the blocks, the lines in the background are colored, you know the lines where you can lock a door.  I'm still trying to figure out how to use the proper MODE so I can apply background color to blocks. Do most of you not even both with BITMAPS and just create all graphics via BMP files and plug them into INTYColor?  Or just point me to one of the many topics that probably talked about this ad naseum. Sometimes it is hard to wade through a thread with a bunch of replies to get to the info you need.

 

Now, it's time to get into the actual coding, ie, making the actual game work. I'm leaving sound effects and music for last as that's a whole other ballgame. Since I plunk around on the bass from time to time, I at least have some know how on music theory, I got a rough version of the bass to 'Another one bites the dust' playing.

That's it for now. I hope I don't come off as obnoxious! I certainly have a lot of homework to do. I'm just really passionate about gaming and so thankful for all the smart people out there that are creating tools to preserve classic gaming and allowing people like me who are not as skilled to still do great things with this hobby I love.

  • Like 4

Share this post


Link to post
Share on other sites

BITMAP and DATA are two ways to describe the same thing. Both will define GRAM cards that can be used as background (BACKTAB) and/or sprites (MOB). DATA is a more compact way to store the information in the source code, but also harder to modify. Each DATA statement is a 16-bit value representing the bitmap of line 1, 3, 5, 7 in the MSB and line 0, 2, 4, 8 in the LSB. For high resolution pictures you've converted using the Intycolor tool, storing the graphics as DATA makes sense since you're not likely to manually change it afterwards. For individual MOBs etc, storing the graphics as BITMAP makes it more visual in the source code and you can easier make alterations or copy the graphics for different variations.

 

Common for all graphics on the Intellivision is that each background cell may contain a 8x8 pixel character, either from GROM or GRAM. It has one background colour and one foreground colour. The principal differences between the graphics modes:

 

Color Stack: You define 4 background colors and rotate between these. You can display all 256 characters from GROM + all redefinable 64 characters from GRAM. The GROM symbols can be displayed with any of the 8 primary foreground colours and the GRAM symbols are available with all 16 foreground colours.

 

Foreground/Background: Each cell can contain any of the 16 background colours and any of the 8 primary foreground colours. You can only display the first 64 GROM symbols, but all 64 GRAM symbols. This applies to sprites as well.

 

There is a variation of Color Stack called Colored Squares mode which operates with a 40x24 block resolution as well.

 

Any additional graphics you want on the screen beyond the limitation of one background and one foreground colour, need to be layered using sprites (MOB). Each sprite has one foreground colour (no own background colour), and can be expanded and mirrored in various ways. You can put many sprites on top of eachother, but you have a maximum of 8 to use. Note that the symbols used for sprites are the exact same GRAM as those you use for backgrounds. You can use GROM symbols (e.g. letters, numbers) as movable objects too if you really would like to.

Edited by carlsson
  • Like 1

Share this post


Link to post
Share on other sites

Hello.  I remember seeing your post with your screenshot on FB.

 

I had written a few indie games early on, when Assembly was the only choice we had.  After I bought the @nanochess book and took the plunge into IntyBASIC, I went a step further and created an environment on Android devices suitable for development and play.  That was by necessity because I could only fit development into the cracks of my schedule.  A couple other people have built whole SDK packages around IntyBASIC and shared them as well.

 

First, Intellivision MOBs (moving objects) are only one color, so drawing Lupin (the thief's name) is done with three moving objects drawn in the same space.  There is a bit that can be set to draw moving objects using 8x16 bits as opposed to 8x8.  By setting this bit and keeping the vertical size set to minimum, you can achieve "double resolution" within a single background card, which is why that bit is often called the "double-resolution" bit.

 

I have been creating BITMAP lines myself by hand, and only a few days ago added IntyColor to my environment and tried it out.  In the bad old days, I just wrote lines of hexadecimal data for the graphics.

 

You're in the right forum for programming questions, and we're all happy to help.  Unfortunately, all my games have used Color Stack Mode, so I can't immediately help you with Foreground/Background Mode except to say that's what you're going to need for what you're doing.

 

I'm glad to run into somebody else who's passionate about early games, especially the Intellivision.  We're happy to have you here.

Share this post


Link to post
Share on other sites
2 minutes ago, carlsson said:

There is a variation of Color Stack called Colored Squares mode which operates with a 40x24 block resolution as well.

Is Colored Squares Mode documented in the book, or did I miss it?  I know about it myself from reading Your Friend The Exec ages ago.  If anybody has a need for it, I could create a file with a bunch of constants defined to make it easy to work with.

Share this post


Link to post
Share on other sites

No, I don't think so. The book doesn't really get into technical details about the system, more how to use the programming language. The file constants.bas already has a set of constants for this mode though, if anyone is looking to work with it. Mainly I mentioned it for completeness, though it is a way to get more than 2 colours per 8x8 square if you can live with the blocky character of 40x24 pixels instead of a detailed background.

Share this post


Link to post
Share on other sites

thanks all, appreciate the replies.  I've seen CARLSSON all over this forum and have already read many of your posts.  I just discovered the CONSTANTS.BAS in one of my sample folders and this one file covers and explains a LOT.

 

I may leave Lupin just 1 color for now and use what I have to keep moving forward.  I need to get started on the 'meat' of the program and teach myself how to properly move Lupin around the maze properly, and then go from there.  I keep learning 1 small piece at a time, and can leave music and animation and advanced foreground/backgroup stuff until last.   It won't matter how good the game looks if you can't play it....haha.

 

Share this post


Link to post
Share on other sites

also, look in the contrib and samples sub folders, lots of examples you can take a copy of and tweak to do some trial and error. There is a pacman clone sample that may help with Lupin

Share this post


Link to post
Share on other sites
19 minutes ago, Tarzilla said:

also, look in the contrib and samples sub folders, lots of examples you can take a copy of and tweak to do some trial and error. There is a pacman clone sample that may help with Lupin

yes, will do....this will be super helpful.   No point in reinventing the wheel.  Code cannabalization works for me!  :)

Share this post


Link to post
Share on other sites

Hi and Welcome. If you're programming a game, get into the 2020 IntyBasic contest. We need more entries. I see you're in Charlotte (Go Panthers). You'll find several NC folks lurking on these forums. 

 

Share this post


Link to post
Share on other sites
2 hours ago, fsuinnc said:

Hi and Welcome. If you're programming a game, get into the 2020 IntyBasic contest. We need more entries. I see you're in Charlotte (Go Panthers). You'll find several NC folks lurking on these forums. 

 

Egads!  I'm not close to being able to join the contest!    Maybe the 2021 contest....haha.

 

On a funny note....I'm originally from Massachusetts....been in Charlotte for 6 years. So, it's kind of funny seeing Cam in a Patriots uniform now. And Brady in a Bucs uniform. Shame Cam is out with COVID, KC is a huge test.  Now I have 3 teams to watch each week.....

Edited by Mik's Arcade

Share this post


Link to post
Share on other sites

I grew up south Tampa in Bradenton, Panther PSL owner for their first 20 years or so, and a Cam Newton fan so I'm cheering for same teams. (But Panther's first).

 

I will encourage you to try it and have some fun. Don't worry about the contest for a month or so. Get started programming. In a month or so you might decide to enter the contest. It's not about winning it's all for fun. I'm struggling to find the motivation to do an entry myself. By the end of a day of working from home, I'm finding I just don't feel like sitting in front of my computer. 

 

If you have questions search the forums, and if you don't find the answer just start a new thread and ask. This community is very knowledgeable and the most helpful group of folks I have ever come across. (I'm almost always on the asking end, not the answering end.)

Share this post


Link to post
Share on other sites
15 hours ago, fsuinnc said:

2020 IntyBasic contest. We need more entries

For that matter, I'm convinced a number of entries are cooking around the world, though not yet announced yet. Usually many entries are presented right before the deadline, sometimes not public at all until the results are posted. I would think this time is no different.

Share this post


Link to post
Share on other sites

the include.bas is great....it's really helping me 'get' a lot of things I didn't quite understand. Plus, the constants give a user friendly name instead of trying to remember what the numbers or hex values mean.....

 

if I were to think about the contest, I need to stop working on this reverse engineered Lock 'n' Chase and get cracking on an original concept....

Share this post


Link to post
Share on other sites
17 hours ago, Mik's Arcade said:

the include.bas is great....it's really helping me 'get' a lot of things I didn't quite understand. Plus, the constants give a user friendly name instead of trying to remember what the numbers or hex values mean.....

 

if I were to think about the contest, I need to stop working on this reverse engineered Lock 'n' Chase and get cracking on an original concept....

For what is worth, one thing that helped me pick up Intybasic faster was NOT obsessing over producing original concepts from the start.

 

I just picked up as a starting point a game from Odyssey2 to port, and that was a great learning experience. 

Original concepts will tend to make you spend time designing things from scratch - which is fun, don't get me wrong - but that can be overwhelming and potentially demotivating if you are still trying to understand programming basics and can't quite deliver to your vision.

 

Crawl, walk, run...

 

Share this post


Link to post
Share on other sites

I'm sure there are other, similar maze games not already on the Intellivision that you could shift focus on, if you want something in the same neighbourhood as Lock & Chase but not reimplement the same game. I was about to suggest Ladybug, but realized that Coleco got that out already in 1983. Perhaps Turtles which also has an Odyssey^2 relation.

  • Like 1

Share this post


Link to post
Share on other sites

I doubt I will enter the contest, but I have put Lock and Chase on hold and am working on something a bit simpler - a fixed shooter in the vein of Space Armada.  Obviously, this will be easier to implement and get my feet wet.  I've got some ideas to mix the formula up, we shall see if I can make it work in the next month or so.  It would be great to get the criticism/feedback from the pros.

 

I literally just started working on IntyBasic so I am as green as they come.  I have not done any coding in about 20 years.....my work consists of meetings, table joins and excel sheets of data with pivot tables and v-lookups...haha.

  • Like 1

Share this post


Link to post
Share on other sites
On 10/7/2020 at 8:22 PM, Mik's Arcade said:

I doubt I will enter the contest, but I have put Lock and Chase on hold and am working on something a bit simpler - a fixed shooter in the vein of Space Armada.  Obviously, this will be easier to implement and get my feet wet.  I've got some ideas to mix the formula up, we shall see if I can make it work in the next month or so.  It would be great to get the criticism/feedback from the pros.

 

I literally just started working on IntyBasic so I am as green as they come.  I have not done any coding in about 20 years.....my work consists of meetings, table joins and excel sheets of data with pivot tables and v-lookups...haha.

My first successful project was SameGame back in 2001.  I decided to just go with a turn-based puzzle game, which would be easier to implement and wouldn't be too boring to play.

 

@carlsson as for maze chase games that have already been done, I was just thinking somebody ought to build a better Mousetrap, pun intended.  I loved the original game, but on the Intellivision it's way too hard to control, and there's no reason the sound hardware can't do a better job of recreating the music from the arcade game.  Plus there are only a dozen prizes to collect, nowhere near the number from the original game, and I miss the minor details like the text "Enter 'IN' to make hawk stupid."

Share this post


Link to post
Share on other sites
On 10/7/2020 at 7:22 PM, Mik's Arcade said:

I have not done any coding in about 20 years.....my work consists of meetings, table joins and excel sheets of data with pivot tables and v-lookups...haha.

In my opinion Intybasic is so accessible that if you got any type of coding experience and a genuine interest on the platform, you are good to go.

It really is a thing of beauty, kudos to @nanochess, as well as others who laid the foundations to make it possible. 

 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
8 hours ago, cmadruga said:

In my opinion Intybasic is so accessible that if you got any type of coding experience and a genuine interest on the platform, you are good to go.

It really is a thing of beauty, kudos to @nanochess, as well as others who laid the foundations to make it possible. 

 

agreed, I am so grateful for intyBasic and the work of @nanochess  I am totally into retro gaming at the moment, and the minute I found out about his book, I just had to have it.

 

  • First built a raspberri pi conputer running Emulationstation a couple years ago so I could play all my childhood favaorite arcade and intellivision games.
  • Then I built my own arcade bartop unit so that I could play games like Street Fighter II or Robotron like I was in the arcades. Did all the wiring and everything.
  • Now I want to add my very own intellivision games to my arcade unit since it supports the jzintv emulator

 

The circle will then be complete.

 

There is a learning curve involved, but once a concept clicks with you, it sticks.  I'm getting there.  I cant wait to master an arcade game, because I can't wait to then move onto a scrolling game, and then ultimately a multiple screen platformer in the tradition of Montezuma's Revenge.

 

  • Like 2

Share this post


Link to post
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...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...