English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   project.Amiga Game Factory (https://eab.abime.net/forumdisplay.php?f=69)
-   -   Scorpion Engine (https://eab.abime.net/showthread.php?t=97450)

earok 14 June 2019 13:10

Quote:

Originally Posted by Clydos (Post 1327206)
@earok: Cool stuff!

How does the process "converts into into a tiled map" work? Is that an automated process? Semi-automated? Manually? Would be interested in this process.

Automated. I have a template of a Tiled map which is resized by the Scorpion compiler to dimensions exactly matching the image. Then, a tile set is generated by analysing each 16x16 section and adding every unique tile exactly once to the tileset image (which can be seen at the bottom right)

There would still be a bit of manual cleanup work involved of course, such as declaring which tiles are solid or not, and maybe removing bad tiles (such as the ones made up of the fish and birds that overlap the tiles) but the tool takes most of the work out of manually porting an image to the Scorpion engine.

Clydos 14 June 2019 13:30

Alright, interesting, thanks for the info!

So, each extracted tile is then compared pixel by pixel to get the unique once, right? Or is there some kind of "calculating the checksum of each tile" in order to quick compare unique ones?

earok 14 June 2019 13:31

Quote:

Originally Posted by Clydos (Post 1327214)
Alright, interesting, thanks for the info!

So, each extracted tile is then compared pixel by pixel to get the unique once, right? Or is there some kind of "calculating the checksum of each tile" in order to quick compare unique ones?

It's pixel by pixel, which I'll admit is inefficient - but since the Scorpion compiler is aimed at modern Windows machines, the whole process runs in a fraction of a second anyway.

Clydos 14 June 2019 13:43

Yeah, you are right. Still, I wonder how a checksum based (or so) algorithm could look like. Guess it is about storing each color value in a 16x16 table and "somehow" calculate a checksum on it. I will try that.

earok 14 June 2019 14:02

Quote:

Originally Posted by Clydos (Post 1327217)
Yeah, you are right. Still, I wonder how a checksum based (or so) algorithm could look like. Guess it is about storing each color value in a 16x16 table and "somehow" calculate a checksum on it. I will try that.

Let me know how you get on. I've done some thinking about it but I haven't really come up with an 'efficient' way of doing it.

Clydos 14 June 2019 14:18

Quote:

Originally Posted by earok (Post 1327222)
Let me know how you get on. I've done some thinking about it but I haven't really come up with an 'efficient' way of doing it.

Yep, I will do that (but I am no pro coder. Just sayin'. :-))

zzbylu 17 June 2019 11:24

ScorpionTest002B - YT:
https://www.youtube.com/watch?v=0EboDSpsVws

Solo Kazuki 17 June 2019 12:46

Why not more colors for AGA?

Tigerskunk 17 June 2019 12:50

I am still not sure what this thing can do or where it's aimed at...

earok 17 June 2019 13:03

Cheers @zzbylu. Hopefully this weekend, sample pack 3 will be up.

AGA support will come at some point or another - it already has support for 1-5 bitplanes, and partial support for EHB, so adding support for 6-8 bitplanes shouldn't be too difficult.

zapiy 27 June 2019 17:57

Looks awesome bud.

Tsak 27 June 2019 23:13

Quote:

Originally Posted by Steril707 (Post 1327743)
I am still not sure what this thing can do or where it's aimed at...

It's a light action-rpg engine which supports modern windows dev tools like tiled and ink. Currently the engine can do 8 way scrolling in 50fps and has a ton of features including npcs, dialogue, quest system, events, teleports and many other stuff, able to run without issues on a500. Practically it's comparable to Backbone, but it offers far superior abilities and performance. Also it does not come in a self contained -all in 1 package- environment, so you are required to use a number of 3rd party windows tools (albeit free ones) to work it out. As it currently stands it's also not aimed to be a general use game maker but more genre specific.

The engine was made primarily to accommodate our projects but in this public form it's aimed at anyone who wants to build a similar game for Amiga without having to code it. Erik is expanding it (as we're developing our projects) and he is going to release it at some point.

Clydos 28 June 2019 10:13

Thanks a lot for the detailed information, @Tsak. Sounds very promising!

xboxown 03 July 2019 20:49

Well the editor be an Amiga Workbench application with easy to use draw map interface, add objects, monsters, npcs, etc by click of a mouse button on the map? When it comes to the event, will it be an easy to use click and play interface that converts everything into the script that the engine understand while the front is just an easy to use click and play interface like RPG Maker for example?

https://www.gdunlimited.net/media/up...tor/layout.jpg

https://i.ytimg.com/vi/OptpCB7OVBw/maxresdefault.jpg

http://i.imgur.com/Bx2744Z.png

Tsak 03 July 2019 23:01

@xboxown: Short answer is no. As I said, this is not an all in-one, fully interfaced game maker for Amiga, akin to RPG maker. Scorpion is more of a dev-level engine which will get release as is (at least this is the plan for the immediate future). What comes after that remains to be seen and it's completely up to Erik.

Development with Scorpion is currently split into several different tools (all windows based):

1) 'Tiled' is used to make maps (as per your example), define solidity, define foreground/background objects, setup event boxes, teleports, place enemies, enemy paths, place items e.t.c.
2) 'Ink' (which is a syntax/text based tool) is then used to define quest and event variables, dialogue and interactions, camera, cutscenes e.t.c. The work you'd do here communicates with Tiled, so f.e. if you want to link two teleporters you've made there, say teleporter "house1_basement_entrance" with teleporter "house1_basement_exit" you'd do it in Ink.
3) 'Sprite-beta' is the animation tool we're currently using to define frames and make animations for bob and sprite based objects like players and enemies. It's another powerful tool, which allows modular anims (combine multiple parts into one), setup collision rectangles and other variables. Spriter-beta is courtesy of Michael Parent (with whom we collaborate in other Pixelglass projects). It remains unreleased for now but there are plans to make it available at some point.
4) The internal configurable details of the engine and project (like hud placement, scrolling frame rate, player variables e.t.c) are set in a number of simple text files.
5) Finally Erik has an executable which compiles all the above (tiled, ink and spriter files, gfx assets, music e.t.c.) into the final game.

Note that any of the above are prone to be changed in the future and as the engine evolves.

earok 04 July 2019 09:53

Cheers @Tsak, that's essentially it ;)

There's already some support for developing Scorpion games on Linux and Mac in that Tiled exists on those platforms, and the configuration .txt files can obviously be edited in any editor. It might be possible to port the compiler to Linux and Mac as well, I'll look into that in the future, but I don't have any plans for Workbench support.

I did some work today on the block push mechanic, I can use that as a rudimentary example of how developing Scorpion projects work.

https://i.imgur.com/vHV3UmC.gif

In Tiled, we just need to configure the tile on the tileset to say that it's of the "Block" class (as opposed to being an actor or starting location), and that it's name is "Chair"

https://i.imgur.com/ZrDrdOy.png

And then, in our configuration file (project.txt), we set the properties of the Chair Block. It's obviously Solid, but we've also defined it as being Pushable - we've set this value to "True" because we want it to always be pushable, but we could alternatively link it to a variable (such as "CanPushChairs") if we want the ability to push that Block to be conditional. With the source property, we set both our source PNG for the block, as well as the X/Y offset.

Quote:

[block chair]
Source=maps\objects.png:32:16
IsSolid=true
PushVar=true

malko 04 July 2019 10:18

:great !

Reido 04 July 2019 14:48

Impressive!

Clydos 05 July 2019 12:50

Very cool! And I assume you can't push further if you hit another object like a wall or another chair!? Would it be possible to push on chair (pushable) against another chair (also pushable) and then push both chairs simultanously in a row?

xboxown 05 July 2019 18:50

Quote:

Originally Posted by Clydos (Post 1330819)
Very cool! And I assume you can't push further if you hit another object like a wall or another chair!? Would it be possible to push on chair (pushable) against another chair (also pushable) and then push both chairs simultanously in a row?

Erm...Link is a little boy, ok? He is not Obelix or some wrestler man that can lift you with one of his hand like that?


All times are GMT +2. The time now is 23:28.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.17675 seconds with 10 queries