673f49b695176

673f49b695ef7
1 Guest is here.
 

673f49b6966badertseha

673f49b69672b
° InkyBlackness

Exciting news! Quicker than expected, I managed to fit the simple map editor with basic functions, package it together with other IB tools - and release it!
Download the binaries (Win64, Linux64) here:
https://github.com/inkyblackness/deck/releases/tag/v0.1.0

Before anyone gets too excited, the list of things it can do is way shorter to list than the things it can not do. As of v0.1.0 you can modify the basic tile properties of a level, meaning things like heights, tile type or textures. You might be able to modify Citadel a bit - Yet, since no object modification is possible, nothing fancy can come out of it. It can be used to try out new level layouts at most, possibly in tandem with the added tool "construct", which creates a new archive file with one empty level. (New Game -> and feel alone ;) )

So, why make a release? I wanted to get the chain going and see what would be additionally required. Documentation on the tools is very thin, check out the readme in the release package and try to get the editor running :)
Should anyone get the editor in their browser, yes, there is hardly any styling. If there is an HTML/CSS wizard willing to help, I'm all open :) My primary focus is still on cracking the resource files, not style & usability.

(Funny enough, this is yet another coincidence with IB today: Right on the release date of SS1 itself :P -- that wasn't planned, yet, as soon as I saw the tweet I knew I had to speed up.)
« Last Edit: 18. May 2016, 21:10:03 by Kolya »

673f49b6967e7fascinate4

673f49b696848
Wow, that's cool, dude. But why when i want to use this programm, im need to use a browser?
673f49b696afe
Congratulations on getting the editor out - I can confirm that it works and managed to punch holes in the station :)  A few notes:
  • The source code links in your download page are essentially empty.  Of course, you can still get to the code via the github user interface.
  • It would be nice if the server could (optionally) be bound to something other than just localhost.  It would probably be a bit awkward to use but I was interested in launching it on my PC and using it on a tablet device.
  • Changing levels seemed to take a long time to load and after a few times caused my browser (Chrome) to think that the page had stalled.
  • It would be nice if there was a way to "push" your changes from the project back into the main game without having to manually copy / move files.  Perhaps allowing savegame data to be updated would be a way to do it safely without affecting the main archive.dat file.

Anyway - congratulations again.  I'm not 100% convinced on the server / browser mechanism but getting as far as you have is impressive and I'm looking forward to seeing how this develops.

673f49b696beffascinate4

673f49b696c48
Im sorry for troubling, but im really stupid and i can't run this editor. Can anybody to make video tutorial pls?

673f49b6970b3dertseha

673f49b69710d
Thank you both for your feedback!
I've added your points as issues on the IB:deck project on GitHub, so you can track them there.

The "deck" project contains only git-submodules, referring to the other projects (and dependencies). These aren't included when GitHub automatically creates the source archives for a release. I haven't found a way to turn that confusing part off yet, and I'll consider adding a source archive manually for the future releases. ( https://github.com/inkyblackness/deck/issues/1 )

Trying to load the editor on a tablet is an interesting idea - beware though that the long load times may be even longer there. I'll add the option, together with a port option as well. ( https://github.com/inkyblackness/deck/issues/2 )

Which brings me to the general topic of the browser based client: I chose that approach because it was the quickest way to get some UI working; The very first prototype of showing the 64x64 tile map was done in a few lines of code and the current editor is still small as well, code-wise. I considered the long load times of a level within acceptable limits, given that, when editing, you wouldn't do that often - and, you can open levels in separate tabs and work in parallel on them.

