Diversions | |
![]() |
![]() |
![]() ![]() |
Author | Message |
Yanrishatum
Midshipman ![]() ![]() Joined: 19 January 2016 Online Status: Offline Posts: 21 |
![]() ![]() ![]() Posted: 24 July 2014 at 3:13pm |
![]() Hello, I'm Soup, and I'm developing a small game with codename [NOT]5734L3R. In first of all, I'm asking you, guys, DO NOT tell about this project to Winged Doom (original author of 5734L3R project). I already have his permission to do with this title anything I want, but he do not know, that I work on this project currently, and this is must be surprise to him, when he'll be ready to start work on 5734L3R project. Seriously, I don't want him to know about this project. Okay, let's begin. Why "Community driven project"? That because I'm offering to you, yes you, to join this project as level designer. That's pretty easy. You only need a Tiled editor, any graphics editor and fantasy. Currently there almost nothing to see, but please, if you want any feature included in the game, suggest them, and I'm mostly possible include it. Note, that project is exploration-based, and any player-harming objects will not be included. Current project specs Version: 0.0.2 Objects: ![]() Tiled properties: Any property with "g_" in start will be loaded as graphic. Syntax: g_<name> -> <path_to_image>. Sample: g_sprite -> img/objects/box.png Note, that g_sprite will be used as main sprite for generic objects which don't have special graphics in settings file. Otherwise will be used graphic, that used in tileset (16x16 tile). Any property with "ga_" in start will determines an animation for graphic. In property name after ":" symbol you determine an animation name. In value, you have to show that animation is looped (true or false) and write frame-delay pairs. Syntax: ga_<graphic_name>:<animation_name> -> <looped>:<frame-delay pairs>. Sample: ga_g_sprite:idle -> true:0,0.1,1,0.1 Any property with "gs_" in start will determine setting for graphic. You can set next values: animation:String - an current animation of graphic visible:Boolean - is graphic is hidden flipped:Boolean - is graphic flipped horizontally upsided:Boolean - is graphic flipped vertically playing:Boolean - is graphic will currently play animation red, green, blue, alpha:Number[0-1] - coloring tints. x,y:Number - x/y position of graphic Syntax is similiar to ga_: gs_<graphic_name>:<paramter> -> <value>. Sample: gs_g_sprite:playing -> true Scripting methods: Since 0.0.2: animate(toX:Float, toY:Float, speed:Float, ease:EaseFunction = null, callback:Void->Void = null):Void Moves object to selected position. Description: speed - speed of motion in pixels per second. ease - easing function of motion. All easing function can be accessed via Ease class (@See Ease.hx for available easings). Cheat sheet for easing functions. callback - Void->Void method called after animation end. hide(duration:Float = 0, ease:EaseFunction = null, callback:Void->Void):Void; show(duration:Float = 0, ease:EaseFunction = null, callback:Void->Void):Void; Shows and hides object. duration - Duration of fading in/out. By default it's just hide object. ease - easing function for fading. callback - function called after hiding/showing. pos(x:Float, y:Float):Void Sets position of object ![]() Player model are recolored, to empharize, that this is not original 5734L3R. No Tiled properties. ![]() This object used to all types of objects by default, if to object class do not set. ![]() Almost nothing to see there at the moment, just static object Tiled properties: hidden - if have this property, will be hidden at start. Can be changed by scripts via visible property. ![]() Player can interact with them by pressing S key. Will try to start "on" animation, when activated. When deactivated, tries to use "idle" animation, otherwise "default" (plays once, includes all frames of graphic) Tiled properties: interact_time - number in seconds, how long player will be stay near terminal "activating it". By default it's 1 second. one_time - if has this property, terminal can be activated only once. start - path to script, which will be activated at begin of interaction. end - path to script, which will be activated at end of interation; locked_time - Default lock time is 0.5 seconds. When terminal is locked, player can't interact with it. (since v0.0.2) ![]() Reverses gravity to any entity, that hits him. No tiled properties ![]() Provides transiting from level to level. Tiled properties: eixt - Name of level and exit, to which that exit points. Example: exit -> lonelyRoom:exit Since v0.0.2: ![]() Pushes all moveable objects to right or left. On map must be placed left part of conveyor and it's size must be set in object properties by "size" property. Minimum size of conveyor is 2. Tiled properties: size - Size of conveyor in tiles. push_speed - Float, strength of pushing speed in pixels-per-second. Default = 16 direction - right or left - direction of conveyor. Default - left Scipring vars: direction:String - left or right. For manual change of direction. pushSpeed:Float - pushing speed. ![]() They can be defined with geometry tools of Tiled. Now supported only Rectangle and Polygon trigger with some restrictions. Polygon hitbox does not work with Pixel-perfect hitboxes. In scripts, you can access entity, that activated trigger by "target" variable. Tiled properties: target - name of group, which activates trigger. Default is "player". Possible values: pushable - any pushable objects. player - player object. object - any other object. cutsceneObject - any cutsceneObject interactiveObject - interactive terminals. triggerObject - other triggers target_name - name of exact entity, which will activate trigger. Default is null. first - Script path, which will be activated in very first activation of trigger. first_leave - Script path, which will be activated in first activation after object leaves trigger. enter - Script path, which wlll be activated every time trigger activated (include first time) leave - Script path, which will be activated every time trigger deactivated (include first time) Scripting vars: target - same as target property. targetName - same sa target_name peropery. first - same as first property. firstLeave - same as first_leave property. enter - same as enter property. leave - same as leave property. activations - counter of activations. Can be resetted by setting value to 0. Other features: ![]() Function and variables available: Constants - constants class. Now contains GRAVITY (Point, x/y) and DEFAULT_OBJECT setTimeout(function, delay) - takes function and delay in seconds, and calls it in that time. game - GameScene object. @See Scene.hx to functions available. Ease - Easing functions (@See Ease.hx for available easings). Cheat sheet for easing functions. SoundManager - Main sound engine manager. See SoundManager description below for available methods. You can access other entities by game.getInstance(name). Name can be set in Tiled. Possible scipring triggers: Interactive terminals. Trigger objects. "start" property in Tiled level properties. Activates every time, when user enters level "first" property in Tiled level properties. Activates only once, when player first enters the level. ![]() You can add to any tile animated decal. Just add to Tile properties in Tiled next property: decal -> path_to_decal I'm not tested non 16x16 decals, results may be unexpected. ![]() Mark tile layer as collider, by setting in properties collide -> 1 ![]() For those, who don't want use .gif files as animation sets or want full color palette/alpha channel. Add .anim file with framed png file. e.g. door.png and door.anim Also you can define multiple animations in single .anim file. That's pretty useful, when you need custom animated graphics. Anim file have bigger priority, than .gif animation. Syntax: w/width - width of single frame h/height - height of single frame ratetype - type of framerate format. ms - milliseconds (1 second = 1000 milliseconds), ds - deciseconds (or so, I don't remember word, 1 second = 100 deciseconds). By default it s - seconds. framerate - framerate of animation. But every frame can have it's own delay. looped - true/false, sets selected animation looped or not. (since v0.0.2) aniamtion - sets selected animation. At begin, selected animation is "default". index[:delay] - defines animation frame. Delay are optional, you can add, or not add this. Example: w: 100 h: 100 reatetype: ds framerate: 2 0 2 1:0.5 animation: idle 0 4 3 2:0.1 ![]() Responsible for sound and music. Place all sound files to assets/sounds/ Use .ogg files for music, and .wav for SFX. You can set level theme, by setting "music" property in level properties with path to .ogg file. Scripting methods: playMusic(pathToMusic:String):Void; - Plays selected music. stopMusic():Void; - imiddiatly stop music. setMusicVolume(volume:Float):Void - sets volume of music. setSFXVolume(volume:Float):Void - sets volume of SFX's. playSFX(pathToSFX:String):SoundEffect - plays selected SFX at all level, and returns sound effect. playSFXAt(pathToSFX:String, x:Float, y:Float, radius:Float):SoundEffect - plays selected SFX at selected location and hearing radius, and returns sounds effect. Other: Positions of objects on Objects Tileset: From 1-1 to 4-1: Exit objects. 5-1: CutsceneObject 6-1: IneractiveObject 6-2: ConveyorObject 5-7: Reversor up 12-7: Reversor down TODO list: ![]() ![]() ![]() ![]() Grand finale And finaly, there is the current build of my project. Click: ![]() And for inspiration. gamedev.ru topic: Forum Pixeljoint topic: Forum P.S. Sorry for my english. :) Edited by Yanrishatum - 26 July 2014 at 10:35am |
|
![]() |
|
jalonso
Admiral ![]() ![]() Joined: 29 November 2022 Online Status: Offline Posts: 13537 |
![]() ![]() ![]() |
His gallery winged doom
|
|
|
|
![]() |
|
Yanrishatum
Midshipman ![]() ![]() Joined: 19 January 2016 Online Status: Offline Posts: 21 |
![]() ![]() ![]() |
Updated project to v0.0.2.
Changelog: Version 0.0.2 - Added advenced .anim files. Now user can define multiple animation in one .anim file. Now default selected animation is "default". Added command: looped:<true/false> - sets current selected animation looped. Added command: aniamtion:<animation_name> - set selected animation to this animation. All next frames definitions will be added to it. - Added SoundManager. Add "music" property in Tiled with path for .ogg file, to play music on level. Use .ogg for music, and .wav for SFX. .mp3 does not supported. SoundManager is available in scripts. SoundManager methods: playMusic(pathToMusic:String):Void; - Plays selected music. stopMusic():Void; - imiddiatly stop music. setMusicVolume(volume:Float):Void - sets volume of music. setSFXVolume(volume:Float):Void - sets volume of SFX's. playSFX(pathToSFX:String):SoundEffect - plays selected SFX at all level, and returns sound effect. playSFXAt(pathToSFX:String, x:Float, y:Float, radius:Float):SoundEffect - plays selected SFX at selected location and hearing radius, and returns sounds effect. SoundEffect methods and vars: stop():Void; - immidiatly stops playing. (callback will be called) var completeCallback - Void->Void callback for scripts to be called after SFX completely played. - Added locked_time parameter to interactive terminals. Default lock time is 0.5 seconds. When terminal is locked, player can't interact with it. - Added weight to pushable objects. They now affects player speed relative to size of object. - Added animate method to CutsceneObject. Moves object to selected position. Description: animate(toX:Float, toY:Float, speed:Float, ease:EaseFunction = null, callback:Void->Void = null):Void speed - speed of motion in pixels per second. ease - easing function of motion. All easing function can be accessed via Ease class (@See Ease.hx for available easings). Cheat sheet for easing functions. callback - Void->Void method called after animation end. - Added hide and show methods to CutsceneObject. Hides and shows object. Description: hide/show(duration:Float = 0, ease:EaseFunction = null, callback:Void->Void):Void; duration - Duration of fading in/out. By default it's just hide object. ease - easing function for fading. callback - function called after hiding/showing. - Added pos method to CutsceneObject. Imiddiatly sets position of object. Description: pos(x:Float, y:Float):Void - Added ConveyorObject. Pushes all moveable objects to right or left. On map must be placed left part of conveyor and it's size must be set in object properties by "size" property. Minimum size of conveyor is 2. Tiled properties: size - Size of conveyor in tiles. push_speed - Float, strength of pushing speed in pixels-per-second. Default = 16 direction - right or left - direction of conveyor. Default - left Scipring vars: direction:String - left or right. For manual change of direction. pushSpeed:Float - pushing speed. - Added "start" property to Tiled level properties. Use it by providing script path, which will be executed at every entering of level. - Added "first" property to Tiled level properties. Use it by providing script path, which will be executed at first entering of level. - Added TriggerObject. They can be defined with geometry tools of Tiled. Now supported only Rectangle and Polygon trigger with some restrictions. Polygon hitbox does not work with Pixel-perfect hitboxes. Tiled properties: target - name of group, which activates trigger. Default is "player". Possible values: pushable - any pushable objects. player - player object. object - any other object. cutsceneObject - any cutsceneObject interactiveObject - interactive terminals. triggerObject - other triggers target_name - name of exact entity, which will activate trigger. Default is null. first - Script path, which will be activated in very first activation of trigger. first_leave - Script path, which will be activated in first activation after object leaves trigger. enter - Script path, which wlll be activated every time trigger activated (include first time) leave - Script path, which will be activated every time trigger deactivated (include first time) Scripting vars: target - same as target property. targetName - same sa target_name peropery. first - same as first property. firstLeave - same as first_leave property. enter - same as enter property. leave - same as leave property. activations - counter of activations. Can be resetted by setting value to 0. - Rebased all methods of CutsceneObject to GameObject. Now this methods available for any entity. CutsceneObject now represent inert object without collisions. - Basic initialization now going in separate Thread. |
|
![]() |
|
![]() ![]() |
||
Forum Jump |
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |