[XP] Heretic's Collection of Art and 100% Compatible Scripts

Started by Heretic86, November 26, 2013, 09:22:35 am

Previous topic - Next topic

KK20


Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

RedHorse

I uploaded a screenshot, it get started and thats it, black screen and when you click on the test screen window freezes.

KK20

No idea then. I downloaded the demo and it ran fine. Other than doing this:
Quote
NOTE: If you have trouble opening the Demo from the Editor, you can change the version by editing Game.ini Library=RGSS102E.dll or what ever you need to suit your version of RPG Maker.  You can also edit Game.rxproj with Notepad and change RPGXP 1.02 to suit your version of RPG Maker.

I made no other changes.

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

Heretic86

Black screen with no Error Messages, and NO other changes to it, hmm...

You can disable entire scripts by putting "__END__" at the very top line.  Dont put any spaces or ANY other characters after the last _ character.

Try disabling the Animated Title Scene script by using that "__END__" code and see if that does anything.

if that doesnt work, also try disabling "Auto Font Install".

The Black Screen is used for a Logo, but is actually a MAP.  The MAP is called "Title Map Animated - All Black".  You should be able to change Tilesets to draw on that map and see if anything there changes that first screen.

Also, are you running the game and editor with Administrator privileges?  Try right clicking on Game.exe and click on "Run as Administrator".  RPG Maker XP was released when Windows XP was the main operating system, and it doesnt play quite as nice with newer versions of windows.  So, just out of curiosity, what version of Windows are you running?

---

Update News:

Im scripting again!  I have a few ideas for some new scripts.  They may or may not work, but seems like they are coming along so far.  Im working on a PLATFORMS script that will allow Characters to do things like walk on a floating island to cross impassable areas.

Would anyone be interested in a Moving Platforms script, or any other requests?
Current Scripts:
Heretic's Moving Platforms

Current Demos:
Collection of Art and 100% Compatible Scripts

(Script Demos are all still available in the Collection link above.  I lost some individual demos due to a server crash.)

schmoggi

Hi Heretic86,

Quote from: Heretic86 on March 22, 2016, 06:17:13 pm

Update News:

Im scripting again!  I have a few ideas for some new scripts.  They may or may not work, but seems like they are coming along so far.  Im working on a PLATFORMS script that will allow Characters to do things like walk on a floating island to cross impassable areas.

Would anyone be interested in a Moving Platforms script, or any other requests?


Oh, and there i thought this Day could not get any better  8). A "Moving Platforms" Script would be a Dream! I waited and searched so long for this. But there is nothing alike for our beloved XP :/ ... eh, well not 100% true. I saw a Script, worked fine, but it was bound to a pixel moving Script with inbuild Jump System. At first, such Systems does make sense in combination with moving Platforms but some (like me) like to give Players only the Possibility to jump (to other Platforms) at specific Points/Positions. Furthermore the "Moving Platforms" Script should be independently so People can decide on their own if they stay with the standard 32x32 Tile Movement or go with 16x16/8x8/... and so on.
So in short ... yes there is a lot interest, at least from my Side! A "Moving Platforms" Script in a "basic" form, means totally independently would be great. If you could customize it in the way, telling via some configuration Lines in the Scripts self what a Movement System you use so it can adapt to it would be awesome!

By the Way ... if you already asking for other requests:

I don't know if you remember, i started a Request some Time ago about Z Layers etc.

http://forum.chaos-project.com/index.php/topic,15059.msg191893.html#msg191893

Though it is outdated (did an Update in other Places), i had to realize that it was a doomed Dream, at least with the standard Tilemap Class and much Effort would be needed and so on. So i made up my Mind a while ago and canceled completely the realistically drawing Part of the Sprites. I changed my plans and decided to go only with the "Z Terran Tag" Thing. I don't want to bother you with the long (old) Thread so i sum up my Idea(s):

1. A Script for a local Variable for Events and Player which can store a Value (in my Case it would be the Z Level). It seems there is already a Script out there (here) which can do that though. So, maybe that wouldn't be needed anymore:

http://forum.chaos-project.com/index.php/topic,5357.0.html

