Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Studio Chat / AppGameKit Studio - Scene Editor. (New Alpha 0.48).

Author
Message
Preben
AGK Studio Developer
15
Years of Service
User Offline
Joined: 30th Jun 2004
Location:
Posted: 21st Mar 2019 13:13
We are getting ready to send out a new Alpha, so i will start to close old issues on GitHub to prepare for the new alpha.

It will include the first version of the scene editor, i know it is still missing function (im working on it) so bare with me , the format will not change so you can start to use it to make your games.

You can add a scene file to any project, right click on the project and select "Add New Scene to Project".

A scene file is a single text file that include all the needed code and all settings needed by the scene editor.

You can have many scenes inside one scene file , or just add many single scenes to your project.

To use a scene in your game use the following sample code, just change "testscene.scene" to the name you use:

```
#insert "testscene.scene"
angle# = 0.0
do
testscene_sync()
SetSpriteAngle(testscene_player,angle#)
angle# = angle# + 0.75
if angle# >= 360.0 then angle# = angle# - 360.0
Sync()
loop
```

If you define a sprite variable in the scene editor (see screenshot "variables"), you can directly use it in your code like in this sample "testscene_player".

Use the "Start Test Mode" to see exactly how your game will look on a device, or just use run/broadcast (remember to add the code above before doing this).

If you click on a image in the "Scene Manager" it will switch to "Draw Mode" where you can quickly add sprites by just drawing on the screen. If you just want to add a single sprite you can drag/drop it directly.

Press "shift" and click/move with the mouse to use a rubber band to move around your level.

The new Alpha will be released Friday or early next week.

A few screenshots to show it in action:



Test Mode:


Variables:


Test Mode:




Edit multiple scenes:



And sure it will also include "Code Properties".

Subscribe and checkout great AppGameKit video's here: Videos click here
Latest GameGuru Loader news: News click here
Get GameGuru Loader PBR version here: Steam click here
best regards Preben Eriksen,

Attachments

