Jump to content

GeoTool


sheepandshepherd
 Share

Recommended Posts

sheepandshepherd

The first beta version is done! I was delayed a bit by family visiting, but that's all finished now, so I can get back to work.

This is a big update. The UI is reorganized to be less of a pain. Hidden caverns, slimy slugs, paths, rubble, and erosion are fully implemented and editable. Lots of internal changes too, mainly to the way it stores the loaded map internally; this is what one Tile looks like now, if you're curious:

enum Type : ubyte
{
	ground,
	erosion,
	path,
	rubble,
	water,
	lava,
	dirt,
	loose,
	hard,
	solid,
	ore,
	crystal,
	recharge,
	slug,
	//soil,
}

struct Tile
{
	Type type;			// combined dugg, surf, path, and erod
	ubyte height;		// high
	ubyte erodeSpeed; 	// erod: magnitude only
	ubyte tutorial; 	// tuto
	ubyte emerge;		// emrg
	ubyte landslide; 	// fall: 0 = can't occur; 1-8 = can occur
	ubyte cryore;		// cror
	bool hidden;		// dugg
}

The heightmap editor is still the same, and still kinda crap. Oh well, the main use is still to import images from GIMP or something similar.

Anyway, if someone has a more beastly computer and can support it, I don't see why you should restrict them.

Ok then, manual limits removed :P. Maps can be up to 255x255 now (the limit for 1 byte, though I can go higher if I change them to 2-byte integers instead... if you really want me to :P). For fun: how many FPS do you get on a 255x255 map?

A few things I'm not sure about yet, so opinions are welcome: do the visuals for hidden caverns (red warning stripes) and erosion paths (yellow->red square) look decent enough? And I'm also not sure I like the new Terrain Type list in the sidebar (small squares in 1 column); should I go back to the old one, with 2 columns of big squares and the terrain names on the squares?

I'll do bugfixes and stuff this week, but before I add the rest of the editors (like Objects/Buildings) I need to take a "break". I have my C++/Godot main project to work on and a lot of studying to do for RL, not really things I can put below GeoTool in the priority list.

 

Changelog for Beta 1:

  • Map data is now stored together in 1 array of structs internally; no more separate map components
  • New Map menu
  • Hidden caverns, slugs, paths, rubble, and lava erosion added to Terrain Editor
  • Terrain list now has only 1 column so text won't be on top of the image (may be reverted in next version)
  • In edit mode, preview boxes next to the mouse show what you're placing (terrain type, hidden caverns, erosion)
  • In edit mode, right-clicking now has different functions depending on what you're editing
  • New, Load, Save, and Close buttons moved to the top
  • Load and Save functions now auto-detect what type of map you picked
  • Some UI colors changed so they're less ugly and more visible
  • Minimap shows location and view direction of camera
  • Finally fixed broken heightmap-interpolating function, so the camera and light should no longer shake insanely while moving
  • Removed GLSL 1.20 version. If you needed this, let me know and I can add it back in.
  • Compiled in Release mode this time, which should massively improve performance
  • Added README to source code with some instructions on how to compile it and what's required [WIP]

Downloads:

GeoTool Beta 1

Source code - GPL v2.0

  • Like 2
Link to comment
Share on other sites

Fluffy Cupcake

Ok then, manual limits removed :P. Maps can be up to 255x255 now (the limit for 1 byte, though I can go higher if I change them to 2-byte integers instead... if you really want me to :P).

For fun: how many FPS do you get on a 255x255 map?

 

A few things I'm not sure about yet, so opinions are welcome: do the visuals for hidden caverns (red warning stripes)

and erosion paths (yellow->red square) look decent enough?

And I'm also not sure I like the new Terrain Type list in the sidebar (small squares in 1 column); should I go back to the old one, with 2 columns of big squares and the terrain names on the squares?

That would be quite ridiculous, although it'd be an interesting sight. Even moreso if you went 4-byte. Release a test version with this perhaps? (You can do this later on in development if you like.)

My computer isn't even that great (it's mediocre, a lot of high-end things lag). I get 14 FPS. 6FPS when placing tiles.

 

