I really, REALLY think Pixel is making a new game

Feb 2, 2011 at 1:03 AM
Um... Chosen One? Yeah that'll work. : P
"Keep on rollin'!"
Join Date: Jun 25, 2009
Location:
Posts: 451
How is this different from the current mac version?
 
Feb 2, 2011 at 1:07 AM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 5998
I don't know. Maybe they are the same? It was just on Pixel's homepage today.
I wasn't aware there was a mac version.
 
Feb 5, 2011 at 3:12 PM
Senior Member
"Master using it, and you can have this!"
Join Date: Aug 19, 2009
Location: UK
Posts: 85
Age: 27
YES!

IT's BACK ON!
 
Feb 5, 2011 at 5:46 PM
Veteran Member
"The Ultimate Sword of Extraordinary Magnitude"
Join Date: Jan 4, 2009
Location:
Posts: 298
Soaprun server closed. Pixel downdated the map. He is using the May 29, 2010 version of the map with revisions. I have re-included the Old Map in my signature, plus, made a small revision on the Guide, now that the green flame has returned.

Also, the little batch file also resizes the Orignal Japanese version of Soaprun. Not just 0.432, but earlier versions too, as well as Akantares (but it is not needed in Akantares as you can right click the window and set your size). Make sure the '2x' file is in the 'Profile' folder.
 
Feb 6, 2011 at 5:19 PM
Senior Member
"Master using it, and you can have this!"
Join Date: Aug 19, 2009
Location: UK
Posts: 85
Age: 27
Drat. Closed again.

Well, now I can upload the work I've done:

Soaprun Protocol

First, Soaprun attempts to contact a server at a hard-coded (at 2C12C) domain.
Normally, this is hpcgi2.nifty.com .
Then, Soaprun sends a specifically formatted packet, like this:

GET /rochet/en_0x_kb/server.cgi HTTP/1.1
Host: hpcgi2.nifty.com
User-Agent: Soaprun1

In return, the server sends some HTML:

<html><body>
Pixel<br>
110205-222220 open 218.226.167.227 1002 Soaprun 64 . <br>
</body></html>

The first numbers are the current date, in the form YYMMDD.
The next set is probably the time the server was started in 24h, HHSSMM.
Both have no effect on the game.
The first word is the status of the server.
Messages can also be included in this packet.

Then, the client communicates with the server on the specified port, using these commands:

ChCl = "CHange CoLour"
Dlog = Server log
DrFl = "DRaw FieLd"
Flds = "Fields", Server to client update
HNPU = Attack
HVen = "HeaVEN", Become a ghost
mAtt = Unknown
mCrp = "Make CoRPse"
myPo = "MY POsition", Sends client character position
Prtc = Initialise
Room = Get "ROOM" Data
Test = "TEST" data stream
Void = Server response placeholder
WLCM = "WeLCoMe"

Usage

The first four bytes are the big-endian length of the following command.

Establish:

[Server starts] 04 00 00 00 WLCM

06 00 00 00 Prtc 01

0e 00 00 00 PrtcSoaprun 00 40 00

[All other commands are client started]

Test (516 bytes, fill with 00):

00 02 00 00 Test 00 75 6e 00 40 00...

00 02 00 00 Test 40 00...

00 02 00 00 Test 00...

00 02 00 00 Test 00...

Dlog:

24 00 00 00 Dlog 1c 00 00 00 512byte 22 [1],[2],[3],[4]msec 00 [time to download test
OR
18 00 00 00 Dlog 10 00 00 00 fps 20 [1],[2],[3],[4] 00
OR
14 00 00 00 Dlog 0c 00 00 00 Dead([x],[y]) 00

04 00 00 00 Void

mAtt:

04 00 00 00 mAtt

28 00 00 00 mAtt 10 00 02 00 00 [02,01] 00 [03,02] [03,02] 00 01 03 01 01 01 00 00 02 02 02 00 01 00 03 02 00 01 03 01 01 01 00 00 02 02 02
[This data changes, but not much]

Get room data:

06 00 00 00 Room ID ID

56 01 00 00 Room ID ID [336 bytes of data, 21x16]

Client update:

[5+waypoints*2] 00 00 00 myPo [waypoints] [x1] 00 [y1] 00 [x2] 00 [y2] 00 [etc.]
[from top left]

[Length] 00 00 00 Flds [00,01,02] [00,01,03] [00,01] 00 00 [ITEMS] [DATA]

[Flds handles weather, enemies, corpses, ghosts, Soaps and items as far as I can tell]
[The picking up of an item by a Soap is handled by the client I believe]

Colour:

0a 00 00 00 ChCl [Colour] [myPo data]

[Length] 00 00 00 Flds [00,01,02] [00,01,03] [00,01] 00 00 [ITEMS] [DATA]

Draw:

0e 00 00 00 DrFl [x] 00 [y] 00 [Tile] [myPo data]

[Length] 00 00 00 Flds [00,01,02] [00,01,03] [00,01] 00 00 [ITEMS] [DATA]

Attack/Collide:

0e 00 00 00 HNPU [type: 0a,16,17,01,00,25] [myPo data]

[Length] 00 00 00 Flds [00,01,02] [00,01,03] [00,01] 00 00 [ITEMS] [DATA]

Ghost collide:

0d 00 00 00 HVen [myPo data]

[Length] 00 00 00 Flds [00,01,02] [00,01,03] [00,01] 00 00 [ITEMS] [DATA]

Die:

08 00 00 00 mCrp [x] 00 [y] 00

04 00 00 00 Void

Close connection:

04 00 00 00 Bye.

04 00 00 00 Void

The only thing I haven't done is reverse the 'Flds' command. This seems to affect a lot of things, but it changes all the time, even in an empty room. I could hope (or fear) that it is direct ASM injection, but I'm not so sure.

I would imagine that this protocol is quite open to hacking.
For example, weather the tile to be drawn on is valid or not is determined by the client
as is what tile is to be drawn on it. One could easily modify the client to draw unauthorised tiles,
though I have yet to experiment with this. Maybe there is some kind of server protection.

And also the first few KB of the ASM functions

Soaprun Functions

- Text and borders -

1000: Adjusts text spacing

10b0: Displays text, calls 12a20 *

11e0: Displays FPS, Users and Time, calls 12a20 *

1590: Displays Loading, Users and Status text, calls 1000 and 10b0 *

1640: Sets server message and in-game menu background colour, calls 185b0

and 131c0 *

16d0: Displays server message and in-game menu border *

1730: Unknown

1770: Unknown

1840: Displays server message and in-game menu border, calls 12c70 and

12a20

1ab0: Unknown, calls 1b10

1ad0: Unknown

1b10: Force screen refresh

- Main and in-game menu -

1b30: Displays main and in-game menu text, calls 1000

1b70: Unknown, calls 1000

1bc0: Displays main and in-game menu text, calls 10b0

1c10: Unknown

1c40: Unknown, calls 18610

1c80: Unknown, calls 1ad0

1d00: Essential, Calls 18494 and 30f0

1db0: Unknown, calls 1b10

1df0: Displays menu text, calls 14570, 1b30 and 1b10

1f20: Unknown, calls 1b70

1f70: Displays main and in-game menu text, calls 1bc0

1fd0: Displays main menu text and pointer, in-game menu text, box and

pointer, calls 16d0

21b0: Essential, calls 131c0, 18494, 18b0b, 1d00, 18499, 1640 and 1fd0

2410: Unknown, calls 3120 and 18b06

2470: Unknown, calls 1db0

24e0: Displays text, moves menu pointer, essential for connection and key

config, calls 2bc0

2530: Displays text, moves menu pointer, essential for connection and key

config, calls 24e0

2550: Moves and flickers main and in-game menu pointer, calls 2b20 and 5f10

2970: Moves and flickers main and in-game menu pointer, calls 2550

29c0: Removes in-game menu when not in use

29e0: Removes an unknown menu

2a00: Displays main and in-game menu text, calls 1db0, 1df0 and 1f20

2b20: Displays main and in-game menu text, also makes their pointers reset

when moved outside the selection area. Calls 2a00 *

2bc0: Essential, calls 2b20

2bf0: Unknown

2c10: Unknown

2c30: Enacts menu choice, without it, game exits when an option is chosen *

2c50: Unknown, calls 5f10

2c90: Unknown

2cb0: Unknown

2cd0: Unknown

2cf0: Displays main and in-game menu text, pointer and box. Calls 1840,

12c70, 12a20, 128c0, and 1f70

- Server messages -

2f20: Unknown

2f40: Unknown

2f60: Unknown

2f80: Unknown

2fb0: Unknown

2fe0: Unknown

30f0: Unknown, calls something

3120: Unknown. calls 18bdd, 18610, 1c40 and 18b06

3190: Unknown

31b0: Unknown

31e0: Removes server messages on game start *

3200: Displays server messages, calls 1000

3230: Displays server messages, calls 10b0

3270: Unknown

32b0: Unknown, calls 18610

32f0: Unknown, calls 31b0

3360: Displays server messages, calls 18494 and 30f0

3400: Removes server messages on game start, calls 31e0 *

3460: Displays server messages, calls 3200

34d0: Displays server messages, calls 3230

3530: Displays server messages and box, calls 16d0

3710: Moves server messages one character up and removes them on game

start. Calls 3400

37a0: Essential for game start, possibly run when that option is chosen,

calls 18494, 18b0b, 3360, 1640, 3710 and 3530

3920: Unknown, calls 3d80 and 18b06

3980: Handles new lines for server messages

39a0: Essential for game connection, calls 14570

3a40: Handles new lines for server messages

3a90: Handles game connection, calls 3460, 32f0, 3400 and 1770

3c10: Unknown

3c50: Displays server messages and box, calls 1840, 12a20 and 34d0

- Map and colour box -

3d60: Unknown

3d80: Unknown, calls 18bdd, 18610, 32b0 and 18b06

3df0: Unknown

3e90: Unknown, calls 3df0

3eb0: Displays map and colour box, calls 3df0, 18ce4 and 185b0

3f10: Displays map and colour box, calls 18cf6

3f40: Displays map and handles room change

3f90: Displays map and colour box, handles room change and screen refresh

3fe0: Displays map and colour selection

4030: Displays colour box

4090: Filters equipment and removes colour box when not in use *

40b0: Displays map and colour box, handles room change

4110: Unknown

4190: Unknown

4240: Unknown

4260: Unknown

4280: Displays map and colour box, handles screen refresh and process

termination. Calls 12ce0 and 12a20. Loops.

45f0: Displays map tiles and animations

4650: Unknown

4670: Unknown

46b0: Handles scrolling *

4730: Handles room change, animation and colour pointer flicker. Loops.

4980: Handles scrolling and map centering

49b0: Handles object colour box positioning

49f0: Unknown, loops.

4a50: Unknown, loops.

4ac0: Essential, calls 18d67, 11920, 11f20 and 18e21.

4b40: Unknown, calls 18d67, 12650 and 18e21

- Map covers -

4bb0: Displays a single colour over the map

4c00: Essential for map loading, calls 185b0

4c40: Removes the map cover from the centre *

4c80: Covers the map from the edge *

4cc0: Covers the map from the centre *

4d00: Removes the map cover

5000: Displays a single colour over the map, calls 12c70

- ??? -

5050: Unknown

5080: Essential

50a0: Handles timer, calls DS:[42b214]

50c0: Essential, handles timer? Calls DS:[42b214] and 11e0

5100: Unknown, handles timer? Calls DS:[42b214]

5120: Unknown

5140: Unknown, calls 11920

5170: Unknown, calls 12590

51b0: Unknown, calls 4b40 and 12810

5230: Unknown, calls 12a20

52d0: Unknown

5330: Unknown

5370: Unknown

5440: Unknown, calls 18cf6

The *d functions are particularly interesting, such as the ability to remove the scroll function and get instant transfer to the next room, rather than waiting a second for it to scroll.

I should also point out that in my translated version, the screen size can be selected by right clicking.
 
Feb 8, 2011 at 6:07 PM
Hey.
"In Soviet Russia, graves keep YOU!"
Join Date: Oct 20, 2010
Location: Within the hearts of all
Posts: 691
Age: 102
Update on the development page:

p89593-0-11011920go.png

Game over.

From this, it looks like he's making a game that's underwater, like Ikachan. The yellow fish appears to be the player.
 
Feb 8, 2011 at 6:11 PM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 5998
I've always wanted to play as Ms. Chinfish.
 
Feb 8, 2011 at 8:11 PM
Pirate Member
"Heavy swords for sale. Suitable for most RPG Protagonists. Apply now!"
Join Date: Dec 26, 2007
Location: Lithuania
Posts: 1947
I'll just steal tiles from it :p
 
Feb 8, 2011 at 8:53 PM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Apr 19, 2009
Location:
Posts: 3788
Age: 15
CAVE STORY 2: CHINFISH'S REVENGE
 
Feb 14, 2011 at 4:06 PM
Senior Member
"I, Ikachan. The Life and Documentary of the OrigiNAL SQuiD."
Join Date: Oct 3, 2008
Location:
Posts: 179
Huh. According to an interview that I have previously linked to, Pixel is also working on an iOS game. In that link, it mentioned a game called "Rockfish", and its discription matches all those unknown game screenshots he has posted.

And for those too lazy to click the above link:
To prove his point, his next game -- currently code-named Rockfish, a winking reference to Rockman, the Japanese name for Mega Man -- is a 2D iPhone game with a strong visual resemblance to Cave Story, though much simpler in style. It hearkens back to an older Pixel production, a simple action game called Ika-chan.

"When I made Ika-chan on PC, I wanted to give people the ability to move left and right and swim, but back then keyboards couldn't read that many keystrokes at once. So with this game, I can finally make that possible."

Rockfish seems like a fairly simple game itself: it casts players in the role of a kasago (an ugly, spiny fish, sometimes called a scorpion fish) and lets them move side to side, with a swim button to make the fish move upward, like the water stages of Super Mario Bros. Unlike Mario, though, the game is tough right away, as you begin in a narrow corridor lined with spikes (taken straight from the opening section of Cave Story) that must be avoided. I lasted about 30 seconds before sending the poor kasago to its doom.

"In terms of complexity, it's somewhere between Cave Story and Ika-chan," says Amaya. And, like Cave Story, it's designed very much around his interests: Amaya has recently taken up fishing as a hobby. "I made the character a kasago because it's the kind of fish I always catch, rather than the ones I want to catch," he jokes.
 
Mar 18, 2011 at 8:30 PM
Veteran Member
"The Ultimate Sword of Extraordinary Magnitude"
Join Date: Jan 4, 2009
Location:
Posts: 298
Came back after a computer disaster (data corruption, had to re-image)... Just to announce this, even though there is no update to pixel's webpage.

Soaprun server re-opened! (Now, please keep an eye on my signature for status.)

I missed a lot of new posts as a continued lurker...

EDIT: There can be less activities from Japan after that earthquake and tsunami disaster, so Soaprun may not be so active.
(Someone did this, btw.)

EDIT 3/26/2011: I have heard about the maximum server limit of 30 users, the guide is now updated.
 
Mar 31, 2011 at 12:22 AM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 5998
After long drought of updates, Pixel has put something new on his website
diph.php


p89599-1-11032720sxk200.png

リサイクルショップでキーボードを買う。
リズム関係が死んでて音色も少ないけどpxtone-voiceみたいな音が鳴るので気に入った。
2060円也。配送サービスが無かったので無理矢理かついで帰りました。
接触不良気味で開けたら中にはホコリがゴロゴロしてた..

Thrift shop to buy the keyboard.
I sound less relevant to the death of rhythm pxtone-voice will sound like it like that.
Department 2060 yen. I returned in force because there was no delivery service Katsui.
Opened in touch while I was lying around loose dust ..
The translation doesn't really make much sense to me, but I can at least infer that he bought a tiny keyboard which appears to be the thing that is dismantled in the larger picture.

And if you don't care for that rubbish about keyboards, then surely you might like to see new development pictures! :toroko2:
p89599-2-110202.png

Break the block.

p89599-3-110328.png

Cave Story on the concept of money was a dead issue. Will it work this time ..
But what does a fish buy? Only Pixel knows.
 
Mar 31, 2011 at 12:56 AM
Member Title
"All your forum are belong to us!"
Join Date: Mar 9, 2011
Location:
Posts: 629
He has also said that "there is a very good chance for cave story 2" (taken directly from an interview w/ Daisuke and GamesRadar)
 
Mar 31, 2011 at 1:27 AM
Neophyte Member
"Fresh from the Bakery"
Join Date: Mar 27, 2011
Location:
Posts: 3
I would definetley LOVE to see a Cave Story 2. Maybe on PS3 and xbox too? I know alot of people who didn't play it, simply because they couldn't play it on their favorite console.
 
Mar 31, 2011 at 1:30 AM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Apr 19, 2009
Location:
Posts: 3788
Age: 15
While we're at it, let's put Mario on the PlayStation too. Seems like a perfect match.
 
Mar 31, 2011 at 6:17 AM
Only Love, Maximum Love, Forever
"Life begins and ends with Nu."
Join Date: May 6, 2009
Location: somewhere new
Posts: 2137
Age: 27
Captain Fabulous said:
While we're at it, let's put Mario on the PlayStation too. Seems like a perfect match.

And a Zelda game for PC
 
Mar 31, 2011 at 12:25 PM
http://imgur.com/EuvCtsQ
"In Soviet Russia, graves keep YOU!"
Join Date: May 2, 2010
Location: beverly hills is where i WANT to be
Posts: 743
Age: 27
And pokemon for the Xbox 360

I know how frustrated I was when pokemon black wasn't available for the Xbox

oh and white to I guess
 
Mar 31, 2011 at 9:33 PM
Been here way too long...
"Big Joe Tire and Battery Restaurant! Opening Soon! Eat at Big Joes!"
Join Date: Sep 16, 2009
Location:
Posts: 519
Quake for the dreamcast.
 
Mar 31, 2011 at 10:20 PM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 5998
Cave Story on the Wii :chin:
But anyway:
p89606-0-110331.png

一部しきりなおし..さあ落ち着いてレベルデザインしよう。

Some stalls again ... Now try to calm and level design.
 
Apr 1, 2011 at 1:45 AM
Been here way too long...
"Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-BLEIUP"
Join Date: Mar 23, 2010
Location: Hidden Palace Zone
Posts: 305
Age: 35
Captain Fabulous said:
While we're at it, let's put Mario on the PlayStation too. Seems like a perfect match.

you do, of course, realize the guy was talking about Playstation Network/Xbox Live Arcade which would both be very fitting and logical for Cave Story, right?

And you do realize Cave Story getting more publicity due to being on consoles more popular in America is a very good thing, right?
 
Top