Author Topic: Soldat PolyWorks 2 (WIP)  (Read 12914 times)

0 Members and 1 Guest are viewing this topic.

Offline Shoozza

  • Retired Soldat Developer
  • Veteran
  • ******
  • Posts: 1631
  • Soldat's Babysitter
    • Website
Soldat PolyWorks 2 (WIP)
« on: June 26, 2012, 05:58:00 pm »
Hi I'm rewriting Soldat PolyWorks - currently the most popular Soldat Mapeditor and would like to get some feedback.

Main reason is that PolyWorks was written in Visual Basic 6 an old and unsupported language (it was released in 1998).
Another reason is that Soldat tools should be available on the same systems as Soldat (porting Soldat to GNU/Linux and Mac OS X is one of my Soldat related goals).

Main Features:
  • Crossplatform support (GNU/Linux, Mac OS X, Windows)
  • Easy, Minimal and Clean GUI
  • Extendable via Scripting and Plugins
  • Open and edit multiple Maps
  • Layer support
  • Polygon/Scenery Grouping/Locking
  • Multilingual User Interface
  • Good help system (with Help overlays)
  • Own map format for saving with extra info (undo history, notes, layers, sketches, current view, etc)

Advanced stuff if time permits:
  • Autosave
  • Polygon drawing with automatic triangulation
  • Component/Shape library (improved Prefab handling)
  • Online mode, for more than one mapper working on the same map
  • Views: viewing multiple areas of a single or multiple open Maps at the same time
  • ...

Please check out the Mockups the current screenshot GUI is temporary and will change once I finally decide on how the GUI should look like
Mockups:

https://dl.dropbox.com/u/2394029/Screenshots/soldat_polyworks_2_mockup.png
https://dl.dropbox.com/u/2394029/Screenshots/soldat_polyworks_2_mockup_2.png
https://dl.dropbox.com/u/2394029/Screenshots/soldat_polyworks_2_mockup_3.png
https://dl.dropbox.com/u/2394029/Screenshots/soldat_polyworks_2_mockup_4.png
https://dl.dropbox.com/u/2394029/Screenshots/soldat_polyworks_2_mockup_5.png
https://dl.dropbox.com/u/2394029/Screenshots/soldat_polyworks_2_mockup_6.png
https://dl.dropbox.com/u/2394029/Screenshots/soldat_polyworks_2_mockup_7.png


Screenshots:

First public posted screenshot:


Updated version:


GUI mockup implementation:



Please let me know what you think, what you like and what do dislike.
« Last Edit: July 30, 2012, 09:09:08 am by Shoozza »
Rules
Tools: ARSSE - SARS - SRB - chatMod

Offline DelintiQ

  • Major(1)
  • Posts: 5
Re: Soldat PolyWorks 2 (WIP)
« Reply #1 on: June 26, 2012, 06:09:58 pm »
Ash looks great, for play without texture files =D

Offline As de Espada

  • Soldat Beta Team
  • Veteran
  • ******
  • Posts: 1493
  • Mapper
    • My maps
Re: Soldat PolyWorks 2 (WIP)
« Reply #2 on: June 26, 2012, 06:21:41 pm »
Really good! It will be an awesome tool. I'll give more feedback via irc.
All my maps | my latest map: SoldatX Racing Mappack
me making a map on youtube: ctf_FastMade

Offline Shoozza

  • Retired Soldat Developer
  • Veteran
  • ******
  • Posts: 1631
  • Soldat's Babysitter
    • Website
Re: Soldat PolyWorks 2 (WIP)
« Reply #3 on: June 26, 2012, 06:33:04 pm »
Ash looks great, for play without texture files =D
Please also check out the Mockups the screenshot GUI will change :P
I mainly want to know how you use PolyWorks so I can make it easier for you to edit maps thats why I added the Mockups.

Really good! It will be an awesome tool. I'll give more feedback via irc.
Don't forget to add the main points back to the thread so I can read them again ;)
Rules
Tools: ARSSE - SARS - SRB - chatMod