Login to view attachments
c0d3r9
2
Years of Service
User Offline
Joined: 2nd Oct 2017
Location:
Posted: 21st Mar 2019 14:11
Wow that looks nice.
Did you plan adding a spriteshape editor inside the properties?
Laptop: Win10@64bit - i3 2x2Ghz - 8GB Ram - 1TB HDD
Desktop: Win10@64bit - AMD Ryzen 5 2400G - MSI B450 Tomahawk - 8GB Ram - 240GB SSD
Zigi
10
Years of Service
User Offline
Joined: 5th Jul 2009
Location:
Posted: 21st Mar 2019 17:50 Edited at: 21st Mar 2019 17:52
Looks good.
Quote: "
SetSpriteAngle(testscene_player,angle#)"

I see "testscene_player" is defined in the sprite properties as unique variable on the screenshot. So we need to use this unique variable to reference specific sprites?
Is there going to be any way to reference all instances of a sprite or group sprites or we need to pick them one by one using the "unique variable"?
I would like to see a way to get a group of sprites/instances in an array so we can reference them in a loop.
Quote: "And sure it will also include "Code Properties"."

I'm not sure what this is. Are we going to be able to attach scripts to each individual sprites or something else?

Actually I would have tons of other questions and possibly suggestions/requests.
I'll be waiting for the release and hope Rick going to share a sneak peek video like with the other features.
I'm very excited for this one.
Thanks.
Santman
8
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 21st Mar 2019 18:17
Zigi, you need to watch Rik's video, but in a nutshell it;s a new REM function that allows us to change values in realtime through a side window.
Imagination Engineer
5
Years of Service
Recently Online
Joined: 30th May 2014
Location: Shropshire, United Kingdom
Posted: 21st Mar 2019 23:22 Edited at: 22nd Mar 2019 01:46
Woah. Looking very cool. Can't wait to download this new version.

[edit]
It's Friday.
Imaginations' greatest gift is the knowledge you supply it.
AncientGamer
9
Years of Service
User Offline
Joined: 10th Jan 2010
Location: United States
Posted: 22nd Mar 2019 02:16
Looking really good. Can't wait to get my hands 0.48a.
baxslash
Valued Member
Bronze Codemaster
12
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 22nd Mar 2019 07:22
Impressive!
Using AppGameKit V2 Tier 1
blink0k
AGK Developer
6
Years of Service
User Offline
Joined: 22nd Feb 2013
Location: the land of oz
Posted: 22nd Mar 2019 10:00
Wow! Looks awesome!
lilpissywilly
AGK Developer
9
Years of Service
User Offline
Joined: 10th Sep 2010
Location: Office Chair
Posted: 22nd Mar 2019 13:00
Sold!
My hovercraft is full of eels
Zigi
10
Years of Service
User Offline
Joined: 5th Jul 2009
Location:
Posted: 22nd Mar 2019 15:05
@Santman Yeah but I was wondering how the exposed properties going to be used with the scene editor. So we can expose properties from code to the IDE and then change the values and see the result in real time in preview, but the scene editor is not real time or is it?
That would be cool actually if we could edit the game in real time as we preview it....

Anyway, I would appreciate if someone could answer the following questions:

1. Is there any way to reference all instances of a sprite or a group of sprites in code or we need to get reference to each one by one?
2. If not, is there any plans to make this possible in the near future?

I think it would be extremely important simply because if you have 20 enemies in the game and you want all of them to attack, you may want to write a code once and apply to all of them rather than picking each and every enemy one by one.

3. Is there any plan to add collision mask editor?
4. Is there any plan to add options to edit physics properties?
5. Is there any plan to let us add/edit layers and cameras?
6. Is there any plan to let us group sprites in a child-parent relation so if we move, rotate, scale the parent, the child follow without we need to take care of this our self?

I am on the fence right now and trying to figure out if AGKS worth buying or not. I do like the Classic but I'm not so much in to coding, so the only reason I am considering AGKS is the scene editor but to me the scene editor is not only about positioning and rotating sprites but a lot more than that (see my questions) and I'm wondering if any of that I'm looking for in a scene editor is planned in AGKS or not. I know Rick mentioned the dev team will be open for requests and suggestions after release but I rather buy it at full price after release or not buy it at all if none of these features I'm asking about can be confirmed to come.

Thanks.
Vectrex71CH
User Offline
Joined: 5th Mar 2019
Location: Zuerich (Switzerland)
Posted: 22nd Mar 2019 15:34
I'm so excited to get this in my own hands. End of March i will preOrder for sure !
fubarpk
Moderator
14
Years of Service
Recently Online
Joined: 11th Jan 2005
Location: Adelaide
Posted: 22nd Mar 2019 15:52
Looks great Preben

Quote: "1. Is there any way to reference all instances of a sprite or a group of sprites in code or we need to get reference to each one by one?"

Usually with any scene editor you access all sprite instances together and they are controlled individually by their group, I don't see why it should be any different

AGK Studio is allot more than just a scene editor it has advanced debugging features that allow you to step through code and add watch variables making it far easier to debug
which you cant do with classic. The features of the editor are nice but the main reasons I want it is the new engine being developed that uses Vulkan and promises around 30%
improvement over AppGameKit Classic. The New AppGameKit Studio ide will have the option of executing using AppGameKit classic or the new AppGameKit that alone is worth the money I believe. The newer
engine also will offer other improvements which will give a more professional touch to your programs like new shader support etc
fubar
Zigi
10
Years of Service
User Offline
Joined: 5th Jul 2009
Location:
Posted: 22nd Mar 2019 17:46
@fubarpk On the screenshot Preben referenced a sprite by a "unique variable" that you can define for each sprite individually in the scene editor, I would like to get a confirmation it is not the only way or if that "variable" can also be an array containing the ID of all instances..etc
I realize AGKS is much more than a scene editor and I do appreciate all the new features we get including the new Vulkan renderer but at the moment the scene editor is the only thing that makes me considering AGKS but as I mentioned I need more than just the ability to position and rotate sprites. If the scene editor got all the features I'm looking for or it is on the roadmap and definitely coming, I'm more than happy to jump in and pre-order or even buy at full price in June but otherwise I'm totally fine with Classic for now.
Imagination Engineer
5
Years of Service
Recently Online
Joined: 30th May 2014
Location: Shropshire, United Kingdom
Posted: 22nd Mar 2019 19:56
Friday is almost over and it looks like we won't be getting the new alpha till next week. Tucks tail betwen legs and walks off.
Imaginations' greatest gift is the knowledge you supply it.
2D Analyst
AGK Developer
15
Years of Service
User Offline
Joined: 2nd May 2004
Location:
Posted: 23rd Mar 2019 01:19
Does Vulkan engine add 30 percent increase performance for 2d Games?

I’m thinking of buying studio after I release my first app with classic agk.
Rick Nasher
2
Years of Service
User Offline
Joined: 25th Jul 2017
Location: Amsterdam
Posted: 23rd Mar 2019 01:47
I see a button "2D" does this mean there will also be a 3D mode?
blink0k
AGK Developer
6
Years of Service
User Offline
Joined: 22nd Feb 2013
Location: the land of oz
Posted: 23rd Mar 2019 02:01
Quote: "I see a button "2D" does this mean there will also be a 3D mode?"

lol. If you close your eyes and wish hard enough it just might happen!
Rick Nasher
2
Years of Service
User Offline
Joined: 25th Jul 2017
Location: Amsterdam
Posted: 23rd Mar 2019 07:41 Edited at: 23rd Mar 2019 07:58
Well, "Scene" in my mind, refers to me as 3D-scene, a 2D "Scene" to me is more like a, yeah what shall I call it, a View or Lay-out? lol
I dunno, perhaps I'm in 3D for too long.

[EDIT: If above is true and no 3D will be in there, than that basically will be an upgraded version of the Visual Editor people have been buying separately, but now build-in?]
[EDIT2: Well, Unity has a 3D scene editor, so why not go for that I'd say. Let people choose 2D, 3D or Orthographic and you're there: Unity without the annoying hassles.
Ok we still need: asynchronous loading, physics fully completed, a standard network portal, choice of more languages besides C++, AGKBasic also C# and Python and perhaps some other things, but getting pretty close too it then(or even better if you ask me..]
blink0k
AGK Developer
6
Years of Service
User Offline
Joined: 22nd Feb 2013
Location: the land of oz
Posted: 23rd Mar 2019 07:45
I think you have a great start to a 3D scene editor with your example 3D code
Rick Nasher
2
Years of Service
User Offline
Joined: 25th Jul 2017
Location: Amsterdam
Posted: 23rd Mar 2019 08:00 Edited at: 23rd Mar 2019 08:03
lol, thanks. But that needs way more work, and my hands are sort of tied right now (new job). Will change in little while probably. Then can pick up things.
What I do know: just updated this old beast to Win 1809 and getting random BS Of Death's while not even in AppGameKit, but on IE typing text. tssk tssk
Zigi
10
Years of Service
User Offline
Joined: 5th Jul 2009
Location:
Posted: 23rd Mar 2019 09:02 Edited at: 23rd Mar 2019 09:07
Quote: "Well, "Scene" in my mind, refers to me as 3D-scene, a 2D "Scene" to me is more like a.. a View or Lay-out? lol"

It is not fake 2D like in Unity and Unreal. It is native 2D and so it is a "2D scene" not just a 'view' in 3D space. When/If we are going to get a 3D editor it should be called "3D scene" and inside that scene we can have 2D "view" or "layout" for example but not this one, it is a 2D scene.

Quote: "Well, Unity has a 3D scene editor, so why not go for that I'd say. Let people choose 2D, 3D or Orthographic "

Unity is fake 2D it would be a mistake to dump the native 2D engine from AGKS and do it like Unity and use 2D sprites in 3D space instead.
As AGKS got already a native 2D engine and 3D, personally I would recommend for the dev team to take Godot as an example how to do both 2D and 3D editing. Basically have 2 editor in AGKS and let us choose which editor we use.
But Rick told there is no plans for a 3D editor right now it will be 2D only. I believe they would like to continue to promote GGLoader and GameGuru for 3D editing but it would kind of make sense in my opinion to one day grab the 3D editor from GameGuru and integrate it in to AGKS but I would prefer a new 3D editor without the limitations of GG.
Rick Nasher
2
Years of Service
User Offline
Joined: 25th Jul 2017
Location: Amsterdam
Posted: 23rd Mar 2019 09:21
Quote: "Quote: "Well, Unity has a 3D scene editor, so why not go for that I'd say. Let people choose 2D, 3D or Orthographic "

Unity is fake 2D it would be a mistake to dump the native 2D engine from AGKS and do it like Unity and use 2D sprites in 3D space instead.
As AGKS got already a native 2D engine and 3D, personally I would recommend for the dev team to take Godot as an example how to do both 2D and 3D editing. Basically have 2 editor in AGKS and let us choose which editor we use.
But Rick told there is no plans for a 3D editor right now it will be 2D only. I believe they would like to continue to promote GGLoader and GameGuru for 3D editing but it would kind of make sense in my opinion to one day grab the 3D editor from GameGuru and integrate it in to AGKS but I would prefer a new 3D editor without the limitations of GG."



I totally agree. Keep the 2D editor and *add* a 3D one. (or allow us to write a plugin ourselves).
I can imagine re-writing the Classic AppGameKit to Vulkan taking up pretty much all of their time & resources, but they definitely should consider doing this.
RickV
TGC Development Director
19
Years of Service
User Offline
Joined: 27th Apr 2000
Location: United Kingdom
Posted: 24th Mar 2019 07:57
To be clear the scene editor is 2D only. We understand the obvious need for a 3D one and that we'll look at once we release V1. A 3D editor is a significant undertaking (as we know from making the one in GameGuru) and it also needs to work in tandem with the 3D engine.

Let's get this 2D scene editor up and running, in your hands and working well first. One step at a time folks!

We don't yet have any data on how fast the Vulkan engine will be, we're still in deep development of it. You cannot really test it all until it's all up and running.

Hopefully we can get you the new scene editor early this week. I had a number of issues with it that Preben is finishing off, then we'll be ready to share it with the pre-order users.

BTW, remember at the end of March the 50% discount ceases and Studio will change to 40% discount pre-order, so this is the month to buy for the best offer!
Development Director
TGC Team
GaborD
1
Years of Service
User Offline
Joined: 3rd Dec 2017
Location:
Posted: 24th Mar 2019 09:23
The scene editor is looking really great. I agree it should be kept 2D only and focussed on what it is.
For 3D, maybe just provide helpers, commands, gizmos and UI elements to make it easy for users to quickly add editor functionality to their games. Editors are very game and style specific anyway, not sure one big bloated "do it all for everyone" monster would be optimal.
The closer to the runtime you are while building the better, I prefer not even having game and editor separate or to execute anything to test but rather to edit right in the game. This approach provides instant performance and visual feedback (just toggle the editor overlay and functions off) and quicker iteration.
But that's just my personal preference, I can understand that not everyone likes that approach or wants the hassle of implementing anything. Then again, with simple to use commands for things like selecting/highlighting objects or toggling a movement gizmo or opening a model selection/loading popup it's not really hassle and you actually save a ton of time while inching towards your desired result.
Users could then also more easily create and share more focussed genre/style oriented solutions.
Rick Nasher
2
Years of Service
User Offline
Joined: 25th Jul 2017
Location: Amsterdam
Posted: 24th Mar 2019 10:16
Purchased already, to provide support to on going dev.
ruckertheron
3
Years of Service
User Offline
Joined: 12th Nov 2016
Location:
Posted: 24th Mar 2019 11:19
Purchased!! Looks good!! Looking forward to using the GUI rem commands as well
Zigi
10
Years of Service
User Offline
Joined: 5th Jul 2009
Location:
Posted: 24th Mar 2019 12:31 Edited at: 24th Mar 2019 13:18
Quote: "Let's get this 2D scene editor up and running, in your hands and working well first...remember at the end of March the 50% discount ceases and Studio will change to 40% discount pre-order, so this is the month to buy for the best offer!"

Yeah but if you won't use it, it is a complete waste even at 50% discount
It would be really nice to know what to expect exactly.

I would really appreciate if anyone going to get their hands on this project would be able to confirm it for us, if we need to pick each and every sprite one by one. I have the feeling we do, but would like to know.
For example, on the screenshots there are coins that I assume can be collected. So how do you delete the coins?

One by one?

If GetSpriteCollision(Coin1, Player) = 1 Then DeleSprite(Coin1)
If GetSpriteCollision(Coin2, Player) = 1 Then DeleSprite(Coin2)
If GetSpriteCollision(Coin3, Player) = 1 Then DeleSprite(Coin3)
....
....
If GetSpriteCollision(Coin122233, Player) = 1 Then DeleSprite(Coin122233)

Or is there going to be any more practical way to do it?
For example:

ForEach(Coin in Scene1)
If GetSpriteCollision(Coin, Player) = 1 Then DeleSprite(Coin)
EndForEach

Or do we get at least an array to work with?
For example:

For i = 0 to Coin.Length
If GetSPriteExists(Coin[i])
If GetSpriteCollision(Coin[i], Player) = 1 Then DeleSprite(Coin[i])
EndIf
Next i

Honestly the editor is completely useless for me if we need to do it one by one like we had to in Visual Editor, and saying "let us finish it first" and "buy it now at 50% discount while you can" without confirming anything at least that much "it is coming" is not very promising and I don't have money to waste
Preben
AGK Studio Developer
15
Years of Service
User Offline
Joined: 30th Jun 2004
Location:
Posted: 24th Mar 2019 14:19
Zigi: We are going to add layers , and your suggestion would work perfectly with that. I could expose all layer sprites in there own arrays , so if you place all your coins in there own layer , you would have a sprite array of only coins. Also im not going to lock the depth to each layer so you will be able to use the layers to setup any depth sprites. Good suggestion, remember to add it to GitHub so it dont get lost here

Currently uploading a new Alpha for approval , if approved Rick might send it out tomorrow or as soon as possible
Subscribe and checkout great AppGameKit video's here: Videos click here
Latest GameGuru Loader news: News click here
Get GameGuru Loader PBR version here: Steam click here
best regards Preben Eriksen,
Imagination Engineer
5
Years of Service
Recently Online
Joined: 30th May 2014
Location: Shropshire, United Kingdom
Posted: 24th Mar 2019 19:31
Quote: "Currently uploading a new Alpha for approval , if approved Rick might send it out tomorrow or as soon as possible "


I'm refreshing the my products page every 30 minutes.
Imaginations' greatest gift is the knowledge you supply it.
PartTimeCoder
AGK Tool Maker
4
Years of Service
User Offline
Joined: 9th Mar 2015
Location: Suffolk UK
Posted: 24th Mar 2019 19:36
Quote: "We are going to add layers"


Quote: "im not going to lock the depth to each layer"


Maybe you should refrain from calling them "layers" then, this will just confuse users expecting some depth management from the layer system, maybe a more descriptive name would be "groups".
Preben
AGK Studio Developer
15
Years of Service
User Offline
Joined: 30th Jun 2004
Location:
Posted: 25th Mar 2019 07:41
Zigi: Added group arrays , thanks for your suggestion



This code will rotate all asteroid in the scene defined with the "Group Array" name "testscene_Astroid".


PartTimeCoder: the basic of the Layer system will be about depth , so if you select a Layer and place a sprite, it will be set at the Layer basic depth. but not locked , so if you have a "background" layer you can still change the depth of the sprites in that layer, like if you want to add parallax scrolling inside the same layer. But yes depending on how far we take the Layer system "Groups" might be a better name

Imagination Engineer: Dont do that , could take some time before it get Approved, and perhaps there are still some issues that need to be fixed.

Subscribe and checkout great AppGameKit video's here: Videos click here
Latest GameGuru Loader news: News click here
Get GameGuru Loader PBR version here: Steam click here
best regards Preben Eriksen,

Attachments

Login to view attachments
Imagination Engineer
5
Years of Service
Recently Online
Joined: 30th May 2014
Location: Shropshire, United Kingdom
Posted: 25th Mar 2019 07:49
Layers/Groups sounds cool.

Quote: "Imagination Engineer: Dont do that , could take some time before it get Approved, and perhaps there are still some issues that need to be fixed.
"


Best I can do is refresh every hour. That's all I can do.
Imaginations' greatest gift is the knowledge you supply it.
PartTimeCoder
AGK Tool Maker
4
Years of Service
User Offline
Joined: 9th Mar 2015
Location: Suffolk UK
Posted: 25th Mar 2019 13:19
@Preben, I see, array groups and layers are separate entitys this makes more sense, nice addition there.

I like the idea of a managed depth management system that a layer system would provide.

PHeMoX
1
Years of Service
User Offline
Joined: 9th Jan 2018
Location:
Posted: 25th Mar 2019 15:04
Just wanted to say I like where this is heading now. I also do truly hope a 3D scene editor will come next.
RobbSnow
4
Years of Service
User Offline
Joined: 14th Oct 2015
Location:
Posted: 25th Mar 2019 16:19
alpha 0.49 available for download now
Zigi
10
Years of Service
User Offline
Joined: 5th Jul 2009
Location:
Posted: 25th Mar 2019 18:33
@Preben.
Thank you for the reply and for implementing the group array. Looks good
Imagination Engineer
5
Years of Service
Recently Online
Joined: 30th May 2014
Location: Shropshire, United Kingdom
Posted: 25th Mar 2019 19:03
Downloaded and testing now. Yay.
Imaginations' greatest gift is the knowledge you supply it.
CyberGamer
AGK Gold Backer
7
Years of Service
User Offline
Joined: 11th May 2012
Location:
Posted: 26th Mar 2019 08:16 Edited at: 26th Mar 2019 08:19
When you have the 3D version ready I will buy it.

I already have the AppGameKit_VisualEditor.
ShaunRW
DBPro Developer
11
Years of Service
User Offline
Joined: 7th Jan 2008
Location: Brisbane, Australia
Posted: 26th Mar 2019 08:42 Edited at: 26th Mar 2019 08:56
One question I have about the scene editor is will it allow us to place our own "entities"?

For example if I had the following udts:


Would it be possible to create these NPCs and Powerups in the scene editor? Or is the scene editor not a replacement for creating our own level editors?

EDIT: Actually George++ also suggested this in his own thread here: https://forum.thegamecreators.com/thread/224097
pamercomov
FPSC Reloaded TGC Backer
4
Years of Service
User Offline
Joined: 2nd Jan 2015
Location: palma de mallorca
Posted: 26th Mar 2019 14:55
allows the editor to work with animated tiles, such as water, fire, lava etc ... if not I think it should be a request. Do not you think
using AppGameKit V2 tier 1
Sh4d0xx
4
Years of Service
User Offline
Joined: 5th Dec 2014
Location: United Kingdom
Posted: 26th Mar 2019 15:06 Edited at: 26th Mar 2019 15:07
This looks fantastic. I also had a chance to watch the video on Youtube, and I'm happy with the direction that the scene editor in AGKS is heading.

However . . . . The existence of the scene editor in AGKS confirms the visual editor is definitely a 'DODO'.

It hurts so bad to be honest. It REALLY does. Given that no one has bothered to answer any questions about it.
Sh4xx
RickV
TGC Development Director
19
Years of Service
User Offline
Joined: 27th Apr 2000
Location: United Kingdom
Posted: 27th Mar 2019 11:41
Hi, animation is on the feature list, so if we have time it will be in!
Development Director
TGC Team
lilpissywilly
AGK Developer
9
Years of Service
User Offline
Joined: 10th Sep 2010
Location: Office Chair
Posted: 27th Mar 2019 16:01 Edited at: 28th Mar 2019 16:37
I haven't found a feature list but I hope being able to set physics properties on sprites is on that list?
Another feature from Visual Studio I liked was the ability to set a number of variables (strings) to custom values in the editor

Edit:

Started using the editor a little in a project and noticed if you duplicate a sprite which you have set parameters such as array group and unique variable they do not copy to the newly created sprite, which makes for one hell of a job tiling for instance
My hovercraft is full of eels
Golelorn
3
Years of Service
User Offline
Joined: 20th Nov 2016
Location:
Posted: 28th Mar 2019 18:59
Will this work with Percentage mode? I don't think the original had that option.
GarBenjamin
AGK Developer
2
Years of Service
User Offline
Joined: 30th Nov 2016
Location: USA
Posted: 5th May 2019 16:19
Wow! I haven't done any game dev in months and just returned to find the AppGameKit Studio has been released and even received an update already.

I've been playing around with the Scene Editor and so far I like it a lot and think this will be a huge benefit for making games with AGKS.

Thanks a lot for doing this! =)

Login to post a reply

Server time is: 2019-11-21 10:36:20
Your offset time is: 2019-11-21 10:36:20