2. A Script which gives the Possibility to give specific Tile ID's in your Tileset more than just one Value, independently . So, for Example, one Tile in your Tileset could have the Value "1" and "2". Pretty much like Terrain Tags. Difference here is, a Tile ID can have different Values at the same Time. This should not override or replace the standard Terrain Tag System but instead advance it.
There are Scripts out there which handles "unlimited" Terrain Tags. As much as i understand them, the Values are stored in an Array with a specific Name. But there is still only one Value for one Tile ID. So to make this happen, in theory, i guess there could be more some sort of multiple Arrays with differents Names. Through this a Tile ID could have different Values, stored in different Arrays and you could refer to one or multiple Arrays in Conditions with the help of the individual Names.

Furthermore, i would have two little additions which relate to both Requets and make it complete:

A "negative" collision and trigger check for specific Events (e.g. Commment or Character in Event Name) and Player when they have different Values stored in the local Variable. So, no blocking or triggering between them when the Values are different. Maybe customization for enabling/disabling only collision or trigger check but thats just optional.
Furthermore when that specific Events and our Player are moving towards Tile ID's with a different Value (customization which Array should be checked) than their own, stored in the local Variable, their local Variable Value should change to the Value from the Tile ID's they are moving toward.

greetz 

Heretic86

Well, Moving Platforms is coming along with some degree of success.  I didnt have too much of a choice but to make it dependent on Modular Passable tho.  Its probably gonna take some time in order to maintain compatability with other scripts.  I dont think I'll be able to do partial steps tho because it would decrease compatability severely, but is possible.  I tried to leave the stuff to be as open and as compatabile as I possibly could.  The SDK sucks.  We all know this.  But one thing that the SDK never did was to allow any changes to the definitions of Passable.  Thats what gave birth to the idea of Modular Passable.  Modular Passable is basically like the SDK but only for two very important methods in our scripts.  And I've written quite a few scripts that enhance the movements of characters that all work together.  It allowed for Stairs and Downhill Ice to work together, as well as Looping Maps, a Collision Optimizer (performance), Vehicles, Mirror Movement, Hotfoot Tiles, NPCs on Event Tiles, and a couple more that Im now working on, which will include Moving Platforms!  So yes, you can have Stairs and Moving Platforms, or just Stairs or just Moving Platforms, but for them to work together, they need Modular Passable.  Modular Passable by itself doesnt do anything.  Putting the script in your game and you wont notice any other changes.  Modular Passable is a framework that allows other scripts to alter behaviors with compatability.

I do recall having read your request for Z-Index stuff.  I was able to achieve something similar to your requested effects with some clever eventing.  Z-index stuff, like having different enemies on different layers, thats a small part of what I already did in the Modular Passable packages, and I did specific Z-Index stuff in several scripts.  The caterpillar has some Z-Index controls, but also so does NPCs on Event Tiles and Restrict Tile Passages.  The whole point of all the Modular Passable scripts was to give everyone as much control over everything as I could incorporate. 

But I did do a bit more thinking about what you were saying.  What I came up with seemed to work okay.  It can be achieved with both Event Tiles by swapping Event Pages, and can be achieved by getting direct access to the tiles themselves.  Events is way easier, but limited in scope, but swapping tiles creates an Illusion.  If you duplicate a set of graphics in your tilesets, you can give them different passages and priorities, even though they look exactly the same to the Player.  So what Im thinking is you have a map with at least two "Levels", a top and a bottom.  While on the bottom, a player can walk under or behind some of the terrain, but on the top layer, those passages are totally different and allow walking around on all parts of the top layer.