Hmm. I wonder how dimming out the area would look instead of warning stripes. It could be a bit annoying while working in the area, although a toggle switch between dim and normal lighting could be made to make it not so.

The squares work fine for the textureless version of the map, but I don't think it is really needed for the ones with textures as you can see the size differences.

I like thos 2 column, although the text could be more readable by like adding an outline or shadow or something.

 

 

Link to comment
Share on other sites

sheepandshepherd

 

Hmm. I wonder how dimming out the area would look instead of warning stripes. It could be a bit annoying while working in the area, although a toggle switch between dim and normal lighting could be made to make it not so.

That's actually what I tried first, but it turned out really hard to see the dimmed/gray areas at all, since the usual brownish textures are so close to gray already.

The squares work fine for the textureless version of the map, but I don't think it is really needed for the ones with textures as you can see the size differences.

Remember though that the squares are for the path of the erosion, which can be placed on any tile or wall, so it normally won't have the texture. Only the "pre-eroded" tiles have the broken lava-ish texture. Maybe I'll rename both of those to make it clearer -- "erosion path" for the squares, "pre-eroded" for the ground type?

I like thos 2 column, although the text could be more readable by like adding an outline or shadow or something.

Yeah, I agree. I'll switch back to the 2 columns next version. Gotta figure out how to make the text more readable though, since the UI library I used doesn't have anything like outlines or shadows... it's very primitive, and I've had to hack every part of it already. It didn't even have textured buttons originally :P

Link to comment
Share on other sites

Fluffy Cupcake

Remember though that the squares are for the path of the erosion, which can be placed on any tile or wall, so it normally won't have the texture. Only the "pre-eroded" tiles have the broken lava-ish texture. Maybe I'll rename both of those to make it clearer -- "erosion path" for the squares, "pre-eroded" for the ground type?

Oh alright, I'm still kinda new to the whole erosion thing, so yeah. :P Different names would help the newbies.

Perhaps see how it looks when adding numbers to the squares? Either that or leave it as is I guess.


Bug report with the About section: You know how the scroll bar appears when you click the "About" text to reveal the hidden content? Well if you close it while scrolled down the settings above the about section aren't visible and you can't scroll up anymore without opening it back up.

Link to comment
Share on other sites

sheepandshepherd

Bug report with the About section: You know how the scroll bar appears when you click the "About" text to reveal the hidden content? Well if you close it while scrolled down the settings above the about section aren't visible and you can't scroll up anymore without opening it back up.

Lol, yeah. I've been trying to fix that one since the very first version. Bug in the UI library. I'll keep trying things though.

Note to anyone wanting to learn programming: stay away from immediate-mode GUIs :P

EDIT: Fixed it! Also, good idea with the numbers. Once I add numbers for monster emerges, script blocks, crystals, and ore, I'll add them for the lava path squares too.

Edited by sheepandshepherd
Link to comment
Share on other sites

  • 2 months later...
  • 2 months later...
sheepandshepherd

Got bored and decided to update this some more. The second beta isn't finished yet, but I made a git repository for the source code. It's now set up with D's package/build manager, which makes compiling GeoTool from source very simple. Instructions and links on the GitHub page, if you're interested.

Beta 2 will be mostly bugfixes, optimizations, and cleaning up the code. I also want to add energy crystals, ore, and a map resizer.

  • Like 2
Link to comment
Share on other sites

  • 5 months later...
sheepandshepherd

Update time! My other side project is stuck, so here's Beta 2 of GeoTool instead:

81o2X6c.jpg

I replaced the GUI library with a more advanced one. It sure looks better too. Works the same as the old one though. Also various bugs were fixed, like non-functional scrolling and certain valid corner walls not being displayed right. There aren't any new features this time, but they'll be easier to implement for Beta 3 now that the code has been cleaned up and reorganized.

 

You can download the release .zip from the GitHub page's downloads section.

  • Like 2
Link to comment
Share on other sites

  • lol username featured this topic
sheepandshepherd

Ah, I missed that one. Hopefully this version will fix the error -- I had the C++ compiler include those GCC standard library files directly instead of trying to find them externally.

Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.