Gannon8 Posted December 8, 2008 Report Posted December 8, 2008 Hi, another one of my suggestions. It would be nice if the server could define settings for special tiles. Possible attribute could be animation via GIF or tiled images, precise bounce calculations so ships bounce off of non-horizontal/vertical tiles correctly, custom sizes, sound effects, damage, or a server side callback. The attribute would include the position of the tile, such as:SolidFly OverFly UnderTransparentAnd it will stop the "DCME Feature requests" So? Thoughts? Thanks
Hakaku Posted August 15, 2009 Report Posted August 15, 2009 Sorry for the thread bump, but I was wondering how exactly Discretion plans to handle tilesets, how much will the server be able to configure tile attributes, and how easily would a server be able to implement its own defined object/ship to tile reaction? I assume Discretion will eventually be more flexible than Continuum; will it allow larger/smaller defined tilesets? Will tiles still be restricted to 16x16 pixels? In another thread it was proposed the addition of 45 degree angle walls, will Discretion rely on transparency to guess if it's at 45 degrees, or will there be some kind of configuration file sent to the client to tell it that a specific tile has a specific attribute? I think the latter would be very useful, since you could define various tile properties, and the server could still manipulate the tile by overwriting the client's settings. This saves the trouble of specifying certain attributes to certain spots of a predefined tileset. The way I imagine it is sort of like CSS, where tiles can be assigned an id, which is subsequently manipulated in the configuration file. #16 { property: solid; //solid, fly-under(%), fly-over(%) -- objects may pass through but their speed is modified (0: solid, 100:no resistance) visibility: visible; //visible, invisible, transparent(%) property-bomb-left: fly-over(100); energy: none; //none, # } It's just an example, but I do think separating the actual tileset from the tile attributes would be a good idea. Unless Bak had something better in mind?
Bak Posted August 15, 2009 Report Posted August 15, 2009 here's what I currently have in terms of map customizability. Changing most of these is untested, it SHOULD work (give it a try). Also it's not yet sent by the server, which is a simple change. Once people start requesting being able to change it server-side, I'll take the 10 minutes to make the appropriate edits. Please please please try editing these then going to practice offline to check for any bugs in them. conf/Modules/default_oldlvl.conf:; This is the oldlvl configuration file ; Lines begining with ';' are comments, Lines begining with ';;;' are comments about the catagory/setting immediately below them ;;; the old subspace lvl format [oldlvl] ;;; draw the mouse when we're in safe zones? DrawMouseInSafeZones = 1 ;;; the path to the default tileset, if it's not in the .lvl file DefaultTileset = graphics/defaultTileset.png ;;; The size of the map, in tiles. Dimensions: "(w, h)" MapSize = (1024, 1024) ;;; The number of rows and columns in the tileset image. Dimensions: "(w, h)" TilesetFrames = (19, 10) ;;; an individual tiles width/height, Dimensions: "(w, h)" TileSize = (16, 16) ;;; the blank tile's value, this gets placed in every position in the tile that's not defined in the .lvl file TileBlank = 0 ; define special tiles within the tileset ;;; the border tile BorderTile=19 ;;; the safe zone tile(s) SafeZoneTiles=171 ;;; fly over tiles(s) FlyOverTiles=173,174,175 ;;; fly under tile(s) FlyUnderTiles=176,177,178,179,180,181,182,183,184,185,186,187,188,189,190 ;;; tiles where we should treat black as being transparent TransparentTiles=185,186,187,188,189,190 ;;; The Flag Tile numbers FlagTiles = 170 ;;; The goal tile numbers GoalTiles = 172 ;;; The wormhole tile numbers WormholeTiles = 220 ; The tile #s for the doors ;;; a set of tiles that define door #1 Door1=162,163,164,165 ;;; a set of tiles that define door #2 Door2=166,167,168,169 ;;; door animation time, in milliseconds DoorAnimationTime=300 ;Custom Animations / Graphics for tiles ;;; these are tiles which we should not draw, rather they have a custom image as defined in the settings CustomImage=162,163,164,165,166,167,168,169, 170,172,216,217,218,219,220 Tile170 Name = EnemyFlag Tile172 Name = EnemyGoal Tile216 Name = SmallAsteriod Tile217 Name = BigAsteriod Tile218 Name = SmallAsteriod2 Tile219 Name = SpaceStation Tile220 Name = Wormhole ;sizes SmallAsteriod Size = (1, 1) SmallAsteriod2 Size = (1, 1) BigAsteriod Size = (2, 2) SpaceStation Size = (6, 6) [images] FlagPath = flag FlagFrames = (10, 2) GoalPath = goal GoalFrames = (9, 2) SmallAsteriodPath = over1 SmallAsteriodFrames = (15, 2) SmallAsteriod2Path = over3 SmallAsteriod2Frames = (15, 2) BigAsteriodPath = over2 BigAsteriodFrames = (10, 3) SpaceStationPath = over4 SpaceStationFrames = (5, 2) WormholePath = over5 WormholeFrames = (4, 6) [Animations] EnemyFlag Unique Image = Flag EnemyFlag Frame Offset = 0 EnemyFlag Frame Count = 10 EnemyFlag Animation Milliseconds = 1000 FriendlyFlag Unique Image = Flag FriendlyFlag Frame Offset = 10 FriendlyFlag Frame Count = 10 FriendlyFlag Animation Milliseconds = 1000 EnemyGoal Unique Image = Goal EnemyGoal Frame Offset = 9 EnemyGoal Frame Count = 9 EnemyGoal Animation Milliseconds = 1000 FriendlyGoal Unique Image = Goal FriendlyGoal Frame Offset = 10 FriendlyGoal Frame Count = 9 FriendlyGoal Animation Milliseconds = 1000 SmallAsteriod Unique Image = SmallAsteriod SmallAsteriod Animation Milliseconds = 1500 BigAsteriod Unique Image = BigAsteriod BigAsteriod Animation Milliseconds = 1500 SmallAsteriod2 Unique Image = SmallAsteriod2 SmallAsteriod2 Animation Milliseconds = 1500 SpaceStation Unique Image = SpaceStation SpaceStation Animation Milliseconds = 1000 Wormhole Unique Image = Wormhole Wormhole Animation Milliseconds = 2000
Hakaku Posted August 15, 2009 Report Posted August 15, 2009 I'll try to give those a spin later on, but I still think that specifying a tile transparency (for example when you're ship passes under a tile) and speed modification when passing over/under certain tiles could be fun to incorporate (imagine a race or golf map where grass reduces your vehicle and weapon's speed). Though I guess if you expand on how regions handle certain attributes, this could work just as well. Though I also have a few questions/comments with what you have so far: 1. I would change "DrawMouseInSafeZones" to something more broad. What if I wanted to show the mouse at all times? On another tile other than safe?2. Why is there only one border tile? (Would it be possible not to have a map border and have players appear on the opposite side?)3. Why does the goal tile (along with asteroids, wormholes, spacestations, flags...) remain a lvz, yet you have the door spread over multiple tiles?4. What if we want transparency, but not black? (think about non-space themed zones) At least, we should be able to specify the color that we want transparent.5. Is it possible to have more than one door animation time?6. And for error handling, what happens if I specify abnormal values like mapsize 0,-4?
Samapico Posted August 15, 2009 Report Posted August 15, 2009 3. goal, flag and special objects are not lvz's, just bitmaps Also, what he posted reflect the current Continuum way of doing it, I'm pretty sure you could define animations for the doors from an image as well, and use only 1 tile for each door set. 2. just appearing on the other side would be easy enough, but showing what's on both sides if you're standing near the border could be quite a challenge on topic of speedmodifying tiles, I listed 2 types earlier: resistance and speed limit... I'll add a third type: thrust limit (think slippery ice) and yes, this could also be handled with regions... could be much easier, actually. If you want a whole area to be slowed down, you don't want to define duplicate tiles with the same graphics and different speed values...
Bak Posted August 16, 2009 Report Posted August 16, 2009 What if I wanted to show the mouse at all times? There's a key for that, "CTRL + m" right now I think. There might even be a setting somewhere too. for transparency you could overwrite the default tileset setting, then not include a tileset with the map. The default tileset can then be a .png with an alpha channel. For things like slowing down (friction) or speeding up, I think I am going to make a Forces module that will be a generic way to provide this functionality. Probably could even couple it with powerup and such, perhaps safe zones are a specific instance of a region with special properties. Still thinking about it.
Hakaku Posted August 16, 2009 Report Posted August 16, 2009 3. goal, flag and special objects are not lvz's, just bitmaps The bitmaps are client-side. In the current setup, the server needs to send bitmaps compressed into lvz in order to modify the animations. The only exception are doors: to me, it would only make sense that doors be no different from the rest of the animations. This way, all you need to do is specify the image for door#=, which also allows various sized doors.
Bak Posted August 16, 2009 Report Posted August 16, 2009 In the current setup, the server needs to send bitmaps compressed into lvz in order to modify the animations.In continuum you don't need to compress things as lvz, you can just put the image (tileset.png, for example) as the levelfile to download. in discretion, lvz isn't in yet, so you need to do each file like that, although you can specify an url for fast http downloads from the web.
»jabjabjab Posted August 16, 2009 Report Posted August 16, 2009 In my opinion, arenas should have a setting that loads a bmp or image uploaded on the server instead of building it inside the map.
Hakaku Posted August 16, 2009 Report Posted August 16, 2009 In continuum you don't need to compress things as lvz, you can just put the image (tileset.png, for example) as the levelfile to download. in discretion, lvz isn't in yet, so you need to do each file like that, although you can specify an url for fast http downloads from the web.And here I was all this time putting everything in lvz. If Discretion allows http downloads though, that would save a lot of time.
Samapico Posted August 16, 2009 Report Posted August 16, 2009 might as well allow zip files instead of using lvz's just to pack files
Hakaku Posted August 16, 2009 Report Posted August 16, 2009 might as well allow zip files instead of using lvz's just to pack filesWell zlib is much better at compression and decompression than zip is. For that matter, when it comes to archivers, rar is slightly better than zip, while 7-zip (which uses lzma compression) owns them all.
Samapico Posted August 16, 2009 Report Posted August 16, 2009 I thought zip files were made with zlib?
Bak Posted August 16, 2009 Report Posted August 16, 2009 arenas should have a setting that loads a bmp or image uploaded on the server instead of building it inside the map. I don't understand, you mean like an LVZ mapobject?
Gannon8 Posted August 17, 2009 Author Report Posted August 17, 2009 (edited) I thought zip files were made with zlib? So did I. Maybe he is talking about comparing it to window's proprietary library or something. Doesn't zlib also have bzip2 compression? Also bak who are you quoting? Edited August 17, 2009 by Gannon8
Hakaku Posted August 17, 2009 Report Posted August 17, 2009 I thought zip files were made with zlib? So did I. Maybe he is talking about comparing it to window's proprietary library or something. Doesn't zlib also have bzip2 compression?http://en.wikipedia.org/wiki/ZIP_(file_format)
Bak Posted August 17, 2009 Report Posted August 17, 2009 In my opinion, arenas should have a setting that loads a bmp or image uploaded on the server instead of building it inside the map.I don't understand, you mean like an LVZ mapobject?
»jabjabjab Posted August 17, 2009 Report Posted August 17, 2009 well how to load them, i mean like right below 'levelfiles' make a setting 'tileset' and for fill put "mytilesetname.bmp/png/gif/jpeg. and make a seperate folder in the server files just for tilesets. would make downloading alot smaller considering people share tilesets and only downloading the map itself without the bmp. Would save alot of time IMO
Bak Posted August 18, 2009 Report Posted August 18, 2009 why not just put them in levelfiles (the way it currently is?)
Samapico Posted August 18, 2009 Report Posted August 18, 2009 yeah... makes things easier... fits with the .lvl format, allows backward-compatible elvl stuff hidden in header, makes editing easier (you only need to grab one file from server),
»jabjabjab Posted August 18, 2009 Report Posted August 18, 2009 (edited) hmm okay, but you could also make the tilesets more flexible and have like more tiles in a set and properties for each and export them as like .lvt or something Edited August 18, 2009 by jabjabjab
Recommended Posts