Charas-Project
Off-Topic => Archive => Resources => Topic started 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:
- Initial Release
- Initial door code set up.
- Door code fixed.
12.14.10:
- Doors nearly done.
- Isometric depth code in place.
12.23.10:
- Autotiling code is in place.
- Re-mapped buttons.
- Looping animation script are done.
[/spoiler]
-
Wow, this sounds like tons of work my Frucking friend.
But if your dedication is this strong then I wish you all luck.
-
I like. Even though it's sparse at the moment.
-
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.
-
RAD
-
'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.
-
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)
-
What does the name mean?
-
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)
-
(http://i143.photobucket.com/albums/r125/fruckert/mspa_face-1.png) indeed.
-
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]
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.
/***************************************************
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]