Beehive - a Mega Drive tile and map editor

Talk about development tools here

Moderator: BigEvilCorporation

BigEvilCorporation
Very interested
Posts: 209
Joined: Sat Sep 08, 2012 10:41 am
Contact:

Beehive - a Mega Drive tile and map editor

Post by BigEvilCorporation » Wed Dec 02, 2015 9:39 pm

Source here:

https://github.com/BigEvilCorporation/Beehive

------------------------------------------------------------------------------------------

Win32 releases here:

Alpha 0.0.40 https://www.mediafire.com/?83zzi693sfwl1yf
- Sprite editor and animation tool

Alpha 0.0.34 https://www.mediafire.com/?ktz2xjkj6rmb8n7
- Terrain bezier paths feature

Alpha 0.0.33 https://www.mediafire.com/?dj26050t8plhml3
- Solid wall/ceiling collision block feature
- Terrain tile cleanup bug fixes

Alpha 0.0.32 https://www.mediafire.com/?3q9a4kakcr5iqn1
- Terrain heightmap feature

Alpha 0.0.31 https://www.mediafire.com/?zso56tft5ccgum2
- First release

------------------------------------------------------------------------------------------

Hi all,

I've been working on this thing on and off for over a year now, with the intention of doing a polished public release "at some point". A few people have been poking me about it so I've decided to just release an early alpha version as-is until I get some spare time to finish it off properly.

So here it is - Beehive: A Complete Art Tool for the SEGA Mega Drive! Well, it will be when it's finished.

Image

So far I've implemented:

- Import tiles/palettes from bitmap (16 colour, indexed only)
- Palette editing
- Palette swatch slots with import/export
- Tile editing
- Add/remove tiles
- Create and paste stamps
- Create stamps from imported BMP
- Stamp baking to tiles
- Basic and glitchy (but functional) Game Object definition tool with import/export (to share game object types for one game across all maps)
- Basic and glitchy (but functional) collision tile editor and direct-to-map collision pixel painting
- Game Object placement
- Multiple selection
- Box selection
- Tile picker
- Clone and paste
- Fill selection
- Flip tile vertically/horizontally
- Flip stamp vertically/horizontally
- Grid show/hide
- Clear map
- Resize map
- Dockable panels
- Project save/load

There's a short video from an old old version showing off the Stamps functionality, which is the main tool used for map creation, right here: https://www.youtube.com/watch?v=gShxiJxg-sI

It's still in very early development, full of bugs and can be a little troublesome to use at times, but I will persevere with it at some point and ensure it becomes a useful tool for all. I've been using it solidly to create Tanglewood, and it hasn't let me down yet.

There's no documentation at all just yet so have a play around. Hint: Start with Tiles -> Import to get started importing a BMP file (16 colour, indexed only). There's also a few hidden gems in the right-click menus:

Palette swatches
Image

Background tile selection
Image

Stamp baking
Image

Please do enjoy :)
Last edited by BigEvilCorporation on Sun Jun 12, 2016 12:47 pm, edited 5 times in total.
A blog of my Megadrive programming adventures: http://www.bigevilcorporation.co.uk

KanedaFr
Administrateur
Posts: 1139
Joined: Tue Aug 29, 2006 10:56 am
Contact:

Re: Beehive - a Mega Drive tile and map editor

Post by KanedaFr » Wed Dec 02, 2015 10:45 pm

I'm very interested in your collision stuff ;)
I see a collision tileset...how do you use it ?

Linkuei
Newbie
Posts: 4
Joined: Wed Dec 02, 2015 10:38 pm

Re: Beehive - a Mega Drive tile and map editor

Post by Linkuei » Wed Dec 02, 2015 10:46 pm

I just created this account to thank for sharing this tool with us.
This will be VERY useful for me, THANKS!

dub
Very interested
Posts: 101
Joined: Thu Mar 19, 2015 1:26 pm

Re: Beehive - a Mega Drive tile and map editor

Post by dub » Thu Dec 03, 2015 10:02 am

Thanks a lot.

With great Tools comes great Games :mrgreen:

BigEvilCorporation
Very interested
Posts: 209
Joined: Sat Sep 08, 2012 10:41 am
Contact:

Re: Beehive - a Mega Drive tile and map editor

Post by BigEvilCorporation » Thu Dec 03, 2015 1:20 pm

KanedaFr wrote:I'm very interested in your collision stuff ;)
I see a collision tileset...how do you use it ?
It's one of the more experimental features so it's a bit cumbersome at the moment, but here are some quick steps:

- Double click an entry in the Collision Types panel and load a 16x16 graphic to represent it (16 colour BMP) - currently these aren't painted anywhere but they will be when it's finished
- On the Collision ribbon bar, click New - this creates the first blank tile (else tile ID 0 will be plastered all over the level)
- You now have the option to either create more new collision tiles and paint collision pixels in the Collision Tile panel (bottom right in the screenshot above), or...
- You can paint collision pixels to the map directly, and it will automatically add new tiles for you, by clicking the Paint Collision tool from the toolbox

There's no erasing tool yet so you'll have to click a pixel again to unset it, and the Cleanup tool doesn't yet work for collision so tiles are duplicated.

Exporting will export a Collision Tileset (4 bits per pixel, same as graphics tiles) and a Collision Map (one word per tile, representing tile IDs, same as graphics map). I have ASM code to read this if you'd like, I'm afraid I don't have an SGDK sample yet.

I would like to revisit collision in my engine and implement a more compact approach, either something along the lines of Sonic's two-bytes-per-tile to represent a slope, or at least one byte per vertical pixel row as a heightmap approach.

For now, it works for me, I'll make improvements later.
A blog of my Megadrive programming adventures: http://www.bigevilcorporation.co.uk

RetroGames
Interested
Posts: 34
Joined: Mon Oct 19, 2015 12:34 pm

Re: Beehive - a Mega Drive tile and map editor

Post by RetroGames » Tue Dec 08, 2015 5:45 am

Wow, this looks great! I'll have to give it a whirl sometime. :) Thanks for making this!

While I'm at it, your game, Tanglewood, looks really good as well. Can't wait to see the finished product! 8)

Pascal
Very interested
Posts: 200
Joined: Wed Nov 29, 2006 11:29 am
Location: Belgium
Contact:

Re: Beehive - a Mega Drive tile and map editor

Post by Pascal » Tue Dec 08, 2015 8:03 am

need to try this , thanks for your work and share !

it's interesting that you're using a pixel color detection , i was thinking to implement it :P i'll surely ask you some questions, if you don't mind ;)

cheers

pascal

pixelperfect
Newbie
Posts: 4
Joined: Sun Jan 04, 2015 5:21 pm

Re: Beehive - a Mega Drive tile and map editor

Post by pixelperfect » Sun Dec 13, 2015 5:37 pm

Oh how I wish you had released this a month or two ago :D I finished a project recently I will eventually post here that I did mostly with GraphicsGale and Retro Graphics Toolkit, and while RGT was absolutely the best thing I found at the time to use it was still a massive pain to use in a workflow sense.

Very excited to try this for any future MD projects. Thanks for actually releasing it to the public!

BigEvilCorporation
Very interested
Posts: 209
Joined: Sat Sep 08, 2012 10:41 am
Contact:

Re: Beehive - a Mega Drive tile and map editor

Post by BigEvilCorporation » Mon Dec 14, 2015 10:42 pm

I've redone the collision since I wasn't happy with its complexity. The original idea was to mark a collision pixel with bits, so that I could mark parts of the terrain as land, water, ledge, danger, etc etc. This involved having to import an image to represent the collision pixel type, painting it on as a bitmap, and I've no idea what I would have done for collision pixels holding more than one bit - some weird compositing I suppose.

The process was complex, the output data was large and the FindFloor routine in the engine... well, the less said about that the better.

I've replaced it all with a "heightmap per tile" approach - 8 bytes per collision tile, each representing the height of that column. No bitmaps, just plain ol' red height columns. I've de-scoped the different terrain types from my game's design, and I'll reimplement ledges as game objects instead.

Image

Just hit the little car icon in the toolbox and start painting directly onto the map - left click to draw, right click to clear. It will create the tiles for you as you go. Click "Cleanup" in the Collision ribbon to remove duplicates and unused tiles when you're done.

You can add new collision tiles, edit existing ones, or paint to the map using existing ones by clicking a tile in the Collision Tiles panel. You can also delete tiles and set a different one as the default tile by right-clicking one in the Collision Tiles panel.

I hope to add inverse-heightmaps (I've made sure to use signed 8-bit values ready) at a later date, to represent ceilings.

New release here: https://www.mediafire.com/?3q9a4kakcr5iqn1

Again this still in early alpha and hasn't had much testing :)
A blog of my Megadrive programming adventures: http://www.bigevilcorporation.co.uk

kubilus1
Very interested
Posts: 237
Joined: Thu Aug 16, 2012 2:25 am
Contact:

Re: Beehive - a Mega Drive tile and map editor

Post by kubilus1 » Mon Dec 21, 2015 2:32 pm

Doesn't seem to allow installation in Wine. "The operating system is not adequate..." Is this looking for a very specific version of Windows?

kubilus1
Very interested
Posts: 237
Joined: Thu Aug 16, 2012 2:25 am
Contact:

Re: Beehive - a Mega Drive tile and map editor

Post by kubilus1 » Mon Dec 21, 2015 2:51 pm

Setting winecfg to Windows 7 seems to work. Appears to work fine on wine!

Desbo4268
Newbie
Posts: 9
Joined: Sun Jan 17, 2016 8:37 am

Re: Beehive - a Mega Drive tile and map editor

Post by Desbo4268 » Wed Jan 20, 2016 8:30 pm

This is shaping up to be a really usefull tool, Im looking forward to any updates you release.

BigEvilCorporation
Very interested
Posts: 209
Joined: Sat Sep 08, 2012 10:41 am
Contact:

Re: Beehive - a Mega Drive tile and map editor

Post by BigEvilCorporation » Sat Apr 16, 2016 5:45 pm

Beehive 0.0.34 released!

I've been working on improving the lengthy and mundane process of terrain generation. It was sucking up quite a lot of my time having to paint, place and alter collision tiles whenever the designer(s) made a change to the level, and some problems in the workflow meant redoing large sections every time - mainly modifying a tile after clicking the 'cleanup' button resulting in changes to shared tiles which I didn't want. I thought about adding a method to clone tiles in-place, but decided this method of describing collision data in the editor was always going to be time consuming and I needed to come up with something better.

Introducing terrain generation from smooth bezier paths!

Image

- Click 'Add Terrain Bezier' from the Toolbox
- Left-click on the map to place points
- Right-click an existing point to delete
- Drag the position or control handles to move and shape points
- Right-click empty space or select another tool to finalise the path
- Click 'Generate From Beziers' from the Collision tool panel on the top ribbon to generate terrain from all beziers

Image

Image

This will delete all of the map's terrain tiles (because currently the manual draw method doesn't play nice with it). The solid wall tiles are unaffected.

As with the rest of Beehive, the feature is in its infancy and may have a bug or two, and the generation method uses a naive slicing-over-time calculation (I've provided a spinner box to change the granulation) which may create some artefacts with odd-looking curves.

The time required to create collision for my prototype level has decreased from 1 hour to around 15 mins!

Here's the finished terrain for one of the tree branches from Tanglewood:

Image

Any questions whatsoever, give me a shout!
A blog of my Megadrive programming adventures: http://www.bigevilcorporation.co.uk

BigEvilCorporation
Very interested
Posts: 209
Joined: Sat Sep 08, 2012 10:41 am
Contact:

Re: Beehive - a Mega Drive tile and map editor

Post by BigEvilCorporation » Sat May 14, 2016 10:08 am

Beehive 0.0.40 released!

https://www.mediafire.com/?83zzi693sfwl1yf

I've been creating a sprite import and animation tool, to help me take the grunt work out of converting sprites, and abolish the need to author animation data by hand in text files.

The tool allows you to:

- Create an Actor or Prop to group sprites and animations together (a concept which will be used for cutscene animation in future releases)
- Import sprites from whole sprite sheets
- Adjust sprite sheet dimensions to fit
- Adjust grid colour
- Automatically create animations from all frames in the sheet
- Drag frames from the sprite sheet to the timeline
- Rearrange frames in the timeline
- Preview the animation
- Scrub the timeline
- Adjust playback speed
- Export sprite headers, tile data and animation data to ASM file

Image

Image

Image

Once again this stuff in its early stages, there's at least one known crash which can occur when deselecting an animation which I've been trying to reproduce, and the palette export function doesn't yet work. I'll update with bug fixes as soon as they're available.

The exported data might be a little overwhelming since it's bespoke to my engine, but hopefully everything is labelled neatly and verbosely enough for programmers to figure out. Tiles and subsprites are exported in column major, so the calcs needed to extract tile data for individual frames should be straightforward. The anim data is just a list of frame offsets, no time info or anything complex (yet).

Matt
A blog of my Megadrive programming adventures: http://www.bigevilcorporation.co.uk

BigEvilCorporation
Very interested
Posts: 209
Joined: Sat Sep 08, 2012 10:41 am
Contact:

Re: Beehive - a Mega Drive tile and map editor

Post by BigEvilCorporation » Sun Jun 12, 2016 12:46 pm

A blog of my Megadrive programming adventures: http://www.bigevilcorporation.co.uk

Post Reply