Menu

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.

Show posts Menu

Topics - ffomega

#1
Hello mappers! I bring to you today a small update to the full Hyrule tileset, adding right angular borders to the tileset for more square-type cliffs:


get the data file here

At first glance it looks no different, but now you are able to create cliffs with less rounded edges using the right angle borders:



As you can see the corners are custom tiles added to allow you to create shaper angles for cliffs.  I also included a few extra tiles that aid in the creation of these sharp cliffs.  Refer to the images below to find their location within the tileset:





I hope these tiles will help in aiding you in your map creation, and as always:

HAPPY MAPPING!!
#2
[UPDATE 04-09-2018]  The following graphical bugs have been addressed:

1. I noticed a graphical error in the tilesets, where the map tags for some of the Kinstones had been accidentally merged with text layers.  This has been fixed.
2. I added non-transparent concave corners to all tilesets for use in the auto-tiles feature, as requested by Chris.  They are all named exactly the same as the originals, except each with a "b" added to the end of each name.
3. Some of the tilesets' graphics were not the correct dimensions.  This was a huge oversight that not only omitted some of the patterns at the bottom of the tileset, but it also had some patterns not properly positioned within the tilesets' images.  This has been fixed.

Please be sure to update your data files and all tilesets.  you can download the entire package in this post below, or download each individual image and/or data file as needed.

Hi guys!! It's been a long time since I've been here, but I decided to do a little tweaking of the dungeon tilesets.  I slightly optimized them a bit and updated the accompanying data files:



As you can see, it's not much of a change, but the semi-transparent floor tiles have been moved next to the original colored floor tiles for convenience.  I also included the 4 colored tilesets Chris asked me to create for him a long time ago for Oni-Link begins: Solarus Edition.  They have been renamed Absolute Dungeon 21-24.  You can download the updated tilesets here

The individual tilesets can be downloaded separately, along with the entities and data files if you like:


http://absolute-hyrule-tutorials.solarus-games.org/download/data/tilesets/Absolute Dungeon 01.tiles.png
http://absolute-hyrule-tutorials.solarus-games.org/download/data/tilesets/Absolute Dungeon 01.entities.png
http://absolute-hyrule-tutorials.solarus-games.org/download/data/tilesets/Absolute Dungeon 01.dat


Just change the number for each tileset you'd like to save

HAPPY MAPPING!!
#3
In a few of his live streams, Chris has mentioned that he was in need of certain tileset recolors for some of the maps used in Oni-Link begins.  Earlier today, I told him that I would make tilesets for him.  He said in the stream that he only needed the images, and that he would just use an existing data file.  So if any of you wish to use these tilesets for your own maps, you will need to pick an absolute dungeon tileset data file, as well as an absolute dungeon entities data file, and rename them to match the names of the images listed here.

Take note: These WILL NOT be included in my official Hyrule Maps Package, as they are not an official color within A Link to the Past.  My tilesets only include (with the exceptions of ADT 19 & ADT 20) palettes found within Hyrule Magic.  These were also a request by Chris and therefore will have no need to be added to my pack.

The "Purple" tileset was used in "Map18"



The "Dark Teal" tileset was used in "Map26"



Finally, the "Pale Yellow tileset was used in "Map19"



If you notice any inconsistencies, please leave them in this thread and I will do my best to correct them, and as always...

Happy mapping!
#4
Game art & music / Mouhitotsu no Takarajima
April 21, 2017, 10:11:19 PM
Hey guys! I just found out something really interesting that might benefit Solarus in terms of sprites.

This game,

Mouhitotsu no Takarajima, was originally directed by Eiji Aonuma, and shares a very similar art-style to A Link to the Past.

Here are some screens:



It would appear this game's sprites and tiles may look at home in Solarus.  What do you guys think?
#5
I thought I'd share with you a new type of soldier for Solarus--the Hyrule Castle Tower soldiers.

These soldiers were basically the same as the sword-carrying soldiers scattered all over Hyrule in A Link to the Past, except these were only seen inside Hyrule Castle tower, and unlike their brothers, these guys held their sword up high and had different helmets as well.

I created these sprites because they barely exist outside of single poses from search engines.  The only place I was able to find more than one pose of these guys was on a single sprite sheet on the Spriters' Resource, so I decided to create an entire sheet for Solarus, in ten variants.  The simple soldiers have also been given the new helmets (Again, if you want to use these alongside existing soldiers, create copies of the sprites and scripts, then just assign the new copies to this sheet):



Script-wise, they function exactly like the regular soldiers who carry swords.  You can copy the scripts and assign them to the new sprites, or you may choose to overwrite the ones you already have for a more menacing looking soldier.  The choice is yours!

