Jump to content
IGNORED

How to be lazy with bB


MausGames

Recommended Posts

Use a back story that already exists.

No fancy player sprites! Two frames, legs in, legs out, is more than enough!

No pretty playfields! Squiggles and lines all the way, baby.

Pathetic enemy AI. They must either jiggle around randomly or move in lines.

No variety of enemies! Pick out something like a dog or a bird and go with it.

If it works well on one screen, repeat it on ten or twenty!

There MUST be a nondescript maze of some kind with no markers or real purpose.

Insert loud, repetitive, single-channel music wherever possible.

 

 

Avoid these things and you are well on your way to creating something that doesn't suck monkey butt. I have lots of other gripes, but those are the worst offenses I think.

Link to comment
Share on other sites

OK, i quit. You just don't like ANYTHING i make, do you? I'll kill myself just to make you happy.

 

Ah haha, yeah the "bird or dog" comment was pretty thinly disguised. I like all the games you make, and I'm jealous. You could seriously work harder to avoid the things in this list though. When you get to a point where you consider a game "done", if you went back and fixed everything on my list you'd have a much more polished finished product.

Link to comment
Share on other sites

How to be lazy with bB? I thought you were going to say start programming a game (like I did), get stuck on getting something to work (like I did), and put it on the back burner for now. :( :(

 

Yeah that's pretty damn lazy, because you could have always bugged me for help. I'm not a bB guru or anything, but I'm diligent. I've lurked in the programming forums for years now, but I think I've maybe been asked 3 times tops for help with bB.

 

Ah well though, at least you stopped because you were stuck on something. I usually give in when all the nasty holes in my half-ass game designs add up. You have to thoroughly design a game before you start programming it, something I haven't ever done.

Link to comment
Share on other sites

There was an option in Jack and the Beanstalk where you could turn the enemy's logic in level 1 so it could follow you instead of moving around randomly.

 

 

I almost said "Or come straight at you", so that's not so great either. The random possiblity of 1 of those 3 would be better. So an enemy might either move randomly, move in lines, or come straight for you. At least that gives you a random variety of predictable enemy AI. You can throw in a few other simple forms of enemy AI in most games to give an ok mix, such as; shy enemies, that only come straight at you when you are facing them; resting enemies, that run away and "rest" for a moment after you hit them; enemies that randomly jump...

 

 

The code I posted in your thread is something you should add to your arsenal when it comes to enemy AI, in the form of "hot spots." Expand the virtual box created with variables and use it to trigger specific events or behaviors.

 

Some examples:

 

Surround a sleeping dog with a large virtual square. When the player enters that square, the dog wakes up and comes straight at the player. If the player moves out of the virtual square for X seconds, the dog goes back to sleep.

 

Surround a bird with a small virtual square. When the player enters, have the bird swoop down at the player and speed up.

 

The ability to easily add a great variety of challenging enemy AI is one of bB's greatest strengths, there are far more challenging things on my list.

Link to comment
Share on other sites

Well, my New Years resolution was to finish a game this year and get it on cart, so I have to.

 

I haven't spoken to my Dad in 10 or 15 years now, so I think sending him a copy will bring us back together. There's no bad blood between us, so I don't see why not.

 

Maybe my Flesh Gordon game is what I need.

Edited by yuppicide
Link to comment
Share on other sites

The ability to easily add a great variety of challenging enemy AI is one of bB's greatest strengths, there are far more challenging things on my list.

 

The word "challenging" is the only problem I have with this statement. After a few months of working with bB, it seems that to program truly challenging A.I. would just require resources that Atari BASIC (or, in some ways, the entire 6502 framework) just cannot afford. Things like A*, Bayesian learning and even simple tree searching are off the table. With very few exceptions, Atari robots are pretty much gonna be all balls, no brains. Once I realized that, I decided to approach atari A.I design using the "if it looks like a duck and sounds like a duck" Turing model. I guess the following are pretty much the rules I set upon myself when trying to design an AI for bBASIC.

 

The Brain is always "on", meaning that the robot does not respond directly to conditions, but rather asks on a regular basis whether conditions are present that it might want to respond to. To me, this sets up a realistic stimuli/response rhythm that can tighten up as more intelligent enemies are revealed. Throwing in a single "reaction timer" variable for this brain loop seems inexpensive to me, since you might also be able to use it for other things that occur regularly.

 

Decision nodes are randomly selected. Set up a number of decision nodes detailing the actions that a robot might want to take. These should be similar to the sort of actions a human player might want to take; things like "Chase", "Shoot at the Enemy", "Run Away", "Move in a Random Direction" etc. The robot randomly selects a new course of action every time his brain "loops."

 

Okay - decisions are randomly selected, but they are also weighted. Conditions and "personality" should affect the little bastard, allowing "smarter" robots to emerge over time. For instance, a robot may randomly "choose" to remain still for a loop, but if a shot at the player is available (condition) and he is a generally pissed-off, hardcore sort of fellow(variable) then he will probably ignore that Hamlet-esque node and take a shot at you anyway.

 

When in doubt, cheap 'em out. To artificially enhance the challenge, you sometimes have to let the robot do a few things that, all things considered, seem sort of unfair. For instance, in Circus Galacticus the enemy gladiators don't have to wait as long to charge up a new laser beam - and, at higher levels, don't have to wait at all. Cheapass A.I. rules could let the enemy move at lightening speeds, routinely sense-and-evade gunfire, instantly attack when the player is in range and generally defy the rules of the gameworld whenever it's convenient. I guess this rule is a sort of tightrope act... you let the robot's become too unfair, and it ruins the enjoyment of the game (and sometimes, the joystick, the television screen, your marriage, etc). If they are too restricted however, even at the higher levels of play, then the game is too easy. I suppose the most challenging enemy would be a robot that would be (almost) perfect, (nearly) all of the time, allowing the best players some tiny window to rage against the machine.

 

I don't know why I'm pontificating on this. I suppose bB enemy A.I. probably deserves its own thread.

 

Cheers,

Jarod.

Edited by jrok
Link to comment
Share on other sites

I missed the last MAUS Games bB game release. GOSUB! was fun. (was pretty cool too) Where can I find the completed MAUS Games bB release, with all the suggestions correctly modeled, to compare it to?

 

People do this stuff because they enjoy doing it. That's the only expectation that should be in play here.

Edited by potatohead
Link to comment
Share on other sites

I missed the last MAUS Games bB game release. GOSUB! was fun. (was pretty cool too) Where can I find the completed MAUS Games bB release, with all the suggestions correctly modeled, to compare it to?

 

People do this stuff because they enjoy doing it. That's the only expectation that should be in play here.

 

Yep and Asses Of Fire is a wicked game too!

Link to comment
Share on other sites

People do this stuff because they enjoy doing it. That's the only expectation that should be in play here.

 

I agree 100% These are just my opinions of the things I didn't like or thought were lazy about various bB games. I'm not saying anything worse than what was said about Last Ninja or N.E.R.D.S. and I don't care if whoever programmed those games had a good time doing it.

Link to comment
Share on other sites

I missed the last MAUS Games bB game release. GOSUB! was fun. (was pretty cool too) Where can I find the completed MAUS Games bB release, with all the suggestions correctly modeled, to compare it to?

 

People do this stuff because they enjoy doing it. That's the only expectation that should be in play here.

Yep, you're absolutely right! Chris made some nice bB games like Gosub!, Alien Greed I + II, T+P Asses of Fire... Just to name a few. I enjoy playing them and Chris enjoyed programming them - that's all that matters.

 

 

@MausGames:

 

Talk is cheap! Why don't you complete a game yourself and prove all the stuff you're talking about can be done with bB?

Link to comment
Share on other sites

Chris made some nice bB games like Gosub!, Alien Greed I + II, T+P Asses of Fire...

 

Also Spongebob Squarepants Jellyfishin', which, if it wasn't complete, it was pretty darn near close. I really admire how prolific he is, and how he invites everyone in to his creative process. But most importantly, his games are fun!

 

Sometimes its easier to sit in the stands and take pot-shots than step in the ring and prove yourself, I guess.

:roll:

Link to comment
Share on other sites

Use a back story that already exists.

No fancy player sprites! Two frames, legs in, legs out, is more than enough!

No pretty playfields! Squiggles and lines all the way, baby.

Pathetic enemy AI. They must either jiggle around randomly or move in lines.

No variety of enemies! Pick out something like a dog or a bird and go with it.

If it works well on one screen, repeat it on ten or twenty!

There MUST be a nondescript maze of some kind with no markers or real purpose.

Insert loud, repetitive, single-channel music wherever possible.

 

 

Avoid these things and you are well on your way to creating something that doesn't suck monkey butt. I have lots of other gripes, but those are the worst offenses I think.

 

Dang...I guess this means I should be quiet about my first game "Asteroids:The Peaceful Years" :ponder:

Link to comment
Share on other sites

I think this thread is a perfect example of the challenges of the 2600. There are ALWAYS trade-offs. The whole thing is about striking a good balance and having some fun as both a player and a programmer.

 

@MAUS -- Just finish one man! Do what it takes, make your choices and just do it. That's where the fun is! This isn't lazy. It's about exploring the very simple, basic game art and having a good time doing it.

 

@2600land -- You've made a lot of interesting and fun diversions. No worries! Game on! I wish I had even a fraction of your raw creativity and imagination. Very few 2600 games make me laugh. Yours do regularly. That's kind of cool actually!

Edited by potatohead
Link to comment
Share on other sites

Let's try not to discourage bB users. No matter what you say or do, 80 percent of anything is going to be crap, so about 80 percent of the bB games posted here are going to suck. The good thing is that each programmer will hopefully learn things from each crap game and eventually make a few good ones. And if you can make some shining examples of what a good game is supposed to be like, others will learn from your games and might create better ones of their own from the start.

 

I've been working on my web site for the last month or so (I think I'm done and then a new idea pops into my head), but I want to get back to working on the 3 games that have been sitting there screaming "Finish us! Finish us, you lazy assclown!" I kind of have some personal guidelines about games dancing around in the back of my mind. I'll see if I can grab a few of those dancing guidelines and post them here:

 

  • No stupid enemies that jump back and forth or move up and down. Every enemy should have some type of intelligence. They don't have to be geniuses, but they should at least have a spark of intelligence that tells me they are alive. They should be able to see you or smell you or track you by the sounds you make bumping into something. And if possible, they should have some kind of emotional reaction (fear, anger, surprise or whatever fits the game). Some enemies might hold a grudge if you piss them off enough and come after you long after other enemies have moved on.
    _
  • Controlled Randomness should be used to place enemies, objects, bonus items (and if possible, things such as platforms in a platform game) to keep the game fresh. It should be about gameplay, not memorization of patterns or enemy locations or game event trigger locations.
    _
  • No idiotic perfect timing exercises as if you're playing a deadly game of laser jump rope. Don't be like the game designers who say "Dance for me monkey boy! Be perfect or die!"
    _
  • Try to eliminate frustration and competition. Frustration and competition were great for getting people hooked on games and squeezing as much money out of them as possible, but a fun game without frustration and competition is healthier for gamers. Try to focus on play. Try to focus on what is truly fun, not some perverted version of it. Many of us have come to believe that frustration and competition are essential ingredients of fun. We've been bombarded with that idea for so long that it's hard for us to see any other way. We have to break free from these fallacies and falsehoods and forge a fresh footpath.

 

There are more personal guidelines dancing around back there, but those are the only ones I could get my hands on at this time.

Link to comment
Share on other sites

You have to thoroughly design a game before you start programming it, something I haven't ever done.

 

I don't agree with this statement at all. Maybe some programmers feel more comfortable meticulously mapping out every single detail of game before they start coding, but overplanning can also lead you down a dark path, until one day you find yourself rambling on about Knight Rider sales projections in the back of a Kinkos. One of the really neat-o things about bB is that you can start prototyping immediately, and easily futz around each element and even the entire game structure all the way to completion. No matter what language or platform I'm working in, I feel like too much pre-design and planning could distract me from all the experimentation and happy accidents that lead to discovering what's "fun" about a game.

 

I think there's no right way to approach game design, really. I've worked in the interior design field for years, and sometimes the best projects started with something as simple as a word or a picture or a song, than mutated and evolved until they were really great, fleshed out ideas. Not to mention that the community here is perfect for helping to create and rethink major design elements along the way based on constant, near instanteous feedback from the very market you are designing for... not many designers have that advantage.

 

In short, whatever works, works!

 

Cheers,

Jarod.

Edited by jrok
Link to comment
Share on other sites

Yeah, that's kind of it!

 

The VCS is kind of special because of it's limitations. Sometimes one can get an advanced thing running, and when it happens it's really a great accomplishment.

 

Then sometimes it's not like that.

 

So it's all about expectations then. Personally, I like the VCS because of the LOW expectations. When good stuff happens, it's good! It's good because really, there isn't a lot there to work with.

 

All of that makes home brew kind of cool really. I liked building my game. When it makes sense, I'll do it again too. Posting it up, having people play it, talking about how to improve it and just learning about how to do it and making choices and the limitations there make some art of it. It was just like writing games back in High School. The sharing, the laughs over gaffes, the work and the excitement of having the machine do what WE want it to do was catchy then, and it's plenty catchy now.

 

Others here do the same thing. Frankly, I've been really surprised at bB games! Thought it wasn't gonna go as far as it has, and still things are improving. And if you think about that, how many NEW games did the VCS see here in the 21st century!

 

Tons! Is that cool or what?

 

So I come here, I watch what people build, I play a lot of it, and sometimes I really get a kick out of it, other times I don't, but it's just fun to participate. And with bB, it's easy for lots of people to get into things. You can see what happens, how it's done, explore ideas, build your own, etc... This is, of course, all true with full on assembly language projects, and the results there are better because the control is better. However, it's tougher too. Tough enough to raise expectations, and take the simple fun out of it for a lot of people.

 

We have really talented people building stuff here. Amazing really. I look on in sheer awe at the stuff people manage to squeeze out of these great, old machines. I know that's not my scene to participate though. Not there for a lot of reasons, but I do play and watch and learn. And it's all good.

 

bB is for people, who want to dig in and do some stuff, who might just want to take it easy, or maybe who don't grok the harder assembly, or any number of things. The fact is they are doing it! That's where it's at! The more the merrier really. Why have anything else? Kudos to Batari for seeing it could happen, and handing it to us, gratis, just to see it happen.

 

I know this is long winded. Sorry. Sometimes I do that. Basically, we've got people here that do what they do here because the community is cool, and it's cool because the people are cool, the machines are cool, and it's only cool, if we are having fun, and that only happens when expectations are set for that.

 

Relax man. Lots of little, goofy, sometimes funny, bB games, isn't hurting anybody. Every so often, one of them is great, so we enjoy that too!

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...