[XP] Continuous Maps

Started by Blizzard, December 14, 2009, 06:25:25 pm

Previous topic - Next topic

Blizzard

December 14, 2009, 06:25:25 pm Last Edit: March 23, 2019, 07:46:12 am by Blizzard
Continuous Maps
Authors: Blizzard
Version: 1.5
Type: Custom Map System
Key Term: Environment Add-on



Introduction

This Script will allow you to make the game simulate a continuous map using smaller maps. The system displays the current map and the neighbor maps. Walking over a map border will cause the new map to be loaded as main map and the neighbor maps will be changed.

This work is licensed under BSD License 2.0:
Quote
Copyright (c) Boris "Blizzard" Mikić
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1.  Redistributions of source code must retain the above copyright notice,
    this list of conditions and the following disclaimer.

2.  Redistributions in binary form must reproduce the above copyright notice,
    this list of conditions and the following disclaimer in the documentation
    and/or other materials provided with the distribution.

3.  Neither the name of the copyright holder nor the names of its contributors
    may be used to endorse or promote products derived from this software
    without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.


You may use this script for both non-commercial and commercial products without limitations as long as you fulfill the conditions presented by the above license. The "complete" way to give credit is to include the license somewhere in your product (e.g. in the credits screen), but a "simple" way is also acceptable. The "simple" way to give credit is as follows:
Quote
Continuous Maps licensed under BSD License 2.0, Copyright (c) Boris "Blizzard" Mikić


Alternatively, if your font doesn't support diacritic characters, you may use this variant:
Quote
Continuous Maps licensed under BSD License 2.0, Copyright (c) Boris "Blizzard" Mikic


In general other similar variants are allowed as long as it is clear who the creator is (e.g. "Continuous Maps created by Blizzard" is acceptable). But if possible, prefer to use one of the two variants listed above.



Features


  • virtually creates one continuous map from any number of map fragments
  • easy to configure

v1.2

  • fixed bug where transferring into a non-configured map would crash the game
  • fixed bug when teleporting into another set of maps would mess up everything

v1.3

  • added compatibility with Tons of Add-ons' Catepillar

v1.4

  • fixed crash caused by compatibility fix with Tons of Add-ons' Catepillar
  • added code for proper fog handling

v1.41

  • fixed bug with Blizz-ABS enemy positions

v1.5

  • added new license
  • added usage and crediting instructions




Screenshots

Spoiler: ShowHide

Spoiler: ShowHide

Spoiler: ShowHide




Demo

Continuous Maps


Script

Just make a new script above main and paste this code into it.
Script Download


Instructions

Inside the script in the first comment.


Compatibility

95% compatible with SDK v1.x. 80% compatible with SDK 2.x. WILL corrupt old savegames. Compatible with Blizz-ABS. Compatible with Tons of Add-ons' catepillar. Not compatible with Intelligent Passability from Blizz-ABS, it's being turned off. Not compatible with Blizz-ABS's caterpillar.


Credits and Thanks


  • Boris "Blizzard" Mikić



Author's Notes

If you find any bugs, please report them here:
http://forum.chaos-project.com

That's it! N-Joy! =D
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Aqua


Blizzard

Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

G_G

wow this is really what I needed, I'm terrible at mapping and can make decent small maps, now I can make several small maps and link them together

Blizzard

And I'm planning to improve it as well. I'll add an option to load only the border of neighbor maps rather than loading the entire neighbor map to reduce lag. And I'll add a segmentation option for big maps. It will treat the big map as if it was composed of many small maps. This will also reduce lag. <3
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

C.C. rOyAl

Blizz, you are the best person EVA
Spoiler: ShowHide

winkio

Hey blizz, I had an idea kinda similar to this a while ago, and wanted to know if it was possible:  Only loading small portions of a big map at a time, specifically, only what is in ABSEAL range.  My thoughts were that it would probably cause even more lag because the only way that I could see to do it would be to load to region into a new map each time the screen moves =/

Aqua

Quote from: Blizzard on December 14, 2009, 06:43:07 pm
And I'm planning to improve it as well. I'll add an option to load only the border of neighbor maps rather than loading the entire neighbor map to reduce lag. And I'll add a segmentation option for big maps. It will treat the big map as if it was composed of many small maps. This will also reduce lag. <3


Errr... Is that what segmentation is? :P

If not...
In CP the game, Blizz has a way of only loading the parts of the map to where you can travel.  It's so cool :o

Ryex

do you come up with a way for it to be compatible with RMX-OS?  :naughty:
I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />

Blizzard

Making it compatible with RMX-OS would require to change the server itself and I'm not going to do that.

@winkio: Like Aqua said, that's what I meant with map segmentation. :)
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

winkio

okay.  I didn't know if that meant chopping it up into small maps with small neighboring maps, or dynamically loading the map inside an area.

element

Yay ! no more transfer events !
blizz rules !  :evil:

Blizzard

Well, this doesn't substitute map transfer events as you can't really combine different tilesets except if you use multiple tilesets in the same tileset.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Pragz

This looks so cool! I'm definitely going to have to try this out some time. :D

Holyrapid

Ok, help me out here... I can´t get this work in my game. I´m propably just configuring it wrong, so tell me how to properly confirgure this script... I want to use this, since i suck alot at making big maps... small and medium maps i manage...

Blizzard

Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Nerd101

Thanks, I really like this. I may be using RMXP-OS to make a game soon, so this will help me a lot-I suck at mapping-big time.

Ryex

RMX-OS dose not work with this script...
Blizzard said so when I asked him...
I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />

Starrodkirby86

What...I thought you weren't scripting completely new things anymore. Oh well. Delightful surprise. <3

Regardless, such a script like this deserves a very warm welcome. How do events correspond to the map borders? Are they able to cross them?

What's osu!? It's a rhythm game. Thought I should have a signature with a working rank. ;P It's now clickable!
Still Aqua's biggest fan (Or am I?).




Holyrapid

Quote from: Blizzard on December 18, 2009, 12:27:40 pm
There's a demo for reason.

I´m still unable to confirgure it... I´ll take another look, if i´d notice something that would help me...