Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Diarandor

Pages: 1 ... 67 68 [69] 70
General discussion / Music loops?
« on: June 26, 2015, 04:54:08 pm »
Hi! I was wondering if it is possible to make a loop on the music with the loop starting point in the middle of the song. Is this possible? (I am using music with ogg extension.)

I found in some forums that it is possible to make this in RPG Maker, setting some properties on the ogg file. You can check it in the link below:

Is it possible to make something like this in Solarus? It could be useful.

Development / Re: Side scrolling functionality
« on: June 25, 2015, 10:21:15 pm »
These are good news. I was planning trying to script something like this in the future. I guess that the script can be modified to simulate diving with this side scrolling (like in Link's awakening), which would be cool.

I have been working on several scripts with other functionalities that I would like to share when I finish making the game to the end of the first level. (I don't have too much free time, and drawing all the sprites takes a lot of time and patience, so it will probably be ready by the end of this year or a bit later).

Some scripts I have done allow to have 3 heroes and switch between the heroes on the current map with space bar (or using a switching menu in case the heroes are in different maps, but this menu is not done yet). I also have scripts to carry custom entities which are not destroyed when thrown (I make them bounce when they fall), and they can be thrown from one hero to another (they are picked in the air). Also I made custom buttons that can be pressed by any of the three heroes or custom entities (like weights that can be carried and thrown). Platforms also work well with custom entities that can be carried and the secondary heroes.

The only technical problem I had is that if you leave one map with some secondary hero and come back, the destructible entities, platforms, etc are reseted, which can make a secondary hero to appear overlapping a destructible entity (that had been destroyed before) or to appear over a hole (in case a platform was moved), etc. I solved this easily using a script that saves the state/position of the entities if necessary (it does not work in the current version of Solarus because of a bug that has already been fixed by Christopho, but I hope it to work in the next release).

These are some of the things I made, just in case you are interested. My (maybe too ambitious) goal is to make a hybrid game between Lost Vikings 2 and Link's awakening, but it will take some years of work until it is finished.

General discussion / Re: Need some advice for a free game
« on: June 15, 2015, 10:54:17 pm »
I found some interesting things related copyrights:

It seems that it is not necessary to formalize the copyright, but it may help to prove authorship in case of infringement. I think this is the place to do it:

(I hate this kind of legal bureau crazy bureaucracy...  :-\)

General discussion / Re: Need some advice for a free game
« on: June 15, 2015, 10:01:54 pm »
Thanks a lot!

In this websites they say that CC and GPL are not compatible, or something like that, but I don't know if all this info is completely trustable.

PS: I hope people to be nice too...  :(

Development / Re: Bubble + boomerang = fairy?
« on: June 13, 2015, 06:20:48 pm »
Yes. It is possible to make almost anything if you know how to code it (but not easy).

To do what you want, I would use a custom entity for the bubble. You can use a collision test on the bubble script to detect the collision with the boomerang. (I have done something similar to make trees that throw leaves when hit with the sword, and it works.) You can use something like this:
Code: [Select]
entity:add_collision_test("sprite", function(entity, other_entity, sprite, other_sprite)
  if other_sprite:get_animation() ~= "boomerang" then return end
  -- Here goes your code...

General discussion / Re: Need some advice for a free game
« on: June 13, 2015, 05:27:22 pm »
I just realized that creative commons licenses are not compatible with the GPL (although I am not sure at all). Probably I would need either to choose a non GPL license for the game, or not to use the creative commons license for the art  (which one do you think would fit my purpose?).

General discussion / Re: Need some advice for a free game
« on: June 13, 2015, 05:13:05 pm »
Thanks. (Yes, I had already seen that website. But I was still confused.)

-So, what I need to do is just to copy-paste the info of the GPL license into a file LICENSE.txt in the data. Is that all? And how could I prove later that I was the creator of that game in case I need it?

-Another question. Is the GPL license applied to my art (sprites/tilesets, sounds and music) too? Or should I use a different license for my art? I have read about the creative commons licenses, and also about the website, but I am not sure if this is necessary for my purpose and/or recommendable.

I was considering to use the GPL license for the game, so I could even distribute the game with the engine, if I am not wrong. Would you recommend using a different license?

Thanks again

General discussion / Need some advice for a free game
« on: June 13, 2015, 12:37:42 am »

I am creating a game with Solarus (which is still at a very early stage). I would like the game to be free (free as in freedom), but I need some advice (I am new to these things). Do you recommend me to use github to store all the data files?

I am creating all resources such as sounds, music and sprites for the game, so I am afraid of loosing my work if someone steals registers these resources (in case this is possible for a free game that uses them). Would it be safe if I just put all the data on github? Or must I do something more to make these other resources (not the code) to be free (as in freedom) too?

PS: of course, I know that if the game is free and open-source anyone could use my resources for a game (and even sell them), I don't mind that. The point is that I want to avoid someone to register these resources as his property, which would make me loose the right of using them in my game. (I want these resources to be free, so anyone can use them.)

Thanks in advance!

Development / Re: Collision tests and movement
« on: June 11, 2015, 01:24:46 am »
Hi Dragon_noir,

the main problem in your code is probably that you set "pushed = true", but you forgot to change it to false later. I would not use the custom command effect "action" for pushing blocks, since that effect is usually used when the space bar is pressed, but this is just my opinion ;D. As an advice, the Lua API recommends to use a timer or other solution instead the on_update event since it is called too many times (if I understand correctly, this kind of methods could slow down the game a little bit, maybe on slow computers). Another advice, you are repeating some code a lot of times in some functions that is not necessary; this would improve some of your functions:

Code: [Select]
function boulder_small:go()

  local movement = sol.movement.create("path")
  local direction = hero:get_direction()
  movement:set_path({2*direction, 2*direction})

  function movement:on_finished()

-- Makes the hero move.
function hero:go()
  local m = sol.movement.create("straight")
  local direction = hero:get_direction()
  m:set_angle(direction * math.pi / 2)

I hope this helps you to improve your script a bit (I have not tried it anyway).

Development / Re: NPC asking question
« on: May 28, 2015, 11:25:31 pm »
Have you tried something like this?

-- Save game dialog
  id = "",
  question = true,
  text = [[
Is your desire to save the game?

General discussion / Re: Distribution
« on: May 03, 2015, 09:58:21 pm »
Hi, I am trying to make a game with Solarus and, since I am new to this things, I would like to know more about licenses, copyrights and trademarks. Could you help me? I would like to make a game with a freeware license. (The graphics, sounds, music, etc. will be made by me.)

1) What must I do to obtain a copyright and where can I obtain it? How expensive can it be?

2) What must I do to obtain a trademark for the title of the game and where can I obtain it? How expensive can it be?

3) Is it possible to copyright a game that is still being developed? And if it is possible, can it be done without having to pay each time the game is actualized? I would like to do this, if possible, with a freeware license.

4) To use a (freeware) license for the game, is it enough to copy-paste the text of the license and put it in a text file with the info of the game?

Thanks in advance for your help!

Development / Re: Custom Entity: Moving platform [Solved with code]
« on: March 23, 2015, 12:56:35 am »
Yes, you are right, I forgot that line (I found that I had a global variable hero in other script, by mistake), and the "touching" collision should be the best choice for the platform. Thank you!

I only have tested the platform between two normal walls, and it works fine, at least in that case. I didn't find the last issue that you said.
(Maybe the problem is with that kind of wall that only affects NPC's, I don't know...)

Development / Re: Problem when scripting platforms or wind
« on: March 17, 2015, 09:40:21 pm »
It's reported now.

Development / Problem when scripting platforms or wind
« on: March 16, 2015, 11:37:28 pm »
Hi, I have the following problem (it is quite a bit hard to explain), and it could be a bug.
I made scripts for platforms and wind that move the hero changing his coordinates.

-For the platforms, I change the coordinates of the hero using the event on_position_changed of the platform (the platform is moved with a movement of the engine). The problem appears when the hero is carrying an object (a pot for example) and the camera is moving following the hero at the same time (to test this the map must be big). Sometimes, the sprite of item that is being carried is showed like vibrating (from left to right to left, etc, if the direction of the movement is horizontal). This only happens sometimes (and the camera must be moving to make this happen). Maybe the sprite of the carried item is not refreshed in the correct time, or something like that... (I tested a script of wind, using the same method and the same happens, obviously.)

-I made another script of wind using a different method: the position of the hero is changed using a timer with a loop. In this case, when the camera is moving after the hero, the carried item is moved smoothly, but the sprite of the hero appears like vibrating (the same problem as above but in the sprite of the hero in this case). The same happens when I apply the movement to other custom entities that are not the hero (I emphasize that the camera must be moving to make this happen).

Obviously, my aim is to make the movement smooth for the hero, carried items, and other entities where I apply the movement, when the camera is moving, if this is possible. Do you have the same problem? (Maybe I am doing something wrong) Could this be a bug of the engine? I would like to find a solution for this... or I will be forced to use small maps when I use this kind of entities.

Thanks in advance for your help!

Development / Re: Custom Entity: Moving platform [Solved with code]
« on: March 06, 2015, 05:14:01 pm »
Hi! Thanks for the code, I found it very useful. I have modified (and improved a bit) the functions of the script. Now the hero is not centered in the platform and can move more freely over it. (I tested the platform over traversable ground and it works fine.) I post my customized code, just in case someone find it useful:

Code: [Select]
local entity = ...

-- Platform: entity which moves in either horizontally or
-- vertically (depending on direction) and carries the hero on it.

local speed = 50
local time_stopped = 1000

function entity:on_created()
  self:set_size(32, 32)
  self:set_origin(16, 16)
  self:set_can_traverse("jumper", true)
  self:set_can_traverse_ground("hole", true)
  self:set_can_traverse_ground("deep_water", true)
  self:set_can_traverse_ground("traversable", false)
  self:set_can_traverse_ground("shallow_water", false)
  self:set_can_traverse_ground("wall", false)

  local m = sol.movement.create("path")
  local direction4 = self:get_sprite():get_direction()
  m:set_path{direction4 * 2}
  self:add_collision_test("containing", function(platform, other)
    if other:get_type() == "wall" and other:get_type() ~= "jumper" then


function entity:on_obstacle_reached(movement)
  --Make the platform turn back.
  movement = sol.movement.create("path")   
  local direction4 = self:get_sprite():get_direction()
  direction4 = (direction4+2)%4
  movement:set_path{direction4 * 2}
  sol.timer.start(self, time_stopped, function() movement:start(self) end)

function entity:on_position_changed()
  -- Moves the hero if located over the platform.
  if not self:is_on_platform(hero) then return end
  local hx, hy, hl = hero:get_position()
  local direction4 = self:get_sprite():get_direction()
  local dx, dy = 0, 0 --Variables for the translation.
  if direction4 == 0 then dx = 1
  elseif direction4 == 1 then dy = -1
  elseif direction4 == 2 then dx = -1
  elseif direction4 == 3 then dy = 1
  if not hero:test_obstacles(dx, dy, hl) then hero:set_position(hx + dx, hy + dy, hl) end

function entity:on_movement_changed(movement)
  --Change direction of the sprite when the movement changes.
  local direction4 = movement:get_direction4()

function entity:is_on_platform(other_entity)
  --Returns true if other_entity is on the platform.
  local ox, oy, ol = other_entity:get_position()
  local ex, ey, el = self:get_position()
  if ol ~= el then return false end
  local sx, sy = self:get_size()
  if math.abs(ox - ex) < sx/2 -1 and math.abs(oy - ey) < sy/2 -1 then return true end
  return false

Pages: 1 ... 67 68 [69] 70