GreaseMonkey

LD19

Two hours and twenty minutes later…

… and I finally have a font (the twenty minutes was due to me having to make a puts function).

lols

Next task: Actually make a GAME. (After I’ve made a tileset and a spriteset, of course. Perhaps with a slightly more suitable palette.)

Some musics

Currently I’m working on the level format, so I’m shoving that in a readme.txt. I should probably rename that file.

There isn’t any code to load the data just yet and I’m trying to work out the structure that entities should use.

Anyways, while you’re waiting, here’s some music I intend to use.

Music engine fixed

The readme.txt file is out of sync in the dump, here’s how the stream works:

if the value is $01, then don’t write anything to the PSG.
if bit 0 is set, it’s a 1-byte lookup.
if bit 0 is clear, it’s a 2-byte lookup, low then high.
if the 2-byte lookup is $FFxx, then reset the stream.

The value for a “blank tick” used to be $00, not $01. Unfortunately, you can get values such as $0D00 of which the first byte read is… $00. D’oh!

And this is the thing  itself. Enjoy.

It’s starting to look like a game!

After fixing the tile type set issues, it finally looks like it could actually be a game. What needs to be done now (after making graphics, of course) is getting the player, then some other entities working.

Dump here.

Also an earlier, definitely buggy dump behaves quite differently in Kega Fusion compared with Meka, and it’s here. How does this act on a real SMS?

IT’S “DONE”

Well here it is, guys. It’s my LD19 entry. I basically just gave up and released it as is BUT AT LEAST IT’S RELEASED. No known major bugs.

If it doesn’t work, DON’T VOTE.

We didn’t get the full blown all-1s parade like last LD, but it did appear on my entry. What makes this particularly horrible, however, is that I didn’t get many legit votes, and would have scored 4.10 for audio rather than 3.82. ARGH.

What we did get, however, was a lot of all-N/As and even more all-N/As-apart-from-community. I got one and two from those respectively.

IT’S NOT COOL.

People who do that should get suckness points rather than coolness points, and whoever gets the most suckness points (above a certain threshold) should be banned from voting until they’ve removed all copies of Game Maker from their computer (and possibly Unity and whatever else is “the easiest way to make games for Windows”).

In fact, they might as well be tortured by being forced to program a game for an old console in assembler. Like what I did,  except done by someone who probably can’t even code in BASIC.

So, back to the topic.

If it doesn’t work, DON’T VOTE.

If you think the guy’s a complete idiot, PRETEND IT WAS MADE BY YOUR BEST FRIEND (I’ve yet to find an unexplained all-5s vote but these would be awesome (actually I think I just did on Coffee Forever)).

And now for the ultimate question: How do we stop these stupid, stupid votes?

Comments

11. Jan 2011 · 02:29 UTC
You do realize that N/A scores do not count against you, right?
sfernald
11. Jan 2011 · 05:04 UTC
The bottom line is you can’t take the voting too seriously.
sfernald
11. Jan 2011 · 05:07 UTC
And by the way, the fact you did a Sega Master System game in Assembly is F*CKING AMAZING. I worked on some Genesis games, Lion King, and some other games for the PICO in assembly.
11. Jan 2011 · 06:48 UTC
The reason someone votes all N/A’s is so that they can leave comments. I don’t know if that happened or not for you, but it’s still valid. And as pointed out, N/A’s don’t count against your score. Giving 1’s when the game doesn’t work is bad, but giving N/A’s doesn’t hurt anyone, except that the list of votes is a bit longer.
shockedfrog
11. Jan 2011 · 06:49 UTC
I didn’t manage to enter this LD and haven’t gotten round to playing any of the games yet, but normally I would leave a small number of such all-N/A-but-community votes, and I feel there’s nothing wrong with those as long as the voter made a reasonable effort to play the game and rate your community participation. Perhaps it’d be good to enforce that these kinds of votes must be accompanied with a comment stating the issue, though that might just encourage all-1s (or other fake low votes) instead, plus the most common case is going to be games for a different OS/machine.
11. Jan 2011 · 07:18 UTC
I understand what you mean. I can’t really understand some people’s criteria. For example, I got rated 1 for innovation twice. I don’t know why though. For me, 1 would be a blatant copy of another game.

So yeah, someone at the IRC said me this once, that using an Elo rating system would be more effective. I really didn’t understand what he meant back then, but I think that I do, now.

