Graham's Journal A journal of the game I'm currently working on and various other s
#92
Posted 14 May 2014 - 02:37 AM
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#93
Posted 14 May 2014 - 05:30 PM
This post has been edited by Graham: 14 May 2014 - 06:19 PM
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#94
Posted 15 May 2014 - 12:50 AM
My suggestion is to have a robot that runs last in a cycle (generally this means 'bottom-right corner of the board') doing this:
: "l"
if "sfx_mute" = 0 "no_mute"
end sam
end play
: "no_mute"
wait for 1
goto "l"

<Malwyn> Yes, yes. Don't worry I'd rather masturbate with broken glass than ask you for help again. :(
#95
Posted 15 May 2014 - 12:54 AM
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#96
Posted 15 May 2014 - 01:30 AM
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#97
Posted 15 May 2014 - 11:10 AM
If you want my recommendation about how to take this step, it would be to search and replace 'sfx ' with 'set "$sfx.('$sfx.length')" ' in each robot. This means all those commands will now append the sfx # to the end of the $sfx string. You can then have a robot run at the end of each cycle and play all of the sfx, or just a limited # of sfx, depending on how much you want to spam the player's speakers, and then clear the string afterwards- you could also implement some level of queueing, if so desired. Of course, if sfx are muted, you play nothing. That search string with the space after it is also not likely to collide with other commands. The downside is that it will increase the size of the robots by 22 bytes per sfx command.
If you only want to be able to play one sfx per cycle, you can simplify this a bit. Search and replace 'sfx ' with 'set "sfx" '. That will only increase the robot mem by 5 bytes per sfx command. Then, since 0 is a valid sound effect, you want to set "sfx" to -1 at the start of the game, then have the sfx-playing robot set "sfx" to -1 again after it plays a sound effect, using -1 as a value to represent no sound effect. You can shrink that further by reducing the size of the counter name - if you use the smallest counter ("", the zero-length counter) you can reduce the cost to 2 bytes per sfx command. Of course this means you can't use the zero-length counter for anything else. In the same way, you can use the 1-length string ("$") to reduce the robot mem cost of the string solution to 16 bytes (search and replace 'sfx ' with 'set "$.('$.length')" ').

<Malwyn> Yes, yes. Don't worry I'd rather masturbate with broken glass than ask you for help again. :(
#98
Posted 04 June 2014 - 07:00 AM




"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#99
Posted 06 June 2014 - 06:36 AM
[ "6/5/14, #314" [ "+fixing bugs in end of story & transition to gameplay" [ "+made house level portal a unique robot to avoid problems" [ "*TODO'S" [ "*need to add check mark to ram needed section of level info pane" [ "*move location of floppy disk collected info to upper left" [ " corner of screen and make it smaller" [ "*if no tablets have been encountered in a level, give option" [ " to restart level from load option" [ "-BUG REPORT" [ "-portal sfx during demo" [ "-levelportal2 message flashes" [ "-music quiets when you enter level 1" [ "-short pause when you collect floppy or ram and get info text" [ "-house board on re-entry,black space where floppy disk robot was" [ "-music restarts on area boards every time you re-enter" [ "-waterfall char on oceanside area is incorrect" [ "-anytablets should not multidownload if you are collecting an" [ " ability for the first time; it should end so you can read" [ " the ablity description" [ "-on oceanside area, servo always starts back in front of house" [ "-portals should not enter servo if up is already pressed when" [ " he come upon them" [ "-level 4; steel crate gets in the way" [ "-make crate in basement with ram taller"
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#100
Posted 06 June 2014 - 10:05 PM
#101
Posted 07 June 2014 - 06:47 AM
RyanThunder, on 06 June 2014 - 02:05 PM, said:
Thanks!! =^) Not much technique. I guess you could say trial and error. This was my first attempt:

and I wasn't real happy with the outcome. So I studied it a little and realized what I didn't like; the head lacked the proper shape, no neck, helmet hair, a stupid look.
Then I looked at some cartoons that I thought were aesthetically pleasing. I mainly looked at "Calvin and Hobbes", because I like Watterson's artwork and style as much as the humor and story content. That's where I got the messy hair from. Also it helped me to shape the head a little better and realize the eye's and nose needed work. I tried to reduce blockiness where possible without giving up too many characters.
I've also come to realize that in MegaZeux art, less is more, and less is often better. I've tried to take a more minimal approach to artwork in general in this game. Trying to reduce the use of single pixels because they stand out too much. That sort of thing. Here's an example of what I mean:


Servo has very similar art to a reboot of Amnesia that I was attempting a few years back. If you look at the trees and the clouds and the background in general, I think you'll agree that Servo's looks better. It has a more simple approach, more like what you would find in an NES game. Less pixel focus, more focus on the object as a whole. For this game at least, which uses mostly large sprites using less detail actually looks better and I tried to maintain that approach though all its artwork.
BTW, The artwork from the Amnesia reboot was ripped from the original Servo game:

I guess I just keep recycling this art until if finally goes into a full game that I release and I'm happy with (which is Servo's Adventure)
Sorry that was such a long explanation.
This post has been edited by Graham: 07 June 2014 - 07:31 AM
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#102
Posted 07 June 2014 - 05:19 PM
Graham, on 07 June 2014 - 02:47 AM, said:
Might have been long but it was thorough and informative! Thanks! I'll have to remember some of these techniques when I design my next game. At first, designing large objects in MegaZeux with jagged edges (i.e. pixel-y looking), may seem like a bad idea, but then you realize it's probably better in some cases. Not the best way to put it, but the human brain is designed to finish incomplete shapes that the eyes see, such as telling the eyes that the jagged round thing in front of them is supposed to be a circle, even though it isn't.
#103
Posted 07 June 2014 - 06:03 PM
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#104
Posted 10 June 2014 - 05:42 AM
My parents bought a used IBM 286 with dos in 1993-ish. I think the hard drive was 12mb? I know it wasn't more than 20mb. It had a dozen games, commander keen 1& 2 were two I remember being drawn to right away. I checked out all the games. ZZT was one of them. I didn't even play past the first screen because it looked so primitive.

It was my brother who discovered it had a game editor. I was blown away, I had never imagined that was possible. I set to work creating my first game, a nine board square world of city blocks laid out neatly. A little like Town of ZZT but with less flair. I saved it as City.zzt and with that promptly erased the copy of City that the computer came with. I bought all the ZZT disks a year later and they came with a copy of the mysterious City i'd never seen.

I don't have that first world any more, no loss. My next one was a side scroller called Jinx and the Journey:

In it, A witch had cast a spell that had turned the sky black. You play a boy who has the unique ability to fly and so it is decided by the town council that you will go and fight the witch. Every NPC is ground ridden, except enemies, because the witch has obviously cast a spell that grants them the ability to fly too. All this was a way to explain the black screen and the fact that you can move around it at will, despite me intending you to look at it as though it were a side view, even though ZZT technically didn't do that. I thought I was being very clever.

I added lots of iconic (to me) imagery like a floating palace, ala Sonic the Hedgehog's Angel Island.

an underground city in a dome

a machine the witch created to spew enemies into the world

A subterranean cave full of moss and a few insects. That's a magic candle on the center pillar

And this is the Wolf Tree. I'm not sure what that means, but I was in love with the idea of it anyway.

My next game, I believe, was Gemhunt:

Another Side scroller, only this time you are restricted to moving along the ground, except in specific instances like climbing ropes or jumping off a cliff. I achieved this by using the black space of text two blocks above the ground. It's a solid block that is black so it looks like the background. I thought I was being very clever.

The overworld map for Gemhunt. You could play the levels in any order

The information screen that explains how to play the game

I think next I made this RPG called Traseel.

It's about a boy in a village tasked with saving the land by going on a quest for the King. Pretty stereotypical stuff there. It was fashioned after a Sega Genesis game that I had fallen in love with called The Fairy Tale Adventure. I think this is the most ZZT like game that I made. Here is the Boy's Village

The village interior:

some of the enemy riddled landscape



I made a test game just to test random ideas in. I tried to recreate a loop-de-loop from Sonic the Hedgehog:


At this point, I'm sure it's obvious to you that I had an obsession with side scrolling games, especially Sonic. It was the 90's and I was essentially a console gamer, 'nuff said.
I made some artwork in the test game

When my parents got dial up internet, I got my hands on the ZZT Super Tool Kit (STK) Did Janson make that? I had heard a rumor.
any way, I had more colors at my disposal now and made my first mountain background. This background would go on to appear in some form in every game I would make since. I'm pretty sure it's a combination of my reaction to seeing Green Hills Zone for the first time after only having ever experienced Mario Bros. games, and the beautiful backpacking trips that my father had taken me on in the Sierra Nevada mountain range.

There was also this experiment to see if the player could control the movement of an object that was programmed to try and move south all the time, thereby mimicking gravity. Pressing up would make it move north a few spaces (jumping). Left and right to move

Viola! there it is. A true 2-d side-scrolling platform game. I thought I was very clever.
I set to work making a new game. I thought about what I could do within the confines of ZZT. ZZT didn't have scrolling levels, only individual screens linked to each other. It was feasible to have levels use more than one screen, but I couldn't find a neat way to do it. I decided that they would be single screen levels. As such, there needed to be puzzles on them to make them not able to be sped through too quickly. I had played Lemming's, a game that also came on that 286 computer. I decided to model the game after that a little.

The player has some abilities at their disposal to help them navigate the terrain. they were valuable as they were limited to only enough uses to get you through a level. Every time you had to switch to a new ability, you would have one less. The menu on the left is accessed by pressing up or down, which pauses the robot player as long as it's on the ground. Pressing left or right, causes the player to begin using the selected ability in that direction.
I created thirty-ish levels to the game. Some more iconic imagery:

This fossil serves no purpose, it just looked cool. It would go on to cameo in the game I'm making now, Servo's Adventure, which is a direct descendant of this game.
Well that pretty much sums it up. I was never a part of the community. I was too antisocial or whatever to bother to try and reach out to others who shared my interest. My loss I guess. I discovered MegaZeux not long after that and was so in love with the extra level of control you had over everything that I hardly looked back. Well, maybe I look back every once in a while, for nostalgia's sake.
P.S. I'll attach the files to the game's that I've made in case you are interested in checking them out. If you need a copy of ZZT, let me know. And of course, you have to run it though DOS box, or a similar DOS emulator.

Number of downloads: 61

Number of downloads: 58

Number of downloads: 60

Number of downloads: 61

Number of downloads: 55
This post has been edited by Graham: 10 June 2014 - 05:50 AM
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#106
Posted 10 June 2014 - 08:26 PM
asgromo, on 10 June 2014 - 04:05 AM, said:
Haha, thanks :-)
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#107
Posted 11 June 2014 - 02:07 PM

#108
Posted 11 June 2014 - 05:27 PM
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#109
Posted 11 June 2014 - 05:37 PM
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#110
Posted 12 June 2014 - 05:11 AM
#111
Posted 12 June 2014 - 02:57 PM
Oh heck, just your origin story in general. No matter where you started. I love learning about the origins of things and people.
This post has been edited by Graham: 12 June 2014 - 06:07 PM
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#112
Posted 19 June 2014 - 04:56 PM
I can't switch gears mentally very easy so it would be hard for me to focus on more than one game at a time. But after Servo is completed I would really like to go back and finish my ZZT and MegaZeux games that have some potential and aren't completed.
It would be a really nice change of pace to focus on something less demanding. Since I didn't know a lot about those systems back then, it would be simpler to work on those games.
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#113
Posted 15 July 2014 - 03:37 AM
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#114
Posted 28 July 2014 - 07:12 AM

which matches the level info pane you get as you are entering a level, there are green checks there to indicate which abilities you need to begin the level.

A deceptively small addition. it actually takes quite a bit of work to implement, but it's totally worth it. gameplay will be a lot less muddled when you have more RAM cards to hold more abilities. It was getting to the point where I wasn't even sure I could keep track of what abilities servo would be using in a section I was designing. Also, I was having to add lots of tablets that had redundant abilities on them, in case that was the one you decided to overwrite, but you actually needed it.
Yeah, this will make for a better experience overall. You can still ignore the check and overwrite the needed ability if you want to, for instance you may have discovered a faster method through the level or you are trying to reach a secret you've discovered.
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#115
Posted 22 August 2014 - 04:44 AM
I've got 28 levels done. 15 of those are main levels (required to finish the game) with 10 main levels to go. The other 13 are hidden or secret levels which are optional, unless you want to 100% the game. There are 12 more hidden levels planned. These are not as difficult to create as they are not tied into the main game so they don't have to follow the ability progression as closely.
Level design-56% done
Gameplay mechanics are something I'm introducing more and more of later in the game. It keeps the game play fresh. I project this will be a 3-5 hour game and gameplay will shift somewhat from pure puzzle to puzzle/action. This is because as you collect more abilities, puzzles become easier to solve, so I'm taking emphasis off that and focusing on action more. I think it's interesting to make a game that slowly morphs styles, I'm not sure a game has done that before.
Gameplay mechanics-75% done
The rest of these are guesstimates
User interface-70%
Engine-95%
Player assets/mechanics/animation-99%
Enemy assets/mechanics/animation-55%
Music-100% (thanks CJA)
Bosses- n/a (I decided to have no bosses in this game)
Items design/assets-80%
Level art/design/assets-50%
Optimization-30%
Testing-20%
Of all of these things, I'm focusing on level design the most right now. I believe once that's in place, the rest will follow.
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#116
Posted 23 August 2014 - 07:06 AM

Number of downloads: 69
Some of it is a little obvious, but there are definitely some good tips in there I can use.
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#117
Posted 25 August 2014 - 11:29 PM
#118
Posted 26 August 2014 - 04:37 AM
CJA, on 25 August 2014 - 03:29 PM, said:
Yeah, I think you are right about that actually. I think 10 minutes might be a good average time these days to spend in a level. Whereas in the good old days that would have been the high end of how long it took to traverse a level, with 5 min. being more average.
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#119
Posted 24 January 2015 - 06:49 AM
I added two parallax scrolling layers a few months back as well as a minor overhaul to the sprite generation system. It was pretty major and involved redoing some code. It was really for the better though because I implemented a feature to save a group of robots to text files, shortening the time it takes to implement fixes to preexisting code. I also took some one-off robots and standardized them, making it much easier to use their programs elsewhere in the game. That is something I should have done in the first place.
here is what Area 3 looks like

Here is a slider puzzle that I worked on recently

I've done some neat things lately, I included an homage the the Town of ZZT's bank vault into one of the later levels of my game. You already knew the combination, right?

I'm also trying to squeeze in time to finish a large tutorial I've been working on that explains sprite implementation, as well as taking an online story writing course that my wife gave to me for Christmas. Whew!
"Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you’re a mile away and you have their shoes."
-Jack Handey
#120
Posted 27 February 2015 - 11:25 PM
<phthalocyanine> they make experiences.
<Nadir> demos, more like
<Nadir> a glimpse into what could have been if mzx wasn't such a bore to work with
<Nadir> actually, i'm being unfair
<Nadir> i would have made mzx games if it was capable of running on more than 20 computers worldwide in 1998
<Nadir> >:D
<%Alice> functor
<%nooodl> i hear C++ has a thing called functors and they're completely different from Haskell functors...
<rorirover> the result is the most horrid thing in C++, it's basically black magic and it transforms any code you're writing into some eldritch monstrosity