Im pretty sure I understand givng a tile two sets of graphics, but that gets two deep into the graphics class to be able to do.  However, there is another way to do it.  Keep the graphic the same and give each Character a different set of responses to that same graphic.  That is exactly what my Restrict Tile Passages script does.  It doesnt just block, but allows movements also.  So you can have one NPC walk on water, while another character is not allowed to move on water.  You dont even have to change the passages in the database, so it is very character specific.  Every event can be customized!  You can set Wildlife to only move on Grass Tiles (with those tile IDs in an Array), or a Human NPC to only move on Road Tiles, but not grass!  Being able to customize which characters (both Player and Events) is what allowed me to create a Vehicles script that allows the Player to move on Water or Lava, while NPC characters that move around at random wont be able to step on water or lava.  So we dont need to do anything to the graphics, just monkey with each character.  I tried to set this up to be as easy as I could make it.  In the top ten lines of list of event commands, just put in one of three comments with an array of Tile IDs.  \tile_allow_move[1] would allow an Event to move on a Water Tile if your first Autotile is water and normally unpassable.  \tile_only_move[1] would be appropriate for a fish in water.  \tile_no_move[252] might keep an Event from randomly stepping on a specific plant, if that is what tile 252 is.

I did do even more tho.  Events can be both NPCs and Tiles.  By default, NPCs can not step onto other Events, but with my scripts they can!  So you can have a Bridge Event Tile and have an NPC walk on it!  That one is pretty simple: \allow_npc Comment on the Event Tile.  Its configurable so you can auto-allow NPCs to step on Event Tiles.  The scripts also work together so the NPC will step on Event Tiles unless the NPC has a Comment of \tile_no_move[567] and the Event Tile has a Tile ID of 567.  They'll step on everything else.  You can even set Events to move through other Events, but still be restricted by Tiles!  I called that \event_through  So an Event with a Butterfly graphic can fly through other characters, even the player, but cant fly through mountain walls or big trees.  All these things can be applied to the Player as well, but need to be done with script calls.  For example $game_player.tile_no_move = [567,568,569] or in a Move Route Script @tile_no_move = [3,4,6,7,9]; @tile_allow_move = [1];  It gives you as much control as I could give you.

Im not sure I understand "Negative" trigger, but you seem to be familiar enough with scripts and programming in general that I think this explanation will be worth while.  Triggers for each event can be changed with simple Move Routes!  Even though you set the Trigger with the Editor where it says "Action, Player Touch, Event Touch, Autorun and Parallel", its a simple numeric value and that value can be changed as easily as Through can be turned on and off with Move Routes also.  It just requires a script call: @trigger = 0 thru 4.  The default of 0 thru 4 represent each of the default behaviors, where 0 = Action Button, 1 = Player Touch, etc.  The default code says anything higher than 2 is an autorun or parallel and is always updated in its list of event actions, but you can go negative also!  For example @trigger = -1 makes an event Untriggerable!

Anyway, almost everything I talked about has been done in the demo except for the stuff I havent worked in yet.  Many solutions are already in place for you, but require some creative thinking.  This script demo will probably take you HOURS to check out every feature because there are literally that many things I've done.  It is a massive training session, and EVERY script is nearly fully explained and given fully functional examples!  The things that I havent put in yet, I am now working on, and have numerous ideas.

Its almost sad when my Script Demo is bigger and more in depth than many games, and yes, there is even a part that lets you experience some actual gameplay with a Boss and everything!  An actual Boss Battle in a Demo?  Who'd have thunk it?
Current Scripts:
Heretic's Moving Platforms

Current Demos:
Collection of Art and 100% Compatible Scripts

(Script Demos are all still available in the Collection link above.  I lost some individual demos due to a server crash.)

schmoggi

Quote from: Heretic86 on March 24, 2016, 09:27:02 pmSo yes, you can have Stairs and Moving Platforms, or just Stairs or just Moving Platforms, but for them to work together, they need Modular Passable.  Modular Passable by itself doesnt do anything.  Putting the script in your game and you wont notice any other changes.  Modular Passable is a framework that allows other scripts to alter behaviors with compatability.


That is totally fine with me. I'm planning to use some Scripts from your Collection Art anyway and i felled in love especially with the Modular Passable and the Possibility it provides like the "restricted Tile Passage" and "event through event but no tileset" part. Makes Life much easier :). With independently i actually just ment to not combine it with other Scripts or Functions which alters your Movement Behavior, i you like or not. Thats all. If you like, i could provide you the other Moving Platforms Script i talked about so you can have a Glance at it.

