Table of Contents
Editorial - Why oh Why, Porn?
I like to live dangerously and type four letter words. Play Game is living proof of this.
Four Letter Words
An especially potent four letter word is in the Play Game slogan : "Porn for Game Makers and Game Designers." According to common sense there should be no reason to include "porn" in the slogan unless Play Game is actually a porn magazine. Well what can I tell you — it's as porny as porn can get.1
You see, porn can be (and has been) defined as lurid or sensational material — and that my friends is all I can write and create. I talk about spanking a naughty improper fractions and how numbers "get it on." When describing my writing in math I once referred to it as Gut Level Splatter Sex Game Math. I name my sprite sheets such wondrously sexy things as "Asses of Fire"2 and "Don't Let Me Eat My Sister."3
I've (slowly) come to accept that I am lurid and sensational by my very nature. So be it. It's also logical to assume that what I write and create will also be lurid and sensational. Therefore Play Game4 must be porn. As the official online magazine of Game Design Novice I plan to focus all of my writing talent I can possibly squeeze into it.
There's also going to be a weekly centerfold. But no nudity. Sorry.5
Those who know me also know that I love danger, adrenalin, and other related things (Energy Drinks). For Play Game to be thrilling as possible I'm going to let it live dangerously by doing something no other publication (to my limited knowledge) has ever done — it's being constructed live and openly.
Being constructed live means that it will be edited like any other wiki. You know, the old process of edit - save. Edit - save. As a reader of Play Game, you can read the magazine as it's being constructed. You can read early revisions, see our our mistakes, and basically see under our kilt. Or you can wait until the official "publication date" and read the slimmer, sexier final product.
Being constructed openly means that anyone who wants to write something for Play Game can. After two issues I'm going to open the floodgates and make it an openly editable wiki. Only vandalism and completely unrelated material will be deleted. Only just moments before "publication" will Play Game be blocked from editing. Doing this makes an issue "permanent" and will not be changed — ever.
And there you have it. I'm just freekin' nuts like that.
Sprites from the Front Line
The crew at Game Maker Wiki Complete is putting together some pretty good sprites. Here's some examples :
I'll try to echo interesting sprites in future issues of Play Game.
PCOPY Among the Living
PCOPY is back and among the living. A new issue is out and next month's issue is allready underway. You can see the new PCOPY website here : http://pcopy.wikidot.com
Shadow Casting Demo
u9 has created an awesome Shadow Casting Demo that shows real-time shadows being cast from tanks. This is not the standard "ground shadow sprite" use. This demo shows the shadows being cast on the tanks themselves from parts that are higher than others. This is a must-see and includes a .exe if you don't have Brutus2D.
Linkage2 has gained a reputation for being a solid programmer. What he programs can take the blast of a nuclear bomb even if his creations are unremarkable otherwise. TileSweeper is a perfect example of his work. ( Download Here ). This is a perfect clone of MineSweeper in Basic4GL.
Sprite Ops Revealed
This image has been floating around the internet :
It was also posted with a request to post the image on your own website if you'd like to help people make free sprites for the amateur game making community. Since then, interest in the image — and Sprite Ops — has skyrocketed.6.
I have to admit that I know more about this image than most. I'm not allowed to reveal everything that's going behind the scenes, but I'll do my best — right now — to tell you what I can.
About Sprite Ops
- I originally founded Sprite Ops, which was an instant failure.
- But sometimes even failed projects tend to take on a life of their own.
- Sprite Ops was a part of Black Ops, which seems to be stirring in the grave at the reinvigoration of Sprite Ops.
- Sprite Ops only makes sprite sheets, not games.
- This is not the only promo to be released.
About the Character
- The character is not Master Sergeant.
- The character is part of a set of sprite sheets.
- All permissions needed have been granted.
- The things on his back are not wings.
- From the beginning of the character's narrative storyline, he is dead.
And that's all I can really tell you at this point. Except, I can give you a bit of lost Sprite Ops history :
In the next issue, you'll find out what happened to the "unfinished sprite from Sprite Ops."
Game Maker's Design Flaw
I'm on record as saying that I don't like Game Maker much. I'm also on record saying that I really like Game Maker. I know what you're thinking — you're thinking WTF? That's ok, it doesn't make sense to most people until I explain it. A better way of putting it is that I don't like the Game Maker IDE much, while GML makes my knees shake like an excited schoolgirl at a Beatles concert. The reason for this is Game Maker's design flaw.
Game Maker bills itself as an easy drag and drop game creation program with no coding required while under the hood is a swiss-army knife of scripting languages — GML, or Game Maker Language. And this is exactly the problem.
GML has a function to do everything, even go to town and buy you fried chicken. Combined with Game Maker's built-in game engine, the two are like peanut butter and chocolate — a lazy game programmers wet dream (I'm one of them.) The problem can be revealed by comparing Hello World in almost any BASIC dialect vs. Hello World in Game Maker.
The BASIC "Hello World" is much shorter than the one for Game Maker, so we'll do it first :
Print "Hello World" Sleep
Pretty simple. Just type it in and go. But let's look at the insane amount of trouble the average noob would have attempting the simple Hello World. The most often used text output function in Game Maker is draw_text(), which requires the x and y position of the text to output. So, to draw text to x-100 / y-100 you'd use draw_text() like this :
Even on that level, it's pretty simple. Or, it would be, if Game Maker wasn't made to confuse people with programming skill and make noobs run home screaming to mommy. While even Forrest Gump can understand how to use draw_text(), he wouldn't have the faintest idea where to stick it. At the very minimum, it takes 11 clicks and one drag to get "Hello World" on the screen. Here is each click (and the one drag) in order.
Assuming the Game Maker IDE is already open and a new source file (.gmk) has been created :
|1||Click on Create an Object in the toolbar.|
|2||Click on Add Event in the Object Properties window.|
|3||Click on the Draw Event.|
|4||Click on the Control Tab.|
|drag||Drag the Execute Code Action into the Actions list.|
|type||Type in draw_text(100,100,"Hello World");7|
|5||Click the green check mark in the Execute Code action code editor window to close it.|
|6||Cllick on the green check mark in the Object Properties window to close it.|
|7||Click on Create a Room in the toolbar.|
|8||Click on the pull-down menu in the Room Properties window to pull-down a list of objects.|
|9||Click on the object you just created.|
|10||Click anywhere in the room to place an instance of the object.|
|11||Click on the green check mark to close the Room Properties window.|
|done||You may now test the game by pressing F5|
Making a game (or doing anything) with Game Maker requires this constant click-click-clicking until the sound of clicking becomes Mark Overmar's Click Torture. It isn't surprising that the most often programming related question about Game Maker is :
- How do I use GML?
If this question was posted in any programming community, people would respond to the person as if they were from Planet Stupeedo. The answer would probably be "Just type it into the code editor and press F5 to test it." Sadly, if this response was given in the GMC, or any other Game Maker forum, the noob's response would be a very, very frustrated WHAT FREEKIN' CODE EDITOR??!?!?!?!?!.
You see, There is no freekin' unified code editor.
You can write bits of GML in individual actions, in scripts, in the room creation code, or in the Execute Code action. I'm sure you can stick GML in places I didn't even know Game Maker had. But the point here is that the attempt to make game making easy has complicated Game Maker's best asset — it's built-in game engine and GML.
Let's hope that in Game Maker 8 the YoYo team decides to do away with drag and drop actions once and for all, or give people like me a version of Game Maker that has a nice clean code editor. In future issues of Play Game, I will examine how this can be done, and how, if anyone is listening, to actually beat Game Maker at it's own game.
6502, Makin' a Comeback
6502, how I love thee. How many people love thee. How unavailable thee has been for many years. Things are changing. Just as my powers of prediction have, er, predicted. These predictions were made in a PCOPY article called 20 Minutes into The Future, where I discussed the future of amateur game programming. I predicted :
- It will be normal to see someone create their own working programming language.
- It will be normal to see someone making their own working operating systems.
- There will be a rise of "virtual machine elitists".
- The Atari 2600 and NES homebrew will be easy and accessible.
- The C64 is going to make a HUGE comeback.
These were actually sub-predictions that were dependent on 6502 making a HUGE comeback. It's starting to, and I've found strong evidence of this because — get this — someone is manufacturing and planning to sell a brand new 6502-variant video game console aimed purely at hobbyists. Friends, countrymen, wild rats, we have to prepare for this momentous occasion. In future issues of Play Game I will tell you more about this console, the ripples it will make, and how it will affect your accessibility to hobby with 6502. In the meantime, I'm leaving this as a teaser article. :)
Our centerfold this week is the one, the only Joe 6502.
Joe 6502 is an alien robot powered by CBM BASIC running on a modified c64.