If the demand for a standalone client stays high (and/or I can't come up with an easy way for an interface for the level objects), I'll consider making one. I will have another look at the current state of UI libraries for Go, my preferred language for this project. Otherwise it'll most likely be Java.
( https://github.com/inkyblackness/deck/issues/3 )

As for which files to change and how to get them into the installation directory quicker:
I initially decided against adding the option to modify savegames, and will reconsider. It shouldn't be too difficult to change that, most of the underlying code would support that. It should also be easily possible to change the way how the projects are handled - would a separate mode be OK, where instead of providing source/project directories, the server is pointed directly at the installation and modify the files in-place? ( https://github.com/inkyblackness/deck/issues/4 )

The benefit I saw with the project-based solution was that you see which files you'd have to roll out as a mod (If it included texts, logs and the like). If everything is in the same place, the user will have to do a diff with original files to see which have changed.

fascinate4: Your struggle to get it working tells me it's rather the documentation/design that is stupid, not the user :) I thought about making some setup-videos, but haven't found the time yet. I'll continue in my next post with a text-based description meanwhile.

673f49b6971bffascinate4

673f49b69720a
Okay, thanks for reply. I will be waiting for tutors. keep it up :D

673f49b69756bdertseha

673f49b6975b9
How-To Setup shocked-server in v0.1.0+

The setup is the same for any OS, so for the following commands, just replace any OS shell-specifics with your OS. Using linux for now.

1. You need the original files from the game in a central directory. This can be the copy of the original CD or some collection (Note: I haven't tried this with any of the re-issues, though, they should work as well)
Let's say they are below <home>/SystemShock/original

2. Create an empty directory for the projects. This is where the server will put any modified files.
For this example, we'll work with <home>/SystemShock/projects

3. copy/extract the InkyBlackness release files into a third directory:
<home>/SystemShock/inkyblackness

4. within the directory of inkyblackness, start the server with the following command from the command line:
Code: [Select]
.../inkyblackness> shocked-server --source <home>/SystemShock/original --projects <home>/SystemShock/projects --client <home>/SytemShock/inkyblackness/client

This should then print some log output, including the line "Client added from (your path)"

5. Open your browser (Firefox and Chrome will work, others I don't know) and enter into the address bar:
Code: [Select]
http://localhost:8080/client/index.html

This should then show the (unfancy) UI.

How-To Edit a map in shocked-client in v0.1.0+
Assuming the above steps were done, you should see a simple page with three options at the top "projects", "map" and "textures". "projects" should be selected and you have some options about projects.

The first time one needs to create a first project; Enter a name, e.g. "first" and push the "Create" button.

When projects exist (or a new one has been created), use the drop-down list to select the project you want to work with (the new one).
This should update the stats below. For a typical installation this means 16 levels and 273 textures.

With that in place, you can switch to "textures" and browse those (no edit as of v0.1.0).
Or switch to "maps" and select a level under "control" - this will load that level, taking some time.

When the map is displayed, switch over to "tiles", select one (or multiple using CTRL+click) in the map and change their properties on the left.
After changes happened and a few seconds have passed (see server log output) the archive.dat file will be (re)written. Copy that to the game's installation folder (overwrite existing file) and start a new game with your level.

How-To create an empty map with construct in v0.1.0+
Simply run the executable "construct" in the inkyblackness directory ("construct --help" shows a few more options). This tool creates a new archive.dat file, which can be copied to the game installation directory, or used in a project of shocked-server (needs restart). The texture was picked on purpose, otherwise it wouldn't be called "construct" ;)

673f49b697710icemann

673f49b69777b
Good start. Hope you keep at it, and eventually get it to full level editor status.

673f49b697870fascinate4

673f49b6978c2
Wow, it works! Damn, that's cool.
[shock001.png expired]
[shock000.png expired]

673f49b697f13RocketMan

673f49b697f6c
I wonder if this could somehow be combined with the work of ToxicFrog, who, as I remember, did a lot of work on editing objects and archetypes.

673f49b698108dertseha

673f49b698165
fascinate4, great you got it working :)

I know of ToxicFrog's work and didn't have a deep look at it so far (how much extra was found out compared to the last version from TSSHP) - though I believe it was mostly about the general stats of objects (in objprop.dat) instead of the properties of the object instances within a level (archive.dat and savegames).
It is my intention to incorporate their findings into the IB documentation project as well.

On the editor front I went through my options and found at least one possible design that has potential, both from the capabilities as well as the technological challenge. Meaning, the challenge/benefit ratio is at an interesting level :) I'm being vague here because I want to do some prototyping first before I claim anything. I am well aware of the fate of many SS1-related projects that started off big, so I want to make small steps and see what's doable.

673f49b69821dicemann

673f49b69826f
Good idea.

A good tactic in general with dev stuff, is taking out all the little things 1st, then move onto the big stuff.

TSSHP followed a similar path.
1 Guest is here.
crouches slightly, strikes some sort of “booyah” pose
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
673f49b6991ce