Quote from: Heretic86 on March 24, 2016, 09:27:02 pm
But I did do a bit more thinking about what you were saying.  What I came up with seemed to work okay.  It can be achieved with both Event Tiles by swapping Event Pages, and can be achieved by getting direct access to the tiles themselves.  Events is way easier, but limited in scope, but swapping tiles creates an Illusion.  If you duplicate a set of graphics in your tilesets, you can give them different passages and priorities, even though they look exactly the same to the Player.  So what Im thinking is you have a map with at least two "Levels", a top and a bottom.  While on the bottom, a player can walk under or behind some of the terrain, but on the top layer, those passages are totally different and allow walking around on all parts of the top layer.


Exactly, that is what i talked about in the first Point back then. Add the Drawing Part and you have a real Elevation System. But like i said, i dropped that Thing back then after i realized there is no chance realize the Drawing Part with the standard Tilemap Class. And without the Drawing Part there is no Point to talk about the other stuff because the Illusion of different Z Levels is broken. The Thing is, i can easily build a Eleveation System through swapping Event Pages or through swapping the Tiles on the Map directly with the Help of some Script Commands right now, even without the Additions of the Collection Art. The Problem is and was back then, this would only apply to either the Events or the Player but not both at the same Time! Look here:

The Characters are on different Z Levels, so they can not interact with each other and are drawn behind or above the Tiles, depending on their actual Z level, at the same Time. Sadly, not possible (right now), at least the drawing Part, so i dropped it and changed my Plans. Situations like this one are not possible anymore because Cliff Tiles like the one on the Pic have no higher Priority and are only passable from one side (pretty standard). The "Logic" for the Z Levels are still there though and that is the Reason for the "give Tile ID's multiple Values" Script or just call it "Z Terrain Tags". It could be easily done with the standard Terrain Tag System but then you have no Terrain Tags anymore for other Things and "unlimited Terrain Tags" Scripts don't help because Tiles can still only hold one Value per Time. In short, there is need of more than just one Terrain Tag System which all work independently and don't override eatch other Values.

Quote from: Heretic86 on March 24, 2016, 09:27:02 pm
Im not sure I understand "Negative" trigger, but you seem to be familiar enough with scripts and programming in general that I think this explanation will be worth while.  Triggers for each event can be changed with simple Move Routes!  Even though you set the Trigger with the Editor where it says "Action, Player Touch, Event Touch, Autorun and Parallel", its a simple numeric value and that value can be changed as easily as Through can be turned on and off with Move Routes also.  It just requires a script call: @trigger = 0 thru 4.  The default of 0 thru 4 represent each of the default behaviors, where 0 = Action Button, 1 = Player Touch, etc.  The default code says anything higher than 2 is an autorun or parallel and is always updated in its list of event actions, but you can go negative also!  For example @trigger = -1 makes an event Untriggerable!


Thank you Sir, i didn't even know that is possible. You can learn every Day :).

But, i guess "negative" Trigger was not clear enough. I mean Events and Player with a different Value in their local Variable can not interact (triggering) and do not block each other when moving, but this only applies to Characters with different Values. So, for example two NPC's with the same Value interact with each other as they would normally do.

greetz

Heretic86

Well, I got a small something working...

MOVING PLATFORMS



Its VERY buggy since I've only spent about 2 days working on it so far.  None the less, functional concept!  Im sure there are people interested in seeing what is happening, so here is my Prototype!

DOWNLOAD: Prototype Demo

Get used to hitting F12!

I put some comments in there to explain the overall concept.  Im sure the majority of this will be rewritten.  What Im curious to see is if any other scripters would be interested in writing their own version, which I gave a brief description of how to do.

Anyway, whaddya think so far?
Current Scripts:
Heretic's Moving Platforms

Current Demos:
Collection of Art and 100% Compatible Scripts

(Script Demos are all still available in the Collection link above.  I lost some individual demos due to a server crash.)

orochii

I was actually thinking about making one myself for my game some days ago. Now I think I'm maybe using this xD.

How usable is it right now? I could lend a hand in testing at least. But depending I would need to adapt it to work with my game since I've made a lot of changes everywhere, and so I'm not sure if my testing would help you.

I'm going to give it a try anyway. Or at least take a look at it.

schmoggi

Looking fine so far, Heretic!

I get sometimes an endless loop of Aluxes moving Animation on the Platform when trying to move in the opposite direction the Platform is going. But i can not reproduce it, seems pretty random. Otherwise it is usable, respect for this short amount of Time. Looking forward for the "getting on Platforms while they are moving". While testing i think i realized why the other Platform Script has an inbuild pixel Movement.
When heading in the opposite Direction the Platform is moving, you get this "strange" and "slow" feeling of Movement. I don't know if you will fix that or it is there because we have a 32x Tile Movement. Furthermore i don't know how "getting on Platforms while they are moving" can be achieved with our Tile Movement. I think there would be a Problem with synchronization the Position of the Player, based on the Tile Movement, when e.g. jumping on a moving Platform. It would result in an offset of x/y and the Player would not be anymore in the Grid itself.

greetz

Heretic86

Quote from: orochii on March 27, 2016, 12:47:14 pm
I was actually thinking about making one myself for my game some days ago. Now I think I'm maybe using this xD.

How usable is it right now? I could lend a hand in testing at least. But depending I would need to adapt it to work with my game since I've made a lot of changes everywhere, and so I'm not sure if my testing would help you.

I'm going to give it a try anyway. Or at least take a look at it.


What changes just out of curiosity?

Custom changes that you do are fine too.  I know they are necessary, so they are permitted.  I didnt put any legal stuff on this yet, but it will be allowed anyway.

Right now, it definitely isnt ready to be put into a game because it can cause the player to get completely stuck, but semi fun to play with. 

---

Quote from: schmoggi on March 27, 2016, 01:28:49 pm
Looking fine so far, Heretic!

I get sometimes an endless loop of Aluxes moving Animation on the Platform when trying to move in the opposite direction the Platform is going. But i can not reproduce it, seems pretty random. Otherwise it is usable, respect for this short amount of Time. Looking forward for the "getting on Platforms while they are moving". While testing i think i realized why the other Platform Script has an inbuild pixel Movement.
When heading in the opposite Direction the Platform is moving, you get this "strange" and "slow" feeling of Movement. I don't know if you will fix that or it is there because we have a 32x Tile Movement. Furthermore i don't know how "getting on Platforms while they are moving" can be achieved with our Tile Movement. I think there would be a Problem with synchronization the Position of the Player, based on the Tile Movement, when e.g. jumping on a moving Platform. It would result in an offset of x/y and the Player would not be anymore in the Grid itself.

greetz


Thanks!

Okay, movement works like this, as you may already know:

distance = 2 ** @move_speed

I had to change that to this:

x_dist = y_dist = 2 ** @move_speed
# Set X and Y distance to 0 if direction is not relevant
case @platform_move_direction
when 4, 6 # Left and Right
  y_dist = 0
when 2, 8 # Up and Down
  x_dist = 0
end

When the Platforms move, they use the original method, which works fine.  Speed comes out to a real value of 9 with a speed of 3 and 16 with a speed of 4.  I understand that feeling of "slow movement" because of  the screen scrolling.  Adjustments made cause the screen to scroll at a real speed of 7 since 16 - 9 = 7.  If the platform moved the same speed, it wouldnt be just slow, it would be no scrolling at all!  Im not sure what I can do about that since the screen always centers the player.

While getting on and off platforms, and changing between two different groups, the whole Platform Group will stop moving until "boarding" and "unboarding" is complete.  Im not sure if this is a good way to do this.  I didnt want the platform to move away from a characters position until they were fully on that platform.  It just broke the illusion.  So far, I sort of set it up so while boarding, a platform wont move at all, it wont even update its Wait counter!  What I wanna do, not fully working, is allow two platform groups to be evented so they end up next to each other, then characters can transfer between them without either platform taking off prematurely.

Current way they are set up is so you cant get on or off a Platform unless they have been given a Wait command!  You can (sort of) walk between Tile Groups tho.
Current Scripts:
Heretic's Moving Platforms

Current Demos:
Collection of Art and 100% Compatible Scripts

(Script Demos are all still available in the Collection link above.  I lost some individual demos due to a server crash.)

schmoggi

Quote from: Heretic86 on March 27, 2016, 06:35:17 pm
Thanks!