This is quite problematic. I don’t think we can just teach people how to vote. I think the best, as sfernald said, is to not take the voting too seriously.
jolle
11. Jan 2011 · 07:46 UTC
Voting N/A in categories you can’t rate (for example because you can’t run the game) but still rate the ones you can (like community) should be better than not rating at all. You get better accuracy for the categories that were rated, and like others have pointed out, the N/A ones are ignored.
moltanem2000
11. Jan 2011 · 22:59 UTC
I can certainly relate to being less than satisfied with vote results, but hey, blaming it all on people who use gamemaker and unity? not cool man. I’ll have you know I use gamemaker for LD, and yes, I can program in BASIC thank you very much.

LD20

If you can’t make music, use inudge.

Seriously, just use it. (Thanks to whoever linked it here.)

I’m not sure if I’ll be able to do LD20 (I might do a video mode 13h DOS entry using DJGPP), so I’ll offer my advice here.

Steer clear of Rhode Bass. It’s crap. Avatar provides a better bass.

The notes are: A, B, D, E, F#, and then they loop up each octave. If you want a minor scale, use the B as your base note. If you want a major scale, use D as your base note. This is basically music theory, though… the minor scale is a bit easier to work with and often sounds nicer. Note, this is not fundamental, but it is nice to know.

Some of the drums are crap. HC2 makes a nicer open hihat than HO. BD1 is good, BD2 is crap. CL(ap) is nice. SN1 and SN2 are fine, though SN3 is if you want to have a woodblock sound. TH isn’t worth using; just use TM1/TM2/TL.

Here’s an easy drumbeat to do: Put a kickdrum (BD1) immediately after every marker, and put a clap (CL) or a snare (SN1/SN2/both) immediately after every second marker (skipping the first). Put a hihat (HC1) on every column, though on every “3” you put an HC2 instead. It’s OK to not do the HC2 thing and just use HC1 on each column. It’s also OK to only do it on every “1” and “3”, and usually gives you a slightly punchier beat.

The rest is up to your experimentation.

EDIT: ARGH. Apparently you can’t export it. So if you don’t have stereo mix, ask someone nicely. Or of course you could always use this.

 

Comments

zazery
29. Apr 2011 · 05:42 UTC
I saw someone else mention it so I thought I’d give it a try but it’s a bummer that you can’t export.

Any jammers want music?

I think that if I were to do this, I’d have to participate in the Jam with someone. So, who’s desperate for a musician?

 

Conditions.

  • I will not provide music for a game that I cannot play w/o Wine. This includes Game Maker, Unity, DirectX-based stuff, and XNA, the latter which does not work at all. Flash is fine.
  • With regards to the above, I will happily code for an old platform provided I can “legally” get an emulator to work (sorry Amiga devs). I have a system running FreeDOS w/ an SB16 if you’re doing any DOS stuff and want some actual hardware to test it on. NES may be a pain.
  • You must open the source code under a “free software” licence. It does not have to be GPL.

 

Platforms I can do my own mixing for.

  • C. If you’re coding in C++, it MUST compile on something that is NOT MSVC++, otherwise odds are I will NOT BE ABLE TO PLAY IT w/o Wine. Also, NO DIRECTX. My code will be written in C if you wish to take this route.
  • J2SE. I have a mod player for J2ME but it requires a lot of hackery.
  • Python, though I must use a hack to get it to work nicely on Windows, and it won’t work on a Mac w/o an external library.

 

Platforms which have mod/s3m/xm/it stuff.

  • As expected, C. libdumb is highly recommended. Don’t use libbassmod; it’s closed source.
  • Python/pygame, and probably a bunch of other things. These use SDL_mixer. Which uses Mikmod. UGH. I can work around its bugs, though; unfortunately, my build of Mikmod is brutally hacked, so I’ll end up testing stuff in Timidity++. It also means I can’t use resonant filters in .it.
  • Ruby/gosu, though the s3xmodit backend varies among platforms (FMOD for Windows, SDL_mixer for Linux, OpenAL for Mac(?)). So if you’re using a Mac, all I can say is: =P
  • Megazeux, though it uses libmodplug, which is also pretty spewy, but despite the code being completely hopelessly screwed up it’s generally better than Mikmod. If you use this I’ll be a really happy man (it’s just so good for when you need to pull an entry out of poospace in an hour).

 

