JABBO'S PROFILE

Search

Filter

Most popular online

Firefox 3 - Download Day Guinness World Record attempt [June 17][UPDATE: 8.2 million]

Firefox 3 - Download Day Guinness World Record attempt [June 17][UPDATE: 8.2 million]

Not to be pro-Firefox, but I totally found a speed dial add-on for Firefox. And whoever thought of speed dial was a genius. Thank you for pointing out that it exists.

Music trouble

Problems with MIDI are usually caused by the MIDI output on your computer, not RM2k. Rebooting usually works, but beyond that I have no idea. One thing about MIDI is that you can usually only have one MIDI program open at a time, so check to see if anything else is using MIDI at the same time. Otherwise, if you've been using any music-related programs, maybe something is screwed up there.

MMO

Just a quick point that there are two ways to have a storyline with an ending in an MMO.

1) Zombie infestation style. The world is being overrun by zombies! Collectively the players must push them back and purge the world of their unholy beings! When the world is purged, the game starts over and the time of completion for the round is logged. The next round, the players try to beat their previous time. It is completely cooperative. Maybe throw in a little procedural generation (good PG, please, no one likes bad PG).

2) Every player is THE HERO style. Throughout the game there are bosses that are single-player (or small group). There is a story behind each boss, and every player gets to kill the boss exactly once. The fact that the boss was killed previously is just an accepted paradox and life continues. When the final boss is killed, the player "ascends" and their character becomes legend somehow. Not like the KoL or LotGD web-games, where you play again and try to ascend again. Just like "Okay, you beat the game. Congrats. Here's a trophy."

I don't think either of these have been done before, and I would love to see them.

Release Something! Day [FOR REALZ this time]

In keeping with the "something" in "release something," here is the super pre-pre-alpha of Nox. Basically, I'm copying RM2k and HOPEFULLY making it better, albeit less user-friendly. This release has an enormous quantity of bugs, but shouldn't outright crash unless you edit the events wrong. It might be worth playing with for 5 minutes or so, though.

Read the README for everything else I have to say.

www.geocities.com/jabbo_kaldra/Nox.zip (my Geocities account ought to be able to handle a few 250 kb requests)

Edit: I'd post some screenshots, but the game looks exactly like RM2k, and the editor doesn't look as good as RM2k. So if you want to see something, there's really nothing to see here.

Edit 2: This is done with .jar files. You'll probably be able to run them, but if you don't have the Java Runtime Environment I don't think you can. If not, don't bother trying to get it.

Anyone good at ripping?

I never said the program would be actually good or versatile or anything. Also I fail at meeting my time constraints. I figured it'd be faster since I've been working on this stuff for the past month. Anyway, www.geocities.com/jabbo999/TileSetRipper.zip

1) Name your file input.png (if tiles are 16x16) and put it in the same folder as this.
2) Alternately, use the command line: Java TileSetRipper filename tile_width tile_height
3) Make sure the tiles line up with the top left corner (In this example you'll have to move the entire image down 4 pixels...)
4) Run it
5) Wait. It takes about a minute for me, since I have an 800 MHz laptop.
6) Your results are in output.png

The results won't be neat or anything, either, but there won't be any duplicates. It's up to you whether or not to use the hideous output.

Here's the source if anyone actually cares enough to make this work well:

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package tilesetripper;

import java.awt.*;
import java.awt.image.BufferedImage;

import javax.swing.JFrame;
import java.io.*;
import javax.imageio.*;

import java.util.*;

/**
*
* @author user
*/
public class Main {

/**
* @param args the command line arguments
*/
public static void main(String args) {
String s = "input.png";
int xDimension = 16;
int yDimension = 16;
int rows = 0;
int cols = 0;
Image image = null;
ArrayList<BufferedImage> tiles = new ArrayList<BufferedImage>();

if (args.length != 0) {
s = args;
xDimension = Integer.parseInt(args);
yDimension = Integer.parseInt(args);
}
try {
File file = new File(s);
image = ImageIO.read(file);
cols = image.getWidth(null) / xDimension;
rows = image.getHeight(null) / yDimension;
} catch (IOException ioe) {
System.out.println("Input file not found! Use input.png");
System.out.println("Or call 'TileSetRipper filename width height'");
}

BufferedImage buff = null;
Graphics2D g2 = null;

for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {

buff = new BufferedImage(xDimension, yDimension, BufferedImage.TYPE_INT_ARGB);
g2 = buff.createGraphics();

g2.drawImage(image, 0, 0, xDimension, yDimension, j * xDimension, i * yDimension, j * xDimension + xDimension, i * yDimension + yDimension, null);
boolean check = true;
boolean check2 = true;
for (int k = 0; k < tiles.size(); k++) {
check2 = false;
for (int n = 0; n < yDimension; n++) {
for (int m = 0; m < xDimension; m++) {
if (buff.getRGB(m, n) != tiles.get(k).getRGB(m, n))
check2 = true;
}
}
check = check && check2;
}
if (check)
tiles.add(buff);
}
}

buff = new BufferedImage(xDimension * cols, yDimension * rows, BufferedImage.TYPE_INT_ARGB);
g2 = buff.createGraphics();

int k = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
g2.drawImage(tiles.get(k), j * xDimension, i * yDimension, j * xDimension + xDimension, i * yDimension + yDimension, 0, 0, xDimension, yDimension, null);
k++;
if (k == tiles.size()) break;
}
if (k == tiles.size()) break;
}

try
{
ImageIO.write(buff, "png", new File("output.png"));
}
catch(IOException ioe)
{
System.out.println("Write error!");
}
}

}


Edit: Actually the command line doesn't work, and I don't really care enough to fix it.

Anyone good at ripping?

Well I'm not talking about doing everything, that's not actually possible without at least some sort of limited AI, I'm just talking about scanning the image and taking each unique tile and outputting them all so that someone doesn't have to do the grunt work. Afterwards they'd have to do autotiles, layers, organization, etc, but they'd have a much smaller file to work with. Give me about 20 more minutes.

RM2k Forest Tiles

Yeah, I don't get it either haha. And you're right, I should just make my own method of doing it. Thanks for the suggestion (don't really know why I didn't think of that).

Anyone good at ripping?

Are you sure there isn't some software out there that can do this already? I could rig up something in Java to do this in less than an hour, so I figure someone else would have done it already.