Okay, movement works like this, as you may already know:

distance = 2 ** @move_speed

I had to change that to this:

x_dist = y_dist = 2 ** @move_speed
# Set X and Y distance to 0 if direction is not relevant
case @platform_move_direction
when 4, 6 # Left and Right
  y_dist = 0
when 2, 8 # Up and Down
  x_dist = 0
end

When the Platforms move, they use the original method, which works fine.  Speed comes out to a real value of 9 with a speed of 3 and 16 with a speed of 4.  I understand that feeling of "slow movement" because of  the screen scrolling.  Adjustments made cause the screen to scroll at a real speed of 7 since 16 - 9 = 7.  If the platform moved the same speed, it wouldnt be just slow, it would be no scrolling at all!  Im not sure what I can do about that since the screen always centers the player.


I think, i get it now. I played a little more with it and did not think about the movement speed of the Platforms at first, so i changed their Speed from 2 to 3 and then to 4 (same Speed as Player). With every increase that "slow movement" fades away, of course. But the correct movement (x/y position) while going in the opposite Direction is messed up then (with every increase).

Quote from: Heretic86 on March 27, 2016, 06:35:17 pm
While getting on and off platforms, and changing between two different groups, the whole Platform Group will stop moving until "boarding" and "unboarding" is complete.  Im not sure if this is a good way to do this.  I didnt want the platform to move away from a characters position until they were fully on that platform.  It just broke the illusion.  So far, I sort of set it up so while boarding, a platform wont move at all, it wont even update its Wait counter!  What I wanna do, not fully working, is allow two platform groups to be evented so they end up next to each other, then characters can transfer between them without either platform taking off prematurely.

Current way they are set up is so you cant get on or off a Platform unless they have been given a Wait command!  You can (sort of) walk between Tile Groups tho.


It would be very hard, even imposibble, anyway to set up the possibility for Platforms to move avay while Characters/Player are moving on the Platform with the Restriction of Tile Movement like we have it now. Like you said, it brakes the illusion but also brakes the right Positions from the Characters. Guess, that kind of Thing needs pixelmovement. So being able to only move on Platforms while they are on hold and Platforms only moving again when Characters/Player is finished with the "move on Platform" process is fine.

I do not know if you thought about it, but i also noticed, making some changes in the Platform Events after you set them up (Speed, Route) could be a bit annoying, especially when you have more and bigger Plaform Groups on your Map. An Idea to avoid that and make it more comfortable would be, to control and set up whole Platform Groups with only one Command/Event. In this case, you would ony need to change the Sprite (if needed) when changing something.
An Alternative could be, but i don't know if thats possible and even fit into the Platform Script, to have only one Event with the whole Platform Sprite
(obviously a character then) and somehow tell the system that this Character is logically bigger than just one 32x32 Event and have custom passabilites in that Range of x/y Values the Sprites is being displayed.

greetz

Heretic86

@schmoggi

I cant do collisions larger than 32 x 32 without severiously compromising compatability.  Any script that could would most likely be ADHOC and almost completely incompatible with everything else due to how much core stuff would need to be replaced.  Anyone else thats tried to do Collision Checking would probably be able to verify this, but may have some clever ideas.

---

One Platform to Rule Them All

Thats a good idea.  Since platforms are being set up to work in "Groups", I can do something like @>Comment: \platform_master[1]  then just have all the rest of the Platforms of the same Group set to Custom Move Route, but leave the Move Route itself blank, then I'll try to take care of the rest.

---

General

Great progress so far!  Collisions now work almost perfect, and Im now working in Looping Maps, so I'll have to redo a couple of Redefinitions and Aliases.  Collisions are perfect with non looping maps, but I need to round some stuff to make it work with Looping Maps.  The earliest version was glitchy as all hell and I figured that out.  Since I needed Collision Optimizer, I wasnt updating the Event Coordinates after Platforms moved the Events, causing some collision detection failures.  That is now fixed.  But after that, there is still more stuff to do, such as Event Pages and moving the Events and Player onto Platforms.

Moving Platforms is coming!   8)
Current Scripts:
Heretic's Moving Platforms

