Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
gggmork

Doomtris (doom tetris)

Recommended Posts

update:
new version (for zdoom):
http://www.filedropper.com/doomtris

----------

old version:
http://speedy.sh/MT3j9/doomtris.wad
old post:
The code is a non elegant mess of global variables cobbled together until it worked. Basically works (strafe rotates piece, turning moves the piece side to side, down drops.. don't know if those are 'sane' controls for mouse users) but not finished (you don't 'die' if it goes to the top, and levels don't increase right now) and was more of a fun experiment to practice acs than a fun result (I was gonna make one piece a 4x4 of random blocks, but the perspective probably makes it hard enough as it is).
I didn't get the rotating 100% perfect. I noticed normal tetris rotates the 'T' piece about its center which seems obvious but I put each piece in a 4x4 block then rotated the whole 4x4 block instead (I was fooled into thinking that's what's supposed to happen since gameboy tetris shows the 'next' piece in a 4x4 block).
I used decorate to make all monsters noclip so fat arachnotrons can be used too, it has a 'demon2' error because I think that's already taken by some other species of monster, but didn't feel like fixing it.

Share this post


Link to post

I'm pretty sure Carmack put a secret cipher in the code so that doom was just an overlay to hide the eyeball beast code, which has remained dormant so far for tactical reasons.

Share this post


Link to post

I like it.

I didn't really notice the rotation issue (I'm not even sure what are you talking about), but one thing I may point out: the monsters "walking in place" animation not only looks weird, but is also a little distracting. Maybe consider making them "stay still"? I don't know how hard it may be in decorate. And I didn't see Spider Masterminds there, you didn't use them?

Keep up the good work.

EDIT

Share this post


Link to post

Sounds interesting.

Zed said:

Maybe consider making them "stay still"? I don't know how hard it may be in decorate.


As for a monster staying still, that can be easy...just make it use one sprite all the time. Just have a custom monster with one sole sprite for all of it's states.

Well after playing I See what you mean, he made the falling blocks stay still but the preview blocks they walk on the spot. I guess the long way to change this is to remake a "cardboard cut out" of each enemy, and give them only the necessary sprites that you will see. Just the standing up in any direction which changes to the rotation controls.

It was quite fun, sometimes it got a bit awkward when it got a bit difficult to see where I can place the blocks, because it is all made up of monsters and they start walking on the spot once placed, it can get a bit challenging to see.

But it was quite fun, even if just a proof of concept.

Share this post


Link to post

I was thinking, maybe an easier way could be just using medikits, armor/health bonuses, etc. instead of monsters?

Share this post


Link to post

You can get the gist of what 'no marching' is like by opening in doombuilder2, clicking view/script, and pasting:
thing_deactivate(pieceids[y][x]);
at line 270 and
thing_deactivate(idgrid[y][x]);
at line 282
(both right below the spawn lines, same level of indentation, didn't bother trying the preview block)
But then they won't enter the death state so not a full solution, just a 10 second guess attempt.
I did the marching on purpose, I think just editing the decorate so they are all like cacodemon with only one letter not 2 would do it. Like change all AB into just A

I want to mess with decorate(+acs) next, haven't used it much. I have an idea like maybe imagine an animation of a tiny plant bud growing up to a tall plant, I could have a circle follow a character around full of such things where the ones closest are bloomed the highest and the ones furthest are bloomed the shortest (so it might seem like plants 'grow' wherever you walk).

Had another idea about a weird perspective trick that probably wouldn't result in anything good. Basically stand still in front of a big flat plane and pretend the 3d scene in front of you is only 2d and draw something on that "2d" surface, meaning the 'real' line would extend off in 3d far away on the plane but from your perspective it might be the verticle side of a 2d square. It might appear 2d only from that particular perspective, then appear warped when you move away to the side, not sure (if it even makes sense).

Share this post


Link to post

I think that makes sense, you could trap the player in unpassable sections so when moving the illusion isn't ruined?

As for the blocks, I see what you mean. It seems like it imitates the Doom 2 ending sequence...they walk on the spot for a bit and then die...only the death occurs when it's a line cus Tetris heh. What if you took some artistic licence and made the blocks out of the Doom monsters heads, might be a bit clearer and easier to see? they could still explode when forming a line, would mean new graphics though.

Share this post


Link to post

haha nice. Maybe you could have it so that if it reaches the top, all the monsters wake up and doomguy is teleported into the middle of them.

Share this post


Link to post

This is ABSOLUTELY awesome, how you've coded tetris in ACS. It reminded me when I was coding tetris in flash, it was years ago and nobody has ever seen the result except my family. Just now I've checked my code (yes, I still have it) how I had solved rotations, and it seems that I've also rotated full 4x4 blocks (and I didn't think that it had worked badly). What I wanted to say, it's an interesting game to program.

Share this post


Link to post

I fiddled with this more (link in original post):

*pieces have floor texture highlights so are easier to see

*I assume you can hear the sounds of monsters exploding since I moved doomguy closer (I don't have a stupid sound card to tell)

*fixed rotations (so T piece stays centered when rotating etc)

*you can die if pieces go to top now

*levels increase and it goes faster (never goes faster than drop speed)

--
The code is an embarrassing leaning tower of pisa, threatening to topple with bugs after any changes are attempted.

Oh yeah, if you change one line:
r=random(0,6); (on line 184? I forget)
into:
r=random(0,7);
Then you get occasional 4x4 pieces of random blocks (which isn't fun cuz its too hard). Plus normal tetris shapes include all possible arrangements of 4 blocks, and that random piece breaks that mold.

Share this post


Link to post

brilliant :D

didn't experience any glitches or anything, the only thing that threw me off at first is getting used to the 3d perspective. btw death sounds were much louder for the bottom rows, barely audible for the top, but I guess there's not much to be done about that.

Share this post


Link to post
Ribbiks said:

death sounds were much louder for the bottom rows, barely audible for the top, but I guess there's not much to be done about that.

There is, definitely - at least in DECORATE, there is A_PlaySound function that allows to customize sound volume and even attenuation (=how much the sound fades out with distance). Or you can give +BOSS flag to all monsters, so that their death sounds will always be played at full volume.

Share this post


Link to post

Oh yeah, I forgot about both of those, especially the +BOSS flag. Before I was thinking put the player in the middle of the board, just floating way up high above the camera, to hear all monsters better, but then the middle monsters would be loudest. Anyway it would be too annoying to program sound stuff without being able to test if it works w/o a sound card.

I guess it would be cool, when moving a piece left right, if you could hold left.. first it would just move 1 space but after 1/4 of a second or whatever it would quickly continuously move left until you lifted the key back up (but I'm probably done with it). One other thing I changed in that version which I forgot to mention is now when you hold down to drop a piece, the next piece won't start dropping if you still continue to hold down, until you key up/back down again.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×