UPDATE! I added Spear soldiers now.  Again, these sprites use the same scripts as the soldiers do, and can be made from copies of the soldiers scripts, or as replacements to the soldiers:

#6
Development / Mystery of Solarus: Signs and Eggs
March 23, 2017, 02:30:26 AM
I'm looking through the maps in Mystery of Solarus, and noticed that signs are created as NPC entities.  So in order to replicate the sign, being able to show the hero a dialogue, as well as be lifted, thrown, and then destroyed, I was unable to find the code that shows how to do that.

The millasaur eggs in the first dungeon would be kind of perfect for the large black and white rocks littered around hyrule.  I noticed that they were marked as enemy entities, which is fine to be honest.  I do not need the segments that allow them to hatch however.

In the case of the eggs, is it wise to leave it as an enemy or (considering I don't need the enemy to spawn from it), can it be copied and pasted in as a custom entity?

In the case of the signs, where within your game would I be able to find the code that allows me to lift, throw, and destroy NPCs to make the signs work like a destructable that can be spoken to?
#7
Just thought I'd showcase the little project I'm working on.  I am making a palette swap of ten variants of all the enemies you could ever fight in a Link to the Past.

So far, I have a Soldier (Sword and Dagger versions), Bubbles (Anti-Faeries), Hard Hat Beetles, and Bari/Biri:





The standard green, blue, and red varieties are there, but I decided to include purple, yellow/gold, teal, navy, orange/fire, brown,copper, and black/gray.

I feel like ten of each is plenty for enemy variants.  I am already working on adding a matching enemy model for each sprite in the sheet for the enemies folder.  The soldiers all use the same sword, as you can see there is only one set of animations for all the soldiers to use.  I figured there would be no reason to make the file any larger by adding more sprites to it.  I picked a universal color for the sword that everyone can wield.

The soldiers are currently the only sheet to include a 'burning' (on fire) animation and a frozen animation.  As I create more sheets, the animations for enemies that can be frozen or burned will be included (for instance, the Hardhat Beetle can be frozen and burned in LttP, but does not have these animations yet).

Also, in case someone asks, I did use some extra colors for the sprites.  If you look at them they have an additional color to areas of their palette which, I believe, enhances them a bit.  Some of the sprites, like the Dagger-wielding solder (called Simple Soldier in the enemy list), has a yellow shield with added colors.  In the original LttP, this shield changed colors depending on the color of the soldier (within the palette).  However the blue and red variants of that soldier were never in the game, so I decided it would be alright to give them all the same color shield.

#8
Development / [QUESTION] Traversable prickles?
February 10, 2017, 02:49:33 PM
I was wondering why the prickles ground type is not traversable.  In Link to the Past, the Hero could still walk on a prickle ground type and take constant damage at the same time (a perfect example of this is the room inside Dark World's Death Mountain, where you had to travel across an entire room full of spikes to reach the chest at the end, containing the Cane of Byrna.

However in Solarus, when the hero touches a prickle ground type, he comes to a complete stop.  Should future versions of Solarus include traversable prickles, or was this something you decided upon?
#9
I ran into a small problem with items.  I have moved the items sprite sheet into the items subfolder within the /sprites/entities/ directory, and whenever I load a game, all the pickables are gone, giving me the error message:

"Error: Cannot create pickable treasure 'item': Sprite 'entities/items' has no animation 'item' ".

Should I have left the items.png file in the root directory of 'entities'?  Are pickables hardcoded into always looking for 'items.png' within the 'entities' folder and nowhere else?
#10
Hey Chris.  We had discussed the tileset performance bug with Solarus, and you asked me to submit a report to github.  I saw in your report that you fixed this bug, now placing tilesets into a cache that allows much faster load time.  Have you made a snapshot build for this yet?  I'd like to be able to test maps faster for compatibility on my tilesets. :)
#11
It's finally compiled!  After several weeks of preparation, and countless hours of dedication, mixed in with a bit of slacking >.<, I have finally compiled all of my tilesets into one massive package!

Download it here!


UPDATE June 23, 2017 - I updated the tilesets for dungeon to include a new pattern.  One pattern that existed in Chris' game Mystery of Solarus DX was added to the tilesets upon his request, and the tileset layouts have been slightly altered.  There have also been some "blank" tiles added to the 'palettes' at the bottom of each tileset.  This has made the tilesets larger in dimension as well as in size, but for the most part the integrity of your maps should not have changed WITH THE EXCEPTION of the Jabu-Jabu tile patterns.  Unfortunately, these were renamed and if you used them in your maps, they will now have a different tile pattern instead of the ones you used.  I do apologize for the inconvenience.

Update 2: I added alpha floors.  Now you can create floor tiles with any color you like.  You are no longer limited to the color scheme of the current tileset!  Please be sure to update your tilesets!!


The package includes:

Full Hyrule
This tileset was the first of my many projects, and ironically, took the fastest to make.  it includes several map patterns, none are named just to clarify.  But there is an endless variety of options for map creation within these tiles.  Create scenic vistas, underwater areas, in-dungeon rooms for temples, and colorful towns, all patterns have an option to cover with snow as well!



Full Hyrule Entities
Make your entities tileset-dependent if you so choose.  For your convenience, a copy of this entities sheet is also located within the sprites/entities folder, in case you do not wish to make tileset-dependent entites.



Overworld Minimap Tileset
Finally, you can create an overworld minimap using one of 6 different color schemes.  All tile patterns within this set have the "Empty" property.  This is because this is for creating mini-maps only, and has no need for traversability for the Hero.  Mix and match tiles, and create a world that marvels players and makes them say:

"I WANT TO PLAY THIS GAME!!"



Absolute Dungeon Tileset
These tilesets have absolute versitility when it comes to creating dungeons.  Each tileset comes with 8 different "wall types", and dozens of floor patterns.  There really is no limit to the amount of imagination you can put into your maps!   Picking your favorites should be no trouble at all!  There is enough variety here that you could use all tilesets within a single game and you may never use the same pattern and color more than two or three times!

Update:  I created 4 new color schemes for the Absolute Dungeon Tilesets for a total of 20 different color schemes!



Absolute Dungeon Entities
Included in the entities folder are small key doors, big key doors, cell locks, blocks, cracked walls and blocks, ice blocks, conveyor belts and currents for streams, collapsable tiles (sadly there are no scripts for them), Floor Switches that blend in with the floors, and Evil tiles!.  Dungeon entities are tileset-dependent, but all 20 varients, INCLUDING one for a minimap tileset, are included!!



Here is a preview of all 20 tilesets:























I want to thank everyone who supported me along the way!  I couldn't have done this without your encouragement and enthusiasm!!  And As Always:

HAPPY MAPPING!!
#12
So the generic portable script in my opinion has potential.  I'd like to have this script altered slightly, in three ways:

1. generic timed portable - like a bomb.  Self-explanatory, will be destroyed within a set amount of time regardless of whether held or thrown.  Portable will stay on the ground or in the Hero's hand until the timer ends and then destroy itself

2. generic activated portable - A remote bomb that would destroy upon pressing a button.  A super bomnb that will destroy upon pressing a button or striking it with your sword, which triggers a countdown timer.  Once the timer reaches 0, the object is destroyed.

3. generic custom destructable - Like the generic timed portable, except that the object is destroyed upon throwing and landing on the ground, like any other default destructable.  this entity would be great for larger objects such as the 32 x 32 boulders

The thing is this object is originally designed to be thrown and reused once it lands, meaning it will not get destroyed.

How and where would the script need to be changed or added onto for the portabe(s) to work right
#13
I am using a custom entity for the dash rock, which was pulled from Book of Mudora.  I have everything all set up and it's working perfectly for me.  I have created a dynamic tile using the large dirt patch you would find under large rocks in a Link to the past.  I tried using the event entity:on_removed(}, which the description in the API says this event is called when an entity is about to be destroyed.

However the dynamic tile does not appear until the 'destroy' animation completely finished.  I want this dynamic tile to appear During the destroy animation, as it would in a Link to the Past.  I wasn't able to get it to work.

Here is the Dash Rock custom entity (from Book of Mudora), changed just slightly to use my tileset's entities:

Code ( lua) Select
local entity = ...
local game = entity:get_game()

-- Stone pile: a pile of stones which
-- can only be blown apart by a bomb.

function entity:on_created()
  self:set_size(32, 32)
  self:set_origin(16, 29)
  self:set_traversable_by(false)
  self:add_collision_test("touching", function(self, other)
    ex, ey, el = entity:get_position()
    if other:get_type() == "explosion" then
      self:get_sprite():set_animation("destroy")
      sol.timer.start(self, 500, function() self:remove() end)
    elseif other:get_type() == "hero" and game:get_hero():get_state() == "running" then
      self:get_sprite():set_animation("destroy")
      sol.timer.start(self, 500, function() self:remove() end)
    end
  end)
end


Here is the lua script for the current map this entity is located (for the time being):

Code ( lua) Select
local map = ...
local game = map:get_game()

function dash_rock_1:on_removed()
   dash_rock_dirt_1:set_enabled(true)
end


As explained before, the dynamic tile for the dirt patch appears after the 'destroy' animation finishes, and not when it starts, like it should.

Maybe I am not trying hard enough to figure out the exact method needed here xD
#14
Development / [TUTORIAL] Trouble Installing a Tileset?
December 18, 2016, 11:56:22 PM
Hi guys!  I received a PM today on how to use one of my tilesets in their project, so I figured since I am answering the person's question, I would just make a copy of the tutorial for everyone else who might not know how to install a tileset.

First off, you must make sure you download both the tileset's image as well as the data file that has the same name:

For example, I'll use the Full Hyrule tileset:

Make sure you have these files located on your computer, or you can head to my website and download the tileset from there.

Full Hyrule.tiles.png
Full Hyrule.dat

You may choose to use the entities tileset as well, but in the case of Full Hyrule, it is optional).

Once you have the tileset and data file, find your game's project folder, and open data > tilesets



Place the files here as shown above.  Now open Solarus if you have not already.  Expand the list tree on the left under "tilesets".  You should see the "Full Hyrule.dat" file there.



Right-click it, and select "Add to Quest as Tileset"

A new dialogue box will open, giving you the option to rename the data file and give it a description.  By default, the information should already be filled in...but if not Do NOT make any changes and just press OK.



If everything was done correctly, the tileset will then appear in the directory tree of the quest with a 'windows paint' icon next to it, and it will open in the editor pane to the right



This is the same method you will use for each of my tilesets you wish to add.


Known bugs

I have not yet addressed to Christopho, and that is possibly due to the massive sizes of my tilesets.  There is a bug where, randomly, the tileset will not be picked up by Solarus during an edit.  Additionally, destructables appear to suffer the same bug, as when this bug occurs, random destructables--if not all--go back to their default "red pot" sprite.  Creating new ones on a map whose tileset still seems to appear will result in "default destructables" until Solarus is restarted.

Due to its size I am not sure if Solarus is capable of handling the tileset sometimes and it will often come back with a "Missing Tileset" error.  When looking at the crash report, it showed that the error was within the file "qt5widgits.dll".  Your only option is to save and quit, then restart Solarus if that happens.




If you run into this error, DO NOT click anywhere on your map otherwise Solarus will crash.  Just save and quit, then reopen Solarus.

I will have to make a note to inform Chris about this issue, as he may want me to open a Github bug report.

I hope this helps solve your issue with the tilese(s) you wish to use :)
#15
Will future builds of Solarus have a feature to allow multiple images to share a single data file? For example: When creating multiple tilesets, each tileset must have its own data file.  But what if a single data file could be called with different images linked to it? Within the data file itself, a line could be added for each image it references, similar to how the project.db file handles the directory tree of the quest from within Solarus, where it lays out an absolute path to everything contained within the quest.  This could save disk space and clean up the folders that use graphics.  A GUI option could be added like a button that would say something like "Link tileset to data file", and an open dialogue box would appear allowing you to choose the data file the image referred to.  Also if any changes needed to be made to the data file, you only have to edit a single file rather than 10 (in the case of tilesets that used the same exact data within different data files whose only differences were a different colored image.
#16
This topic is not only to showcase the brand new updated look to the Absolute Dungeon Tileset, but I am also directly calling upon Christopho for a review on the data file.

It's finished Chris!  I have given every pattern a name (except of course for all map tags and the characters that appear on the tileset).  There was no need to name letters, numbers, and map tags, because they will never be used in-game.  But the remaining tile patterns now have names.  Please review the data file and tell me if this was exactly what you were looking for :)

It took me weeks to name the tile patterns, as I basically had to start from scratch.  I figured it would be way much easier to rename them using a blank data file than to re-position every pattern before renaming.

Download the package here.
Here is one of the tilesets' images:



Here is one of the Entity sheets:


Please take as much time as you need for the review.  I'm in no hurry :3
#17
I thought I'd try poking around in the rupee script and came up with a neat little alternate counter.  You'll need to do the following:

1. download the gray and yellow digits fonts and place them in your /data/fonts folder (RIGHT-CLICK > SAVE AS):

gray digits - yellow digits

Make sure you add the fonts to your game from WITHIN the quest editor as well otherwise your game may not run!!

2. copy this code and paste it into the rupees script located in the /scripts/hud folder:

Code (lua) Select
-- The money counter shown in the game screen.

local rupees_builder = {}

local rupee_icon_img = sol.surface.create("hud/rupee_icon.png")

function rupees_builder:new(game, config)

  local rupees = {}

  local digits_text = sol.text_surface.create({
    font = "white_digits",
    horizontal_alignment = "left",
    vertical_alignment = "bottom",
  })
  local money_displayed = game:get_money()

  local dst_x, dst_y = config.x, config.y

  function rupees:on_draw(dst_surface)

    local x, y = dst_x, dst_y
    local width, height = dst_surface:get_size()
    if x < 0 then
      x = width + x
    end
    if y < 0 then
      y = height + y
    end

    rupee_icon_img:draw(dst_surface, x , y)
    digits_text:draw(dst_surface, x + 12, y + 8)
  end

  -- Checks whether the view displays correct information
  -- and updates it if necessary.
  local function check()

    local need_rebuild = false
    local money = game:get_money()
    local max_money = game:get_max_money()

    -- Current money.
    if money ~= money_displayed then

      need_rebuild = true
      if money_displayed < money then
        money_displayed = money_displayed + 1
      else
        money_displayed = money_displayed - 1
      end

      if money_displayed == money  -- The final value was just reached.
          or money_displayed % 3 == 0 then  -- Otherwise, play sound "rupee_counter_end" every 3 values.
        sol.audio.play_sound("rupee_counter_end")
      end
    end

    if digits_text:get_text() == "" then
      need_rebuild = true
    end

    -- Update the text if something has changed.
    if need_rebuild then
      digits_text:set_text(string.format("%04d", money_displayed))

      -- Show in gray if the 0 is reached.
      if money_displayed  == 0 then
        digits_text:set_font("gray_digits")
      end
      -- Show in yellow if 1/4 of the maximum is reached.
      if money_displayed <= max_money / 4 and money_displayed > 0 then
        digits_text:set_font("yellow_digits")
      end
      -- Show in white if the current is grater than 1/4 of the maximum.
      if money_displayed > max_money / 4 then
        digits_text:set_font("white_digits")
      end
      -- Show in green if the maximum is reached.
      if money_displayed == max_money then
        digits_text:set_font("green_digits")
      end

    end

    return true  -- Repeat the timer.
  end

  -- Periodically check.
  check()
  sol.timer.start(game, 40, check)

  return rupees
end

return rupees_builder



Rupees will display in the following format:

0 rupees = dark gray
1 - {max rupees / 4) - yellow
current rupees greater than {max rupees / 4) - white
max rupees - green



Happy mapping!
#18
Development / [SOLVED] making a Rupoor
December 03, 2016, 12:30:49 PM
Is there a way to edit the rupeee script to allow negative values for creating a "Rupoor" like the ones in Skyward Sword?  For those who have never played Skyward Sword, a Rupoor (the only game that I know of that had them) was a black rupee that, when collected, reduced your current rupee count by 10.  They were super rare, and were found in treasure chests, or even in grass among the other collectibles.

When I tried adding a variant for rupees as '-10', I got an error message saying that only 0 or positive integers could be used, and I don't want a rupoor that has no value, or will that have to be created as a custom entity? I wanted to make this a random collectable placed within the "random" entity.
#19
Development / HUD issues
November 27, 2016, 10:53:29 PM
I wanted to create a HUD sprite sheet in which all my HUD assets were in a single place.  Hearts, magic meter, rupee icons, action icons, item slot icons, etc.  I started out by creating .dat files for all the HUD's different assets, figuring that's what I needed to do.

I tried editing the individual HUD scripts to look for the single HUD image, and that didn't work--nothing showed up at all.

Then, I undid the changes to the HUD scripts I had made and tried going back to the defaults from the LttP resource pack and the hearts now do not display correctly.  I had to recreate the hearts image, using a slightly different version of the original that came with LttP resource pack.

The thing I am wondering now is:

For the hearts and all other HUD assets, does each asset have to be its own individual image in order for the script to successfully recognize it?  Is it possible to use a singular image with all the needed assets in it for a HUD to be correctly created using the scripts provided by default?
#20
Development / Adding HUD elements / Multiple HUDs
November 26, 2016, 08:58:33 PM
I have a couple questions Chris:

1. Can you have more than 2 item slots? I once had a game in development from another engine that had 4 item slots, a sword icon, and an action icon.

2. Can I create a separate functioning HUD for a specific map from the rest of the game?  In the same game project I worked on, the game started out similarly to Castlevania: Symphony of the Night, where you took control of Richter and fought Dracula from Castlevania Rondo of Blood before the main game began, and then used a different HUD from that point onward.

If I can somehow create different HUD elements as images that would be fine, just disabling the main HUD, but I don't know if that can be done.