Current Demos:
Collection of Art and 100% Compatible Scripts

(Script Demos are all still available in the Collection link above.  I lost some individual demos due to a server crash.)

schmoggi

Nice to hear, i can't wait for it :).

I would love if you post another, advanced Demo to see the Progress when you have time :).

greetz

Heretic86

Quote from: schmoggi on April 01, 2016, 03:41:09 am
Nice to hear, i can't wait for it :).

I would love if you post another, advanced Demo to see the Progress when you have time :).

greetz


For Platform Development, lets switch this over to this thread:
http://forum.chaos-project.com/index.php/topic,15371.0.html

Im posting some new code in it right now.
Current Scripts:
Heretic's Moving Platforms

Current Demos:
Collection of Art and 100% Compatible Scripts

(Script Demos are all still available in the Collection link above.  I lost some individual demos due to a server crash.)

schmoggi

I've got one Question regarding alternatve Movement Scripts:

In your Modular Passable Script it is stated

Quote# -----  Compatability  -----
#
# This script will NOT be compatible with any other script that replaces
# either Game_Map Passable or Game_Character Passable.  If a script replaces
# Game_Event Refresh, that can be fixed by putting the entire Game_Event class
# below the conflicting script, but leave Game_Map and Game_Character classes
# in this script above other user created scripts, except the SDK.
#
# If the nature of other scripts is extremely different, expect problems.  So
# other scripts like Pixel Movement Scripts most likely will be too foreign
# for this script to offer any compatability.  Bananas and Screwdrivers.
#
# This is intended for making the Default Movements more Modular only.


Does this mean, Scripts which alters the Movement of Player/Events have no chance at all or can be made compatible when adapting the Movement Script to the Modular Script?
To be clear, i do not like Pixel Movement in Maker Games. But the standard Movement (32x) can be sometimes too "big", if you know what i mean. Especially, when working with an Action Battle System (Zelda like) like i do, small steps when attacking etc. can look unfortunate. So, i thought a long time ago about it and did a Request for a more precise Movement Script, so Player/Events Movement is reduced to 16 instead 32 pixels. Fortunately, someone called delura was so nice to create such a script and with it you can customize the Movement from 32 down to 16, 8 and 4 pixels.
This means, i have this Script lying around and originally planned to use it. Did a Test with the Modular_Passable Scripts and, of course, it did not go so well. Well, it works but things like diagonal Stairs (lite and delxue) are not recognized anymore and who knows what else. Anyway, in short, Is it worth starting a Request to ask someone with enough time for making it compatible with the Modular_Passable Script or is it an already doomed plan and I'll have to stay with standard Movement?

greetz

Heretic86

I doubt it would work, or if it did, it would just take a lot more time than Im willing to put in.  I have a life outside here.

I'll try to explain what I mean by "replacing" methods.

def foo
return bar
end

def foo
return taco
end

Thats a Replacement


This is an "Alias"

def foo
  return 1
end

alias my_foo foo unless $@
def foo
  #Call Original
  result = my_foo
  return false if result != 1
  # do other stuff
end

That allows multiple scripts to work together.  If Modular Passable is replaced, it wont work, obviously, but I wrote it so it could be aliased heavily.  The following is the basic way the default XP code is written.

def passable
  if @through
  return true
  end
  for event in events
    if not event.through
      return false
    end
  end
  return true
end

There are no methods in the middle of the core that can be Aliased so the only way to modify the behavior is to replace it completely.  The way I wrote Modular Passable was semi SDK style

def passable
  return true if my_method
  return false if my_method2(arg)
  return false if method_to_check_events
  return true
end

The way that is written lets you change the way "my_method2" for example works, and alter its results without having to replace the entire definition.

---