Platforms where I’d have to search poospace for some playroutines because these really aren’t appropriate for PCM.

  • ZX Spectrum… Actually, please don’t, it requires cycle-exact timing. Unless you’re coding for 128k. In which case I can just use the AY chip, and it’ll be all good.
  • Sega Master System ^_^ (I can just use a generic .vgm playroutine if necessary)
  • NES (s3m2nsf should hopefully do if you can get it to link nicely). I will not do much meddling with this, though, because I don’t know any of the schemes for the over 9000 banking chips for this system.
  • Game Boy. I will need to code my own driver for this. This has a WAV channel so I think I might be happy =)
  • Atari 2600… oh hell. I have a “cycle-exact” way of extending the period to 8 bits but I don’t think I’ll bother to be quite frank (unless you want to shove that in yourself). IT2TIA is totally not going to cut it as it really chews ROM space (plus it’s inaccurate & stuff like that).

 

Platforms which call for PCM.

  • ECMAScript for HTML5.
  • Adoobie Flush.
  • Blender Game Engine.
  • I’m really not sure what else… Löve? Or is that SDL_mixer stuff?

 

So yeah, here’s my offer. It’d be a way to get my mind of the stress of my assignments @_@

…i might be in?

If I end up doing something, this’ll probably be my setup.

  • Language: C or x86 ASM, haven’t decided. Not sure if I want to go 16-bit or 32-bit… ok 32-bit seems the likely candidate.
  • IDE: FreeDOS EDIT or RHIDE.
  • Libraries: …IBM BIOS?
  • Audio: OPL2/Adlib FM synthesis ^_^, most likely. If I can be bothered wrestling with DMA I might learn how to play / mix samples – I have 266MHz of RAW POWER, after all.
  • Graphics: I think I’ll stick with vector art. Probably going to use VGA Mode 13h. Probably going to rip the font from the BIOS.
  • Music: Reality ADlib Tracker if I get around to it. Or ImpulseTracker, or something like that.

Not sure if I’ll compo or jam.

Comments

29. Apr 2011 · 23:38 UTC
Oh man, I miss the Adlib. Such a beautiful thing. Are there any good libs that emulate it?

The “editor” builds/runs \o/

I can’t be bothered uploading screencaps just yet, but it sets mode 13h and doesn’t screw up. I think I have a vague idea on how to use RHIDE now.

Comments

GreaseMonkey
30. Apr 2011 · 00:31 UTC
80KB. Definitely better than any Allegro app’s ~900KB.

Look, a photo!

So uhh this is what I’ve got so far. It handles the keyboard though I can’t seem to get a “non-blocking” handler yet.

This is just the editor. There isn’t any game yet.

BLASTER variable read :D

So I’m basically learning how to program the SB16. I have done at least two floppy disk drivers, one which only reads one side of the floppy when not on an emulator, and the other doesn’t work at all on the real hardware. But I know how to do DMA… or at least knew, I’ll need to relearn it or something like that. (The floppy is the reason why you can’t use DMA 2 for Sound Blaster, IIRC.)

On top of that, there’s a main menu screen, a Level edit screen, a Gfx edit screen,  and a Sample edit screen.

DOS game shelved =( trying IRC bot game

SB16 has been giving me hell. I thought I got direct mode working but it can only have so much shoved in before it gives in.

So I’m going to make an IRC bot game now.

The bot can JOIN now.

I can safely say that this screenshot took WAY too long to process.

o_O

What were you expecting, something intelligent?

Anyways, there’s a nifty little hook system there, which should be sufficient for the framework I’ll be making.

With that said, I’m going to bed. Good night guys.

LD21

Maybe I will this time.

Declaration of crap.

  • Language: C
  • Main lib: Allegro 4
  • Sound lib: libdumb
  • Music tool: SchismTracker, as usual
  • Codebase: None

That’s all you really need to know.

Now the site is working again…

…I’m now able to share you a lovely link.

Alpha #001

Even includes a Windoze binary, which is the only thing I did to this game today.

Here’s that screenshot again:

Deja vu

LD22

Started working on graphics

 

As you may be able to delve from this screenshot, I kinda suck at graphics.

a new art style called "severely deformed"

I think I’ll use this “severely deformed” style for now, and if I ever find a way to improve on it within the timeframe I’ll consider it.

Yes, I am using a text editor for my main graphics editing.