# Lockjaw: The Tetromino Game

Thread in 'Discussion' started by tepples, 13 Jun 2006.

1. ### nightmareci

Did what you said (plus a few other changes) and it works.

First, I commented out all the lines with "jpgalleg" in them (the #include and the init lines), and it worked but kept complaining about there being no ljbg.jpg. After that, I tried creating a copy of the original ljbg.jpg and saving it in BMP format, but keeping the ljbg.jpg file name, but it still complained. Next, I fixed the line where ljbg.jpg is loaded to be "ljbg.bmp" instead, and made sure I had a ljbg.bmp image in BMP format. After that, there doesn't appear to be any issues, apart from compiler warnings.

And using libjpg sounds like a more platform-independent way to get JPG support, as using BMP's for everything really eats up disk space, especially if you have a lot of themes...

2. ### m:)Unregistered

nice, lockjaw plays great!

I'm running it under wine atm, but i'll set it up to run native after i get my fix.
I can play it on my mac.

3. ### Icehawk78Unregistered

Not sure if you still check out GBADev or Tetris Concept, so this is cross-posted to both. I had a few additional ideas. Many of these ideas have been gratuitously stolen from StillAliveDS, so if needed, you could probably look there to see how they work.

1) Count me as a vote for DS Skin Support. Custom skins could be loaded from a folder, similar to how I assume you do it for the PC.

2) Another vote for button configurations. Assuming that's added, it'd ideally be stored in an external config file, so that it was remembered.

3) Vote for saving a game configuration as a custom gimmick, with the ability to name it. Design could be an option under the Game menu for "Save current options" and then display a naming dialog? Backend would be another folder that stores all Gimmicks (including built-in ones).

4) DS Specifics:

A) Allow stylus use in menu. (Not major, but would be nice.)
L/R to change pages in options, rather than A/B - allow A/B to change current selected option. Wraparound up on topmost menu option/down on bottommost menu option, rather than shifting to the next page.
C) Display more detailed info of selected option on top screen.
D) Option to select which screen to play on, when playing.
E) Ability to have a double-height well, spanning both screens.

5) (Less likely to be done, but would be awesome) Implementation of extra features available in the game "Kevtris" for Windows Mobile phones.

These consist of four things, mostly:

A) Pentominos can be optionally used.
New garbage mode - garbage spawns a random number (3-8, I think?) of garbage blocks
C) Different scoring mode which allows for garbage blocks to count as "bonus" points (I can check, but I think it's something like 100pts per garbage block cleared, in addition to whatever the line itself would be worth).
D) An extra "slider" block, which is a 1x1 block with an arrow that can be rotated to point all four directions. When it lands or is pushed into a block, it moves all contiguous individual blocks one in the direction the arrow was pointing. (Obviously, optional)

Falling example:
Code:
.......<... ........... ...........
......t.... ......t<... ......t....
.llllttt... .llllttt... llllttt....

Push example:
Code:
......t.<.. ......t<... .....t.....
.llllttt... .llllttt... .llllttt...

==========

I'm aware this is a huge list - not complaining at all, and I'm very impressed with what's already there. This is just a list of every possible thing I could think of to add. If these were all added, I'd have literally nothing else to add, other than a hearty "Thanks", which you very much deserve.

4. ### nightmareci

After a bit of work, I've completely replaced the dependency on libjpgal with libjpeg in 0.46a, allowing the creation of native builds on non-x86 platforms. I don't have a Windows system to attempt building/testing this version on, so for now I can only say it'll work in Linux. I've only done building/testing in x86-64 Linux, but I imagine it'd work just as well on x86 Linux. Source code here. That's packaged almost the same way as tepples packages sources for regular Lockjaw releases, so if you don't intend to build the source code, you need not download it.