I do know what you mean, I did play the very first Zelda game and remember how it had those smaller "half step" tiles.  It was one of those kind of cool things about the game.  It didnt feel as blocky as XP games do.  Anyone can use Modular Passable to write scripts that do whatever they want and hopefully be compatible.  As long as the two main methods arent replaced, and they stick with Aliases as much as possible, whatever they write should hopefully work.  I doubt anyone will be able to do anything because so many of my scripts already stick to that default tile movement.  Platforms messes with "moving?" heavily, so it only causes that 32 tile thing to be even harder to change.  Basically, if you are on a platform, moving is determined if you are at the same X and Y as the event and it doesnt care about the tile restrictions.  The 32 tile thing is still there, however it is constrained by relational positions to the platform, just not the grid.  But after you step off of a platform, it goes back to the normal way of checking how far a character can move.  The thing is, collisions with that much complexity are a logistical nightmare without a grid.  Imagine playing chess with no grid and allowing any chess piece to move anywhere, no restrictions at all.  It would just be a mess for the average people to figure out.  Collisions without the XP grid of 32 pixles per tile means that an already inefficient engine would have twice as much work to do.  But, it would be neat looking!

You could post a request for a script of that type, but I dont think Modular Passable has caught on as I kinda hoped it might so I doubt anyone has the experience with that particular script to fulfill such a request.  Hopefully Im wrong tho!

---

Aside from that, I was able to get Stairs and Platforms working together, but it came at a price: have to put Platforms script below Stairs.  I dont think its that bad of a restriction tho, but one I have in general tried really hard to avoid whenever possible.
Current Scripts:
Heretic's Moving Platforms

Current Demos:
Collection of Art and 100% Compatible Scripts

(Script Demos are all still available in the Collection link above.  I lost some individual demos due to a server crash.)

Heretic86

UPDATED!

Added 3 Scripts!

  • - Moving Platforms (Final, hopefully, legal restrictions removed, should be perfectly stable)

  • - Zeus Video Player - Play MOVIES in RMXP finally!

  • - Advanced Camera Control System - You'll have to see the Demo Map to understand what it does.  Also, change Map Width and Height on the fly!



I would appreciate some feedback on the new scripts!

The Demo Maps can be found on the big map with all the caves.  Follow the BOATS to get to this map and just read the signs.  I tried to guide you to Boats, but the Caves on that same map are the ones with the Demos of the New Scripts!

Sorry, there is just so much content, but thats a good thing too!

If I dont get any negative feedback, such as bugs, I'll update the original post in this thread in a few days.  So, basically, beta testing!

Version 2.1
http://downloads.chaos-project.com/heretic86/HereticsCollectionVer2.1.7z

Edit: New version, apparently the self extractor doesnt like to self extract the movies.  :p
Current Scripts:
Heretic's Moving Platforms

Current Demos:
Collection of Art and 100% Compatible Scripts

(Script Demos are all still available in the Collection link above.  I lost some individual demos due to a server crash.)

schmoggi

I checked the new Collection with the new Demo(s) and it is wonderful. Specially the Advanced Camera Control System is a very nice addition, no to mention the Moving Platforms (i love it). You put some nice explanation in there and i find it very outstanding, that your collection Project outmatches a lot of Game Projects out there when it comes to detail love although it is "just" a Project demonstrating your beautiful Script Collection. Thank you!

greetz

Heretic86

Quote from: schmoggi on April 23, 2016, 08:19:57 am
I checked the new Collection with the new Demo(s) and it is wonderful. Specially the Advanced Camera Control System is a very nice addition, no to mention the Moving Platforms (i love it). You put some nice explanation in there and i find it very outstanding, that your collection Project outmatches a lot of Game Projects out there when it comes to detail love although it is "just" a Project demonstrating your beautiful Script Collection. Thank you!

greetz


Makes me feel good to hear that!

I gave it a very minor update, had a few Event bugs that I didnt like, but no script changes.

If you like it that much, perhaps do a Video Review of it on YouTube?  I think this works best if done in your native language and not by be so the video is seen more objectively by viewers.  I know there are some Event Bugs deep inside that I've never figured out, but considering the size of this monster, I think that is to be expected.  Im not perfect despite my best efforts to get as close as can be achieved.

I've put literally years of work on and off into creating this package to support the community.  Would anyone be interested in doing a Video Review on YouTube?
Current Scripts:
Heretic's Moving Platforms

Current Demos:
Collection of Art and 100% Compatible Scripts

(Script Demos are all still available in the Collection link above.  I lost some individual demos due to a server crash.)