Offline xmRipper

  • Soldat Beta Team
  • Flagrunner
  • ******
  • Posts: 742
    • Macellan
Re: Soldat PolyWorks 2 (WIP)
« Reply #4 on: June 27, 2012, 03:56:07 pm »
Shoozza did you use any tool to draw these mockups or they are just your hand-made drawings?
CoFounder / CTO @ Macellan
Founder Turkish Soldat Community

Offline jrgp

  • Administrator
  • Flamebow Warrior
  • *****
  • Posts: 5033
Re: Soldat PolyWorks 2 (WIP)
« Reply #5 on: June 27, 2012, 07:01:15 pm »
What widget toolkit is that? Or are you going to use WinAPI for Windows and something cross platform (eg QT/WX) for the other two? I didn't mention GTK because it isn't native on Mac and requires X11.
There are other worlds than these

Offline Shoozza

  • Retired Soldat Developer
  • Veteran
  • ******
  • Posts: 1631
  • Soldat's Babysitter
    • Website
Re: Soldat PolyWorks 2 (WIP)
« Reply #6 on: June 27, 2012, 07:19:58 pm »
Shoozza did you use any tool to draw these mockups or they are just your hand-made drawings?
I use a tool called Pencil: http://pencil.evolus.vn/en-US/Home.aspx

What widget toolkit is that? Or are you going to use WinAPI for Windows and something cross platform (eg QT/WX) for the other two? I didn't mention GTK because it isn't native on Mac and requires X11.
I'm writing it in Lazarus/Delphi. I think it allows me to choose between QT and GTK when compiling for GNU/Linux.
It uses Carbon for the Mac OS X GUI so I guess X11 is not necessary.
« Last Edit: June 27, 2012, 07:39:37 pm by Shoozza »
Rules
Tools: ARSSE - SARS - SRB - chatMod

Offline xmRipper

  • Soldat Beta Team
  • Flagrunner
  • ******
  • Posts: 742
    • Macellan
Re: Soldat PolyWorks 2 (WIP)
« Reply #7 on: June 27, 2012, 07:32:31 pm »
Ok thanks that will help me a lot :)
CoFounder / CTO @ Macellan
Founder Turkish Soldat Community

Offline L[0ne]R

  • Soldat Beta Team
  • Rainbow Warrior
  • ******
  • Posts: 2078
  • need a life. looking for donors.
Re: Soldat PolyWorks 2 (WIP)
« Reply #8 on: June 27, 2012, 09:28:56 pm »
My opinion on mockups (because I'm a damn big deal :D ).

I'd stay away from MacOS-like dock with resizing icons. It looks fancy but not practical with small icons. A single row sidebar or a 2-row window like on mockup 1 and 2 would be easier to use. Another thing to consider is a sidebar on the right with potential features like layers which can be locked, hidden, or have some other effect applied to them. Config could be moved inside one of the dropdown menus instead of having its own personal button. Speaking of config window - it looks rather messy. Are you sure there will be this many settings? For example, does Theme really need a whole separate tab? Title bar could also be a bit more compact IMHO. For example, "window" menu could be moved inside "view". "Texture" could instead be part of a sidebar or a small window like it is now in polyworks.

So you could have this:
File - save/open/close FILE.
Edit - edit CONTENTS of that file.
View - change how you SEE your workspace.
Help - INFORMATION about the program and its status.

Then have all the tools in one sidebar/window, and additional things like texture picker, layers, etc in another sidebar. Pretty much how photoshop or most other graphic editors do it, even Polyworks 1 does it very similarly.

Also keep in mind the possibility of making maps from within Soldat itself, so players can edit and play the map at the same time. Maybe some of that PW2 code will help achieving that.


L[one]R, INF veteran
maps - remakes: inf_Warehouse ; inf_Fortress ; inf_(Sun)Rise ; inf_Outpost ; inf_Abel ; inf_Moonshine

Offline jrgp

  • Administrator
  • Flamebow Warrior
  • *****
  • Posts: 5033
Re: Soldat PolyWorks 2 (WIP)
« Reply #9 on: June 28, 2012, 06:42:45 am »
What widget toolkit is that? Or are you going to use WinAPI for Windows and something cross platform (eg QT/WX) for the other two? I didn't mention GTK because it isn't native on Mac and requires X11.
I'm writing it in Lazarus/Delphi. I think it allows me to choose between QT and GTK when compiling for GNU/Linux.
It uses Carbon for the Mac OS X GUI so I guess X11 is not necessary.

Why don't you use C++ instead? Are you forking or using bits of code from the original map editor that's in Delphi?
There are other worlds than these

Offline Shoozza

  • Retired Soldat Developer
  • Veteran
  • ******
  • Posts: 1631
  • Soldat's Babysitter
    • Website
Re: Soldat PolyWorks 2 (WIP)
« Reply #10 on: June 28, 2012, 07:09:29 am »
I'd stay away from MacOS-like dock with resizing icons. It looks fancy but not practical with small icons. A single row sidebar or a 2-row window like on mockup 1 and 2 would be easier to use.
The dock would be too difficult to quickly aim - true. It would be good if there are too many items in tools though. Another way would be to add second actions for the button which you could switch to.

Another thing to consider is a sidebar on the right with potential features like layers which can be locked, hidden, or have some other effect applied to them.
All right panel stuff is missing currently. But somehow you are the first one who notices it.

Config could be moved inside one of the dropdown menus instead of having its own personal button.
Dropdown menus you mean the hidden menubar?
Not sure if moving the config in the menu (which is hidden) is helpful for new people.
The button seems to be a simple solution for changing settings and it doesn't take much space either.
Or why do you want to move it somewhere else?

Speaking of config window - it looks rather messy. Are you sure there will be this many settings? For example, does Theme really need a whole separate tab?
Im not sure if it needs it but I just was quickly added stuff so if you know better primary tab entries let me know. What are the other issues you see with it?

Title bar could also be a bit more compact IMHO. For example, "window" menu could be moved inside "view". "Texture" could instead be part of a sidebar or a small window like it is now in polyworks.
You don't think the titlebar in menu 5 is good? It has a minimal space for dragging and maximizing (by double click) but that space could be hidden in fullscreen.
I see no reason to make the menu deeper as there is plenty of room for it when its visible (it's hidden by default and can be showed by pressing alt or making it always visible in options).

Then have all the tools in one sidebar/window, and additional things like texture picker, layers, etc in another sidebar. Pretty much how photoshop or most other graphic editors do it, even Polyworks 1 does it very similarly.
The other sidebar controls will be added later.

Also keep in mind the possibility of making maps from within Soldat itself, so players can edit and play the map at the same time. Maybe some of that PW2 code will help achieving that.
Yeah ingame mapeditor idea was there for a long time but it's not high priority but since PW2 is written in the same language as Soldat it could be integrated.

Thanks for the feedback!



Why don't you use C++ instead?
It will be part of the official repo, Lazarus/FPC is good enough for this, code reuse in and from Soldat is easily possible (keep stuff in sync while updating the game).
Works out of the box without redist kit installs on Windows.

Are you forking or using bits of code from the original map editor that's in Delphi?
Currently not. The only thing might be the rendering code which I wrote years back for ARSSE but never used it.
I'm not sure if I used the old Mapeditor code thought.
Rules
Tools: ARSSE - SARS - SRB - chatMod

Offline jrgp

  • Administrator
  • Flamebow Warrior
  • *****
  • Posts: 5033
Re: Soldat PolyWorks 2 (WIP)
« Reply #11 on: June 28, 2012, 07:29:44 am »
Why don't you use C++ instead?
It will be part of the official repo, Lazarus/FPC is good enough for this, code reuse in and from Soldat is easily possible (keep stuff in sync while updating the game).
Works out of the box without redist kit installs on Windows.

If this is going to be open source, and it's sharing little bits of code with Soldat, does that mean some of Soldat's source will be public?

I guess I assume'd you'd make the source for your map editor public (like your old intentions with OpenSoldat) but I guess I don't see any mention of that in your posts.
There are other worlds than these

Offline Dusty

  • Veteran
  • *****
  • Posts: 1015
Re: Soldat PolyWorks 2 (WIP)
« Reply #12 on: June 28, 2012, 07:37:20 am »
I'm surprised people actually use the tool box as the hotkeys for different tools in PW are very easy to learn. I hid the tool box years ago.

Offline Shoozza

  • Retired Soldat Developer
  • Veteran
  • ******
  • Posts: 1631
  • Soldat's Babysitter
    • Website
Re: Soldat PolyWorks 2 (WIP)
« Reply #13 on: June 28, 2012, 08:16:32 am »
Why don't you use C++ instead?
It will be part of the official repo, Lazarus/FPC is good enough for this, code reuse in and from Soldat is easily possible (keep stuff in sync while updating the game).
Works out of the box without redist kit installs on Windows.

If this is going to be open source, and it's sharing little bits of code with Soldat, does that mean some of Soldat's source will be public?

I guess I assume'd you'd make the source for your map editor public (like your old intentions with OpenSoldat) but I guess I don't see any mention of that in your posts.
It will be mostly the other way around Soldat will use code from PW2 stuff like the mapformat is already available publicly via the old Mapeditor.
I wanted to keep stuff focused on the design stuff and not on licensing and programming languages as they don't matter for the normal user of Polyworks.
I will be probably opensource it but not at the beginning (else you would see the src in this post or the devlog long ago). Currently I don't think it matters.
It needs a good base first to encourage people to work on it.

I'm surprised people actually use the tool box as the hotkeys for different tools in PW are very easy to learn. I hid the tool box years ago.
True but new users have to learn the hotkeys. Buttons with stuff like tooltips with hotkey info would help ;)
« Last Edit: June 28, 2012, 08:20:34 am by Shoozza »
Rules
Tools: ARSSE - SARS - SRB - chatMod

Offline machina

  • Soldat Beta Team
  • Veteran
  • ******
  • Posts: 1117
  • The world isn't nice. Why should I be...?
Re: Soldat PolyWorks 2 (WIP)
« Reply #14 on: June 28, 2012, 02:38:17 pm »
Will be PMS improved to add little miniature of map and other data like Creator etc...

Offline duz

  • Flagrunner
  • ****
  • Posts: 586
  • Old nick: HunterZ
Re: Soldat PolyWorks 2 (WIP)
« Reply #15 on: June 28, 2012, 02:56:58 pm »
Quote
Online mode, for more than one mapper working on the same map
Nice !!!
2002-2007 / 2009-2012
HunterZ The Movie I / II / III
Awards

Offline Shoozza

  • Retired Soldat Developer
  • Veteran
  • ******
  • Posts: 1631
  • Soldat's Babysitter
    • Website
Re: Soldat PolyWorks 2 (WIP)
« Reply #16 on: June 28, 2012, 04:56:01 pm »
Will be PMS improved to add little miniature of map and other data like Creator etc...
PMS will stay the same.
This is not about improving the mapformat please stay on topic.
Rules
Tools: ARSSE - SARS - SRB - chatMod

Offline L[0ne]R

  • Soldat Beta Team
  • Rainbow Warrior
  • ******
  • Posts: 2078
  • need a life. looking for donors.
Re: Soldat PolyWorks 2 (WIP)
« Reply #17 on: June 28, 2012, 07:31:13 pm »
The dock would be too difficult to quickly aim - true. It would be good if there are too many items in tools though. Another way would be to add second actions for the button which you could switch to.
If there are so many tools that even a two-columns-wide full-height sidebar is not enough - you're doing something wrong. :P Polyworks is simpler than photoshop, so if photoshop can fit all its tools in a simple sidebar - then PW2 can too. Yet another photoshop reference: some of the buttons in its sidebar reveal additional tools if you click-and-hold on them. For example, if you click and hold on "Brush" tool - you'll also see icons pop up for Pencil, Mixer Brush and Color Replacement tool. If there really are that many tools - they could be grouped in a similar way.

All right panel stuff is missing currently. But somehow you are the first one who notices it.
Thats because I LOOOOOOOOOOOVE sidebars. :D

Dropdown menus you mean the hidden menubar?
Not sure if moving the config in the menu (which is hidden) is helpful for new people.
The button seems to be a simple solution for changing settings and it doesn't take much space either.
Or why do you want to move it somewhere else?
By dropdown menus I mean "File/Edit/Texture/View/Window" menus in the title bar.
From my experience many programs have config/preferences/options button located in one of such menus instead of having a separate button in a different place (though I've seen some programs use the latter too). I think thats where most users will go looking if they want to change some settings. They will definitely notice the menus in the title bar because every program has them, but not everyone will immediately notice a small button in the opposite corner. It doesn't make a huge difference really, but I think placing it in the dropdown menu is a safer and more reliable solution than a button that has to be coded and maintained separately.
Though on the other hand, it's placed in different menus in different programs, so unless menu names are obvious enough - user might end up having to look through multiple menus in order to find the button. :S Gah, I don't know...

Im not sure if it needs it but I just was quickly added stuff so if you know better primary tab entries let me know. What are the other issues you see with it?
Well, here's how I would group things up:
General Settings - File paths, file extensions, updater - most common settings that you'd find in any program.
Interface - Theme, Language, Hotkeys.
Network - Privacy, Online editing
Map Settings - IMHO doesn't belong in config at all. Config is about customizing how the program works, so map settings don't belong there (unless it's about how the program displays maps). With most programs you set them up the way you want and then don't touch the config again. Map settings is something you'll change very often when working on different maps, so having it in "Edit" dropdown menu would be more accessible.
Report Bug - belongs in the "Help" dropdown menu (you already have bugtracker there).
Collection Settings - not quite sure what that is. :S
Welcome page - unnecessary, instead maybe use "about" window in "help" menu.

Additionally, a tree-like appearance would help organize and group things a bit. Here's an example from Miranda IM's options window (see attached image)
You don't think the titlebar in menu 5 is good? It has a minimal space for dragging and maximizing (by double click) but that space could be hidden in fullscreen.
I see no reason to make the menu deeper as there is plenty of room for it when its visible (it's hidden by default and can be showed by pressing alt or making it always visible in options).
It just bugs me a bit how all other menus have a more general purpose, but then there's another menu dedicated exclusively to textures. Functionality and appearance-wise I have no complaints, though I would suggest having tabs and titlebar on separate rows, so that no matter how many tabs you have - you still won't have to hide/unhide title bar.
« Last Edit: June 28, 2012, 07:38:40 pm by L[0ne]R »


L[one]R, INF veteran
maps - remakes: inf_Warehouse ; inf_Fortress ; inf_(Sun)Rise ; inf_Outpost ; inf_Abel ; inf_Moonshine

Offline Shoozza

  • Retired Soldat Developer
  • Veteran
  • ******
  • Posts: 1631
  • Soldat's Babysitter
    • Website
Re: Soldat PolyWorks 2 (WIP)
« Reply #18 on: June 29, 2012, 07:30:55 am »
The mockups are independent (mostly). I changed the mockups based on feedback ;P (higher number = newer mockup)

If there are so many tools that even a two-columns-wide full-height sidebar is not enough - you're doing something wrong. :P Polyworks is simpler than photoshop, so if photoshop can fit all its tools in a simple sidebar - then PW2 can too. Yet another photoshop reference: some of the buttons in its sidebar reveal additional tools if you click-and-hold on them. For example, if you click and hold on "Brush" tool - you'll also see icons pop up for Pencil, Mixer Brush and Color Replacement tool. If there really are that many tools - they could be grouped in a similar way.

I know that you can group them (mentioned it in my last post in a similar way).
The idea is that users could add their own tools to the tools menu via scripting/plugins.

But i guess grouping could work out well.

By dropdown menus I mean "File/Edit/Texture/View/Window" menus in the title bar.
From my experience many programs have config/preferences/options button located in one of such menus instead of having a separate button in a different place (though I've seen some programs use the latter too). I think thats where most users will go looking if they want to change some settings. They will definitely notice the menus in the title bar because every program has them, but not everyone will immediately notice a small button in the opposite corner. It doesn't make a huge difference really, but I think placing it in the dropdown menu is a safer and more reliable solution than a button that has to be coded and maintained separately.
Though on the other hand, it's placed in different menus in different programs, so unless menu names are obvious enough - user might end up having to look through multiple menus in order to find the button. :S Gah, I don't know...
The config menu button was inspired by Chrome. The other idea was to have a tab with config like you can see in mockup 6.
The menubar could have the same settings so you have two ways to reach it.

Well, here's how I would group things up:
General Settings - File paths, file extensions, updater - most common settings that you'd find in any program.
Interface - Theme, Language, Hotkeys.
Network - Privacy, Online editing
Map Settings - IMHO doesn't belong in config at all. Config is about customizing how the program works, so map settings don't belong there (unless it's about how the program displays maps). With most programs you set them up the way you want and then don't touch the config again. Map settings is something you'll change very often when working on different maps, so having it in "Edit" dropdown menu would be more accessible.
Report Bug - belongs in the "Help" dropdown menu (you already have bugtracker there).
Collection Settings - not quite sure what that is. :S
Welcome page - unnecessary, instead maybe use "about" window in "help" menu.
Map settings somehow don't work yeah. Any idea where to put them in the map tab?
Report Bug could be moved into a Help group.
I'm not sure about Collection Settings either :P lets leave it out for now ;)
Welcome page would get displayed when you run PW2 it would show the last opened maps and other information and links to other stuff like help so you could get started easily.

Additionally, a tree-like appearance would help organize and group things a bit. Here's an example from Miranda IM's options window (see attached image)

It just bugs me a bit how all other menus have a more general purpose, but then there's another menu dedicated exclusively to textures. Functionality and appearance-wise I have no complaints, though I would suggest having tabs and titlebar on separate rows, so that no matter how many tabs you have - you still won't have to hide/unhide title bar.
I personally find Mirandas Config is just confusing and forces you to search stuff. Too many options and a inconsistent GUI.
But I thought about a tree like structure and i have ideas how to make it work - if we really need it.
I hope we don't need it though. There is enough space in the right side in the config to show all settings IMHO.

I'm not sure were else the texture stuff should go and i think it's currently ok it was there in PW and no one complained ;D.
If then it has to get yet another sidebar.
« Last Edit: June 29, 2012, 07:33:10 am by Shoozza »
Rules
Tools: ARSSE - SARS - SRB - chatMod

Offline Tehbugerz0r

  • Soldier
  • **
  • Posts: 158
Re: Soldat PolyWorks 2 (WIP)
« Reply #19 on: June 29, 2012, 02:23:52 pm »
Quote
Advanced stuff if time permits:
Autosave
Polygon drawing with automatic triangulation
Component/Shape library (improved Prefab handling)
Online mode, for more than one mapper working on the same map
Views: viewing multiple areas of a single or multiple open Maps at the same time
...

Auto-save: Can't see any reason not to have it, as long as it can be disabled and intervals altered.
Component/Shape lib: Likely worth the effort.
Online mode: I don't think this would be used seriously, I do not think it's worth the trouble.
Views: Can't think of a good use for this personally.

I'm not much of a mapper, but a more advanced version of Polyworks may change that.