After doing all that work figuring out how to use libjpeg (I've never used that library before this), I'd consider contributing much more to Lockjaw, such as fixing up more things in ljpc.c, improving the game engine, etc. I really do believe Lockjaw can become The Ultimate Tetromino Game, leaving all others completely irrelevant for the platforms Lockjaw runs on, but considerable work must be done to achieve this.

5. ### vtrickzvUnregistered

Hey, just wondering if there is any way to save a replay on the DS version as it would be nice to be able to prove my records. Thanks and I love the game!

6. ### aperturegrillz

I found a minor bug with the DS version. When using the "square" type sticking, if you perform a t-spin line clear, every single mino that isn't already in a silver or gold square turns into a disconnected grey mino. I haven't yet checked to see if this happens in the PC version as well.

EDIT: It does happen in the PC version, too. And it actually does break apart silver and gold squares into disconnected grey minos. I would also like to note that I was using cascade gravity, which is why the disconnectedness is important.

7. ### tepplesLockjaw developer

Free Fall after a spin line clear happens in the original N64 version, and it breaks 4x4 squares there too. Check this video around 1:10 or so.

8. ### aperturegrillz

Oh, okay. I've never played a guideline game with cascade and 4x4 so I wouldn't know.

It still seems odd though. Most of the time it loses you points.

9. ### Zaphod77Resident Misinformer

Yeah. it NOT breaking squares apart is a bug!

It can be abused to make insane line clears of well over half the screen, if you are patient. (for example construct a secret grade, and then do a spin to finish it off.

10. ### arcanexUnregistered

Hello all.

I registered just to ask: is Lockjaw ever going to get it's own project website? With it's own source version control, mailing list, wiki, etc. tepples, your webpages are nice, but it doesn't feel very active or collaborative. Tetris Concept is where things are happening, but it's getting kinda hard to keep up with this one humongous thread. I bet someone else probably already asked for this but I can't go through 70 pages of posts just to check.

11. ### XeaL

oo i has an ideaz

super graph of speed in relation to time and tehnz also some graph of how often tspins/tetris/cascades happenz.

13. ### tepplesLockjaw developer

I did a search on tvtropes.org for Lockjaw. It turns out someone listed bgm-rhythm.s3m as "nightmare fuel", especially in the final stretch around 100 tpm:
Anyway, others have requested In The Groove-style performance graphs.

14. ### Zaphod77Resident Misinformer

I have a simple request for adjusting the gameplay of rhythm.

Have it so that if you lock the piece early, it waits for the next beat to introduce the new piece.

That way, we don't have people getting ahead of the beat and storing up extra piece time to use later when the speed increases.

15. ### Ray Ayanami

Haha, I did that.

16. ### nightmareci

Previously, attempts to compile Lockjaw in GCC 4.3 always failed. Now, however, compilation can succeed, with a few changes. See here. The necessary changes also allow Lockjaw to compile in GCC 4.4.

17. ### tepplesLockjaw developer

I randomly found the webcomic Cyanide & Happiness @ Explosm.net. I don't think this strip is talking about the game, but I still smiled when I read it.

18. ### KevinDDR

You're still alive! Any chance a new version of LJ is in the works?

19. ### tepplesLockjaw developer

Anyone who hangs out on Hard Drop could see that, as could anyone who compares recent changes among HD, TC, and Wikia.

But unfortunately, I wasn't in hiding like for 0.42. Several things have conspired to keep me from feeling like maintaining this game:
1. I have a full-time day job now.
2. The end of TC. The community fragmented into two, neither big enough to support a project as big as this on its own.
3. Arika's takedown of THIS FAN GAME VIDEO WILL BE FLAGGED. For one thing, YouTube took much longer than the customary 10 to 14 business days to restore this video. For another, Arika requested the takedown of another Tetris-clone video. Two weeks later, it went back up, but within 24 hours, it got DMCA'd again. This thread tells the whole story.
4. Tetris v. BioSocia. When I first made Vitamins (part of freepuzzlearena), after I learned about Nintendo's U.S. patent on the gameplay of Dr. Mario and Tetris 2, I added a second game mode that wouldn't match any Nintendo patent. That could be fixed by adding support for multiminos and other line clear methods to simulate Columns, Puyo and Dr. Mario in Lockjaw Engine, but see the next item.
5. I'm trying to make something-other-than-Tetris in response to not-entirely-unfounded comments at various message boards that all I've ever made are clones of falling block games. I want to complete a project that doesn't involve falling blocks in any way. My first attempt at this was FK Convey, a Klax clone that resembles Guitar Hero much more than it does Tetris. It even works with my cousin's PS3-compatible guitar controller.
6. I bought a Mac. As of October 1, 2009, Allegro wasn't compiling in Xcode 3.2 because it relied on old frameworks that Apple has since obsoleted, such as QuickDraw. Allegro 4.2.3.1 came out a month later, advertising a fix for this issue, but see the next item.
7. I bought a bigger SSD for my laptop and installed Ubuntu 9.04 and upgraded it to 9.10 upon release. But now, unlike in 8.04, Allegro can't seem to find the sound card anymore. I've reported this to Canonical.
8. It turns out Canonical doesn't maintain the version of Allegro available through Synaptic; volunteers do. I considered ditching Allegro in favor of SDL, which Canonical does maintain and which works on most of the same platforms as Allegro (except for FreeDOS and Windows 98 DOS mode). But it turned out that SDL_Mixer doesn't resample in real time; instead, samples have to be resampled to the sound card's playback rate when they're loaded. That method is not compatible with the shiftScale skin setting or even the way LJ does the home run and back-to-back home run sounds. I could drag out my old mixer from the TOD/GBA era, but then I'd have to find a new mod player or write a DUMB wrapper in the same way I wrote my own libvorbis wrapper. Or I could port Allegro's mixer to the SDL API, but I had other things to work on.
9. Similar shakeups in libnds, on which the DS port relies, such as the switch from shared-memory IPC to FIFO, and I didn't feel like rewriting its sound engine.

Lately I've been working on Concentration Camp.

Last edited: 19 Jan 2010
20. ### Rich Nagel

Just to let ya know, there are still dedicated fans (like myself) of LJ I've said it once, I'll say it again... thanks for all of your hard work on it