Home | Rules and Guide | Sign In/Create Account | Write a Post | Donate | #ludumdare on irc.afternet.org (Info)

Ludum Dare 24 — Coming August 2012

Ludum Dare 23 — April 20th-23rd, 2012 — 10 Year Anniversary
[ Results: Top 50 Compo, Jam | Top 25 Categories | View My Entry ]
[ View All 1402 Games (Compo Only, Jam Only) | Warmup ]


About GreaseMonkey

GreaseMonkey's Trophies

The Autotracker Award
Awarded by Kouta on December 15, 2010

GreaseMonkey's Archive

DOS game shelved =( trying IRC bot game

Posted by
Saturday, April 30th, 2011 2:05 am

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.

BLASTER variable read :D

Posted by
Saturday, April 30th, 2011 12:05 am

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.

Look, a photo!

Posted by
Friday, April 29th, 2011 8:22 pm

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.

The “editor” builds/runs \o/

Posted by
Friday, April 29th, 2011 7:29 pm

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.

…i might be in?

Posted by
Friday, April 29th, 2011 6:34 pm

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.

Any jammers want music?

Posted by
Friday, April 29th, 2011 3:29 am

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 @_@

If you can’t make music, use inudge.

Posted by
Thursday, April 28th, 2011 11:07 pm

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.

 

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

Posted by
Monday, January 10th, 2011 8:54 pm

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?

IT’S “DONE”

Posted by
Sunday, December 19th, 2010 5:25 pm

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.

Scrolling + entity loading + player moving now works.

Posted by
Sunday, December 19th, 2010 3:04 pm

Unfortunately there’s a scrolling bug due to the 28-tile scroll height. I need to adjust it properly when it wraps around.

Also entities aren’t being deleted when they fall down the bottom yet.

Dump here.

It’s starting to look like a game!

Posted by
Saturday, December 18th, 2010 8:00 pm

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?

Music engine fixed

Posted by
Saturday, December 18th, 2010 2:22 am

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.

Good news, music playback works!

Posted by
Saturday, December 18th, 2010 1:58 am

Bad news, it’s a tad broken. Not sure what’s causing it but it seems to do it every now and then, and I don’t think ADD hl,de is THAT broken.

Project shamelessly dumped here.

Some musics

Posted by
Friday, December 17th, 2010 11:48 pm

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.

Two hours and twenty minutes later…

Posted by
Friday, December 17th, 2010 9:27 pm

… 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.)

Declaring possible reference code

Posted by
Friday, December 17th, 2010 2:04 am

I just stumbled across some lovely math-related Z80 snippets while looking around the SMSPower! wiki. So I *might* just use these things. After all, most of you guys have multiplication at your fingertips already.

Apparently .it isn’t the easiest format to make a player for

Posted by
Thursday, December 16th, 2010 7:59 pm

Hey guys, guess what? I have music!

Unfortunately it doesn’t work very well. It uses patterns from the .it format, which is easier to load than I thought (yay for the BIT opcode \o/) but quite a pain to play. To be quite honest, I’d probably fare better just using LZSS-compressed VGM streams.

http://pubacc.wilcox-tech.com/~greaser/stuff/butt-02.sms

Enjoy the slightly glitchy music. Also, when you die or win, the game resets!

No source code, sorry – and here’s why:

-rw-r–r– 1 ben ben     443 2010-12-17 15:45 bears.inc
-rw-r–r– 1 ben ben      14 2010-12-17 15:45 bears.ord
-rw-r–r– 1 ben ben     580 2010-12-17 15:45 bears.pat0
-rw-r–r– 1 ben ben     758 2010-12-17 15:45 bears.pat1
-rw-r–r– 1 ben ben     705 2010-12-17 15:45 bears.pat2
-rw-r–r– 1 ben ben     720 2010-12-17 15:45 bears.pat3
-rw-r–r– 1 ben ben     762 2010-12-17 15:45 bears.pat4
-rw-r–r– 1 ben ben     707 2010-12-17 15:45 bears.pat5

…yep, all those files (using a tool I made, of course). Anyways:

wlalink -v link.wla butt.sms
Free space at $0037.
Free space at $005c-$0065.
Free space at $09ec-$09ff.
Free space at $0a0e-$3fff.
Free space at $53a4-$7fdf.
Free space at $7ff8-$7ff9.
Free space at $7ffc-$7ffe.
Bank 00 has 13841 bytes (84.48%) free.
Bank 01 has 11329 bytes (69.15%) free.
25170 unused bytes of total 32768.

But I might just sacrifice compactness for simplicity in the compo.

It’s doable!

Posted by
Thursday, December 16th, 2010 2:36 am

This was probably about 10 minutes in:

[19:02:25] <GreaseMonkey> ok i’m just messing around with z80 assembler and meka
[19:02:35] <GreaseMonkey> (meka is a sega master system emulator)
[19:02:42] <Sparky> Oh, neat.
[19:02:46] <GreaseMonkey> it’s actually quite easy to load registers, palette and tiles

And now I’ve done my practice game at about 22:32. That took, ooh, 3 and a half hours to make a little not quite completeable one-level game?

Download here.

EDIT: Source code.

For those of you who can’t make music

Posted by
Tuesday, December 14th, 2010 8:33 pm

but can run Python, here’s a little something for you. It might be a bit too cheesy for your game, unfortunately… if you want to you can try modifying it to use a minor scale. Also, you’ll need some samples, and a tracker to put the samples in.

Suddenly, your game has a somewhat full sounding soundtrack with a bunch of randochords shoved in.

Enjoy!

EDIT: Here’s a version which does minor scales every now and then and generates its own (not very good) samples.

EDIT 2 (Dec 2011!): The links are a bit dead, so try this: http://gm.64pixels.org/stuff/atrk-c-edit.py.txt – this edit was because ExciteMike linked to here. I should probably consider a new version of this thing, most likely from scratch again. Also have some samples.

Arrangement-permitting…

Posted by
Tuesday, December 14th, 2010 7:04 pm

Here’s hoping I don’t have nay arrangements. From what I gather, I don’t.

  • Language: Z80 assembler
  • IDE: KWrite/Kate
  • Graphics: GIMP (I think), maybe modified bmp2sega.py
  • Music: SchismTracker + either it2vgm or a converter for some music engine I may have to make
  • Sound: I think I’ll just code it in.
  • Libraries: None.
  • Architecture: Sega Master System

In other words, kinda like what I did last time, except with the real thing (well, it might not work on the real thing so I’d suggest using an emulator – MEKA is a good choice but sadly it uses SEAL for audio (which SUCKS on linux) so I’d suggest using Meka Fusion if you’re lucky enough like myself to be able to run it (it’s closed-source)).

Can someone recommend a good (read: doesn’t use SEAL) open-source SMS emulator? (note: SMS Plus uses SEAL so it’s out of the question)


All posts, images, and comments are owned by their creators.

[fcache: storing page]