JugiMap - 2d map editor

Started by Jugival, December 19, 2019, 14:53:56

Previous topic - Next topic

Jugival

Long ago when I was starting to learn programming I made my first map editor in BlitzMax.
These days I am again working on a map editor. No longer in BlitzMax though, I am now using c++ with Qt framework.

The editor is called JugiMap and is being developed for Windows OS. Here are some screenshots:








Along the editor I am providing also JugiMap API which is a library for using maps from the editor in game engines.
The API is currently developed in c++ and through extensions supports these engines: Cocos2d-x, AGK tier 2, SFML and nCine.
In future I plan to port it to more languages and cover more engines.

For API development I am using a small application called API Demo Test.

Check it out here:  https://jugilus.github.io/Jugimap-ApiDemoTest/JugimapApiDemoTest.html

Here is a screenshot of this application with Cocos2d-x engine.



The source code for API Demo Test is included with the API.

One interesting thing about the API is that it offer engine independent interface and a consistent, generic way for initializing and updating game scenes.
In example, the bulk of code for API Demo Test is engine independent code and engine specific things are mostly done at initialization.
Of course direct access to engine objects is also possible - API Demo Test has an example of using sprites as physics objects in simulation (for engines which offer physics system).


JugiMap is currently available for Windows OS. You can get it here: http://jugimap.com
JugiMap API is on GitHub: https://github.com/Jugilus/jugimapAPI




Naughty Alien


Steve Elliott

Yep, it looks very professional.
Win11 64Gb 12th Gen Intel i9 12900K 3.2Ghz Nvidia RTX 3070Ti 8Gb
Win11 16Gb 12th Gen Intel i5 12450H 2Ghz Nvidia RTX 2050 8Gb
Win11  Pro 8Gb Celeron Intel UHD Graphics 600
Win10/Linux Mint 16Gb 4th Gen Intel i5 4570 3.2GHz, Nvidia GeForce GTX 1050 2Gb
macOS 32Gb Apple M2Max
pi5 8Gb
Spectrum Next 2Mb

Jugival

#3
Hello fellow developers,

A new version of JugiMap is out. This is a smaller update but important as it fixes some serious bugs. Among the new things there is improved handling of parallax and screen maps and several other additions and tweaks.

JugiMap is currently available for Windows OS. Get it here: http://jugimap.com


I also made a new demo application called "Parallax Scrolling" which utilizes the parallax map features of JugiMap API. It comes with source code and editor map files.

Check it out here: https://jugilus.github.io/Jugimap-ParallaxScrolling/JugimapParallaxScrolling.html

Here is a screenshot with the background parallax map of the demo in the editor:


In future I plan to make more demo applications, covering various aspects of JugiMap API. 


Derron

#4
Looks pretty sleek (editor) and the scrolling demo worked pretty smooth here. Good job so far.


Regarding Editor: the Windows looks like a Windows 10 theme - while the widgets have a "plastic" theming which looks a bit alien there. Reminds more of buttons coming from my Linux Mint's GTK theme.

the black background of the "panel sections" is a bit too "much" imho - and the grey text on it seems to have too low contrast to the background. Bright backgrounds might suit better to the windows-caption color.

As you use QT I assume it is just a matter of configuring everything to fit to the OS theme.


Edit: What I also want to remark is: in the scrolling demo you scroll around a "level" but as soon as it changes from horizontal to vertical movement ("end of the level") it does it very aprupt. Maybe it would look better if the direction change became "smooth" too. A straight movement could be "lerped" and using one of the known algoithms (of course not "bounce" or "cubic" then :D). Chained movements could take the "successor" into consideration. So on the last "end - x" pixels of the first movement it incorporates the position "x" of the next movement. That way on a "perfectly horizontal then vertical" movement chain it would do a "quarter circle" movement when transitioning between them

bye
Ron

3DzForMe

Oh my lord Jugival, exceptional work 😎
BLitz3D, IDEal, AGK Studio, BMax, Java Code, Cerberus
Recent Hardware: Dell Laptop
Oldest Hardware: Commodore Amiga 1200 with 1084S Monitor & Blitz Basic 2.1

Jugival

@Derron
I am using custom title bars for docks in Qt. The default one for Qt were to big for my taste and waste of vertical space. That was something I did several years ago and use since then. Dunno maybe Qt got more flexible in that regard over time but I am content with what I have. If you look at the non-resized gui you will see that the title texts have enough contrast.

Yes, I guess I could polish the camera movement, haven't really considered that important for the purpose of this demo. I may update it...

Jugival

#7
Hello everybody,

A new version of JugiMap has been released and it brings a major new feature called sprite timeline animation. This is a general animation type which can be used for various purposes, from simple background animations and movement patterns to more complex stuff like cutscenes and intro animations.

A new demo application called "Sprite Timeline animation" is also available and it shows practical examples of animated sprites.
Check out a web build and get more information here: https://jugilus.github.io/Jugimap-SpriteTimelineAnimation/JugimapSpriteTimelineAnimation.html

Here is a screenshot of the used map in the editor:



Jugival

#8
Hi,

JugiMap has just received another update. The headline feature of the new version is the GUI module in JugiMap Framework. This module provides various widgets and text objects which allow developers easy implementation of GUI features in their games.

As always I have prepared a demo application to accompany a new JugiMap version. Check out the new gui features in action: https://jugilus.github.io/Jugimap-GuiDemo/JugimapGuiDemo.html

A screenshot of the used map in the editor:


JugiMap is currently available for Windows OS. Get it here: http://jugimap.com

Jugival

#9
edit: ok, sorted out the missing images.

Back on topic...

In the last update I also renamed my library from JugiMap API to JugiMap Framework. The goal is to have a self contained framework which allow engine independent programming. So you could code a game and then deploy it via any of supported engines; or maybe you could use different engines for deploying to different platforms.

My priority now is to get the framework to a point where you could code full games in it. Some things are still missing (sound system, output file streams).
Hopefully my next update will not be accompanied only by a demo example, but a full game instead.   ;D