Charas-Project

Off-Topic => Archive => Resources => Topic started by: fruckert on December 13, 2010, 11:02:35 PM

Title: Project G23
Post by: fruckert on December 13, 2010, 11:02:35 PM
I'm currently attempting to make an entire RPG engine based around Ben's 8-dir character sprites.
Right now you can *drumroll*
OPEN DOORS!

That's it, at the moment.
I'm going to try to get a programmable ABS going on, a rudimentary faction system for AI, and HOPEFULLY, an interface to where you can make plugins, Elder Scrolls style.
Right now, you can open doors.
I'll post updates when they're done.

DOWNLOAD LINK (http://dl.dropbox.com/u/3104371/Projects/Project%20G23/Project%20G23.exe)

[spoiler=CHANGELOG]
12.13.10:

12.14.10:

12.23.10:
[/spoiler]
Title: Re: Project G23
Post by: Prpl_Mage on December 13, 2010, 11:09:07 PM
Wow, this sounds like tons of work my Frucking friend.
But if your dedication is this strong then I wish you all luck.
Title: Re: Project G23
Post by: drenrin2120 on December 13, 2010, 11:09:57 PM
I like. Even though it's sparse at the moment.
Title: Re: Project G23
Post by: fruckert on December 13, 2010, 11:14:12 PM
Small bugfix.
Movement speed was being added twice for the diagonal directions, making you go faster. I think.
Lucas's explanation was bending my math-retarded brain.

First post not updated, because I <3 Dropbox.

ed: I don't think that was needed.
Neither was the extra code that I took out, though, so hey, there's that.
Title: Re: Project G23
Post by: Ben on December 13, 2010, 11:49:55 PM
RAD
Title: Re: Project G23
Post by: fruckert on December 14, 2010, 11:23:55 PM
'nother bugfix, plus mildly showing off a new script.
I made a small three line script that takes a tile and then sets it to a relative depth, so that if the player is behind it, they're behind it, but if they're in front of it, they're in front of it.
It's easier to look at.
Just go to the double door.

Oh yeah, doors are almost done.
They just need to be able to teleport you and lock, that latter part will only happen once I get an inventory set up, though.
Title: Re: Project G23
Post by: fruckert on December 17, 2010, 10:48:59 PM
I found a bunch of cool extensions/DLLs to use with this.

Let's see...
FMOD for the sound engine. (it supports loop points, and has an assload of features)
Arch (which for some reason I can't find on the GMC any more) for mod file compression. (only one that I can find that actually works now)
Lua for scripting (probably, maybe, if I can implement that succesfully)
Some table data structure thing so that I can make some proper databases. (i.e., inventory system, quests, and whatnot)
Title: Re: Project G23
Post by: SaiKar on December 17, 2010, 11:14:02 PM
What does the name mean?
Title: Re: Project G23
Post by: fruckert on December 18, 2010, 01:24:51 AM
Nothing, really.
It WAS GM2k3, but that sounded off to me. Especially seeing as the only things that are 2k3 like are the graphics.
G23 just sounded better (http://i143.photobucket.com/albums/r125/fruckert/mspa_face-1.png)
Title: Re: Project G23
Post by: SaiKar on December 18, 2010, 03:09:09 AM
(http://i143.photobucket.com/albums/r125/fruckert/mspa_face-1.png) indeed.
Title: Re: Project G23
Post by: fruckert on December 24, 2010, 03:14:52 AM
I made a super awesome Autotiling script that will make your brain melt by looking at it.
It turns this:
(http://dl.dropbox.com/u/3104371/Projects/Project%20G23/Test8Orig.png)

Into this:
(http://dl.dropbox.com/u/3104371/Projects/Project%20G23/Test8.png)

Then a script runs and autotiles the room, RM2k3 style.

The engine link in the first post shows it in a small 20*15 tile room.

ed:
[spoiler=That goddamn script that took me two hours to make, just 'cuz]
Code: (draw_tileset()) [Select]
var spr, sub;
spr = argument0
sub = argument1

sprite_sheet_draw(spr,sub,  8,16,  0,3,  0  ,0 )//First row, first tile.
sprite_sheet_draw(spr,sub,  8,16,  5,3,  8  ,0 )
sprite_sheet_draw(spr,sub, 16, 8,  0,2,  16 ,0 )//Second tile.
sprite_sheet_draw(spr,sub, 16, 8,  0,7,  16 ,8 )
sprite_sheet_draw(spr,sub,  8,16,  0,1,  32 ,0 )//Third tile.
sprite_sheet_draw(spr,sub,  8,16,  5,1,  40 ,0 )
sprite_sheet_draw(spr,sub, 16, 8,  2,2,  48 ,0 )//Fourth tile.
sprite_sheet_draw(spr,sub, 16, 8,  2,7,  48 ,8 )
sprite_sheet_draw(spr,sub,  8,16,  0,3,  64 ,0 )//Fifth tile.
sprite_sheet_draw(spr,sub,  8, 8,  5,0,  72 ,0 )
sprite_sheet_draw(spr,sub,  8, 8,  1,7,  72 ,8 )
sprite_sheet_draw(spr,sub, 16, 8,  0,2,  80 ,0 )//Sixth tile.
sprite_sheet_draw(spr,sub,  8, 8,  0,3,  80 ,8 )
sprite_sheet_draw(spr,sub,  8, 8,  5,1,  88 ,8 )
sprite_sheet_draw(spr,sub, 16, 8,  2,2,  96 ,0 )//Seventh tile.
sprite_sheet_draw(spr,sub,  8, 8,  5,3,  104,8 )
sprite_sheet_draw(spr,sub,  8, 8,  4,1,  96 ,8 )
sprite_sheet_draw(spr,sub,  8,16,  5,3,  120,0 )//Eighth tile.
sprite_sheet_draw(spr,sub,  8, 8,  4,7,  112,8 )
sprite_sheet_draw(spr,sub,  8, 8,  4,0,  112,0 )
sprite_sheet_draw(spr,sub, 16,16,  0,3,  128,0 )//Ninth tile.
sprite_sheet_draw(spr,sub, 16,16,  0,1,  144,0 )//Tenth tile.
sprite_sheet_draw(spr,sub, 16,16,  2,1,  160,0 )//Eleventh tile.
sprite_sheet_draw(spr,sub, 16,16,  2,3,  176,0 )//Twelfth tile.

sprite_sheet_draw(spr,sub,  8,16,  0,2,  0  ,16) //Second row, first tile.
sprite_sheet_draw(spr,sub,  8,16,  5,0,  8  ,16)
sprite_sheet_draw(spr,sub, 16, 8,  1,2,  16 ,16)//Second tile.
sprite_sheet_draw(spr,sub, 16, 8,  2,1,  16 ,24)
sprite_sheet_draw(spr,sub,  8,16,  5,2,  40 ,16)//Third tile.
sprite_sheet_draw(spr,sub,  8,16,  4,0,  32 ,16)
sprite_sheet_draw(spr,sub, 16, 8,  1,7,  48 ,24)//Fourth tile.
sprite_sheet_draw(spr,sub, 16, 8,  2,0,  48 ,16)
sprite_sheet_draw(spr,sub,  8,16,  0,2,  64 ,16)//Fifth tile.
sprite_sheet_draw(spr,sub,  8, 8,  3,0,  72 ,16)
sprite_sheet_draw(spr,sub,  8, 8,  5,1,  72 ,24)
sprite_sheet_draw(spr,sub,  8,16,  0,2,  80 ,16)//Sixth tile.
sprite_sheet_draw(spr,sub,  8, 8,  3,1,  88 ,24)
sprite_sheet_draw(spr,sub,  8, 8,  5,0,  88 ,16)
sprite_sheet_draw(spr,sub, 16,16,  0,2,  96 ,16)//Seventh tile.
sprite_sheet_draw(spr,sub, 16, 8,  1,2,  112,16)//Eight tile.
sprite_sheet_draw(spr,sub,  8, 8,  3,1,  120,24)
sprite_sheet_draw(spr,sub,  8, 8,  4,1,  112,24)
sprite_sheet_draw(spr,sub, 16, 8,  1,2,  128,16)//Ninth tile.
sprite_sheet_draw(spr,sub,  8, 8,  2,1,  128,24)
sprite_sheet_draw(spr,sub,  8, 8,  5,1,  136,24)
sprite_sheet_draw(spr,sub, 16,16,  1,1,  144,16)//Tenth tile.
sprite_sheet_draw(spr,sub,  8,16,  5,2,  168,16)//Eleventh tile.
sprite_sheet_draw(spr,sub,  8, 8,  2,1,  160,24)
sprite_sheet_draw(spr,sub,  8, 8,  4,0,  160,16)
sprite_sheet_draw(spr,sub,  8,16,  5,2,  184,16)//Twelfth tile.
sprite_sheet_draw(spr,sub,  8, 8,  2,0,  176,16)
sprite_sheet_draw(spr,sub,  8, 8,  4,1,  176,24)

sprite_sheet_draw(spr,sub, 16,16,  2,2,  0  ,32)//Third row, first tile.
sprite_sheet_draw(spr,sub, 16,16,  1,3,  16 ,32)//Second tile.
sprite_sheet_draw(spr,sub,  8, 8,  3,0,  24 ,32)
sprite_sheet_draw(spr,sub,  8, 8,  4,0,  16 ,32)
sprite_sheet_draw(spr,sub, 16,16,  1,3,  32 ,32)//Third tile.
sprite_sheet_draw(spr,sub,  8, 8,  2,0,  32 ,32)
sprite_sheet_draw(spr,sub,  8, 8,  5,0,  40 ,32)
sprite_sheet_draw(spr,sub, 16,16,  1,3,  48 ,32)//Fourth tile.
sprite_sheet_draw(spr,sub, 16,16,  2,0,  64 ,32)//Fifth tile.
sprite_sheet_draw(spr,sub, 16,16,  2,0,  80 ,32)//Sixth tile.
sprite_sheet_draw(spr,sub,  8, 8,  3,0,  88 ,32)
sprite_sheet_draw(spr,sub, 16,16,  2,0,  96 ,32)//Seventh tile.
sprite_sheet_draw(spr,sub,  8, 8,  3,1,  104,40)
sprite_sheet_draw(spr,sub, 16,16,  2,0,  112,32)//Eighth tile.
sprite_sheet_draw(spr,sub,  8, 8,  2,1,  112,40)
sprite_sheet_draw(spr,sub, 16,16,  2,0,  128,32)//Ninth tile.
sprite_sheet_draw(spr,sub,  8, 8,  2,0,  128,32)
sprite_sheet_draw(spr,sub, 16,16,  1,0,  144,32)//Tenth tile.
sprite_sheet_draw(spr,sub,  8,16,  4,0,  144,32)
sprite_sheet_draw(spr,sub, 16,16,  1,0,  160,32)//Eleventh tile.
sprite_sheet_draw(spr,sub, 16, 8,  2,0,  160,32)
sprite_sheet_draw(spr,sub, 16,16,  1,0,  176,32)//Twelfth tile.
sprite_sheet_draw(spr,sub,  8,16,  5,0,  184,32)
/*/
sprite_sheet_draw(spr,sub, 16,16,  1,0,  0  ,48)//Fourth row, first tile.
sprite_sheet_draw(spr,sub, 16, 8,  2,1,  0  ,56)
sprite_sheet_draw(spr,sub, 16,16,  1,0,  16 ,48)//Second tile.
sprite_sheet_draw(spr,sub,  8, 8,  4,0,  16 ,48)
sprite_sheet_draw(spr,sub,  8, 8,  5,1,  24 ,56)
sprite_sheet_draw(spr,sub, 16,16,  1,0,  32 ,48)//Third tile.
sprite_sheet_draw(spr,sub,  8, 8,  5,0,  40 ,48)
sprite_sheet_draw(spr,sub,  8, 8,  4,1,  32 ,56)/*/
sprite_sheet_draw(spr,sub, 16,16,  1,0,  48 ,48)//Fourth tile.
sprite_sheet_draw(spr,sub,  8, 8,  4,0,  48 ,48)
sprite_sheet_draw(spr,sub, 16,16,  1,0,  64 ,48)//Fifth tile.
sprite_sheet_draw(spr,sub,  8, 8,  4,1,  64 ,56)
sprite_sheet_draw(spr,sub, 16,16,  1,0,  80 ,48)//Sixth tile.
sprite_sheet_draw(spr,sub,  8, 8,  5,1,  88 ,56)
sprite_sheet_draw(spr,sub, 16,16,  1,0,  96 ,48)//Seventh tile.
sprite_sheet_draw(spr,sub,  8, 8,  5,0,  104,48)
sprite_sheet_draw(spr,sub, 16,16,  1,2,  112,48)//Eighth tile.
sprite_sheet_draw(spr,sub,  8, 8,  0,2,  128,48)//Ninth tile.
sprite_sheet_draw(spr,sub,  8, 8,  0,7,  128,56)
sprite_sheet_draw(spr,sub,  8, 8,  5,2,  136,48)
sprite_sheet_draw(spr,sub,  8, 8,  5,7,  136,56)
sprite_sheet_draw(spr,sub,  8,16,  0,2,  144,48)//Tenth tile.
sprite_sheet_draw(spr,sub,  8,16,  5,2,  152,48)
sprite_sheet_draw(spr,sub, 16, 8,  1,2,  160,48)//Eleventh tile.
sprite_sheet_draw(spr,sub, 16, 8,  1,7,  160,56)
sprite_sheet_draw(spr,sub, 16,16,  0,0,  176,48)//Twelfth tile.

Code: (tileset_create(sprite,subimage)) [Select]
/***************************************************
  tileset_create(sprite,subimage)
 
  Create's a new autotile tileset for use with g23_autotile.
  This is heavily based off of Ace's rpgmaker_char() script.
 
  Credit goes to Fruckert for figuring all of this shite out
  And to Ace for making the base.
 ***************************************************/

var newback;

draw_tileset(argument0,argument1)

newback = background_create_from_screen(0,0,192,64,false,false)
//background_save(newback,"Test"+string(NUMBER)+".png")
//NUMBER += 1

return(newback)
[/spoiler]