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 Classic Chat / AgkSharp for Windows - General Questions And Feedback

Author
Message
Zigi
14
Years of Service
User Offline
Joined: 5th Jul 2009
Location:
Posted: 3rd Jun 2018 21:00 Edited at: 3rd Jun 2018 21:01
I managed to find some time on the weekend to play around with AGKSharp and I need to admit it is looking great. I'm not very experienced with C# and .NET but it was a piece of cake to set this up and after reading some "getting started" guide on C# and .NET It was really easy to start coding AppGameKit staff and even bring 3rd party libs in to the game like PlayerIO. Actually, AGKSharp made me want to dive in to C# and .NET in more depths. Unless TGC plan to add some OOP, WinForms and similar libs like PlayerIO to Tier 1, I can see lot of potential in this and would like to see it becoming officially supported even as a paid DLC or something so we can use the latest version of AppGameKit with C# and .NET

I was wondering though, how likely it is going to be available for other platforms too like Android, Linux, UWP? I guess OpenGL could be a problem and the answer is NO but how about Xbox and Windows Phone support by any chance?
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 4th Jun 2018 10:21
That's nice to hear that I've aroused your interest. We will have to wait and see how TGC sees the future of this project.

Zigi wrote: "I was wondering though, how likely it is going to be available for other platforms too like Android, Linux, UWP? I guess OpenGL could be a problem and the answer is NO but how about Xbox and Windows Phone support by any chance?"

There is one or two problems. Here I had already given an answer.. For MacOS and Linux - maybe. For mobiles - I don't know.
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
satyendra.singh
5
Years of Service
User Offline
Joined: 4th Jun 2018
Location: Maryland, USA
Posted: 4th Jun 2018 12:19
Wow, I wonder how had you do it!
Corno_1
13
Years of Service
User Offline
Joined: 3rd Nov 2010
Location:
Posted: 5th Jun 2018 12:14
I am definitely interested and tested it. Works great.
I could really use it, for example for my EBE Editor for GG, but as long this is unofficial I will not use it and stay with Helix-Toolkit.

Did it work with WPF too?
PredicateC - FPSC to GameGuru FPE converter
https://forum.game-guru.com/thread/211068
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 5th Jun 2018 15:04
Quote: "Did it work with WPF too?"

That should theoretically work. It is important that you pass your window handle to the initialization. Of course you also have to loop through the complete input of keyboard and mouse as well as some window events.


I would like to point out once again You can freely use this library commercially or not. It doesn't matter. Even after the trial year has expired, you can continue to use and sell it for your projects. I am not allowed to offer these files for download after the trial year. You can continue to create new projects with it.
I plan to do some updates at the library. I'm just not allowed to link a newer version than 2017.12.12.
If the functionality of this version is sufficient for your project, nothing should stand in the way of its use.
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
janbo
15
Years of Service
User Offline
Joined: 10th Nov 2008
Location: Germany
Posted: 5th Jun 2018 18:51 Edited at: 5th Jun 2018 18:55
I really like the idea of using C# and still have the power and ease of the AGK-lib.
Having the ability to create several AGK-Instances would be great for model editors or other tools, did you already ask Rick/Paul for it ? I guess you did
Steve Ancell
18
Years of Service
User Offline
Joined: 16th Feb 2006
Location: Brighton, East Sussex, UK
Posted: 7th Jun 2018 01:12
I know this is gonna make me look like a noob, but here goes.

Is there any way of using InitGL in order to have more than one AppGameKit screen in Winforms?
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 7th Jun 2018 07:13
janbo wrote: "Having the ability to create several AGK-Instances would be great for model editors or other tools, did you already ask Rick/Paul for it ? I guess you did "

No, I didn't ask. But I have an idea of a solution. First I'm working on a slightly larger sample project for AgkSharp.

Steve Ancell wrote: "Is there any way of using InitGL in order to have more than one AppGameKit screen in Winforms?"

I'm sorry. No. (That's what janbo was talking about. )
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
janbo
15
Years of Service
User Offline
Joined: 10th Nov 2008
Location: Germany
Posted: 7th Jun 2018 15:32
Great, then my idea of a special Wysiwyg editor might come true.
Does your idea include render targets ?
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 7th Jun 2018 17:03
Yes
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 15th Jun 2018 09:23
Now I have a solution to the problem of multiple AppGameKit Windows. It's just a workaround and you don't really have multiple Windows.

It works like this.

As in my example, I created four windows. Every time the mouse enters a window, a screenshot of the last window is taken and the image is displayed in a PictureBox. The currently active window is then covered by the AppGameKit window.

It's not very elegant but it works.
In the attachment you can find the example project, with executable file.

Maybe you guys can do something with this.

@janbo
I didn't use any render targets. I solved everything with WinForms.

Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)

Attachments

Login to view attachments
Zigi
14
Years of Service
User Offline
Joined: 5th Jul 2009
Location:
Posted: 15th Jun 2018 17:25 Edited at: 15th Jun 2018 17:32
I have submited AGKSharp to alternativeto.net.
https://alternativeto.net/software/agksharp/

The page is not approved yet and not available to the public, but if you login, you can see the page and also edit the page, anyone can edit, add screen shots, videos, pros, cons, reviews, alternatives and you can also press the like button which is important as the number of likes rank it higher in search.
Once the page become available to the public, not sure if it going to be automatically suggested as an alternative to all the engines I have selected but in case note, we can go ahead and suggest it as an alternative for other similar tools and engines.
I picked alternatives that are either frameworks to be used with a programming language and game engines, tools that allow to use C# for scripting.

Since it is only about 12 months we need some sort of advertisement but I see none. I don't think the TGC community on it own going to keep this alive so that's why I decided to submit. I hope you don't mind.
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 17th Jun 2018 07:05
I think that's a great idea.

I have logged in but cannot access the site. Maybe only you can see and edit this page until it's approved?
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
Zigi
14
Years of Service
User Offline
Joined: 5th Jul 2009
Location:
Posted: 17th Jun 2018 17:32
Quote: "Maybe only you can see and edit this page until it's approved?"

Yes it seems like it. I thought anyone logged in can see the page only not going to come up in search until approved.
I'm certain after approved anyone can edit the page. Not sure how long it going to be though
Zigi
14
Years of Service
User Offline
Joined: 5th Jul 2009
Location:
Posted: 21st Jun 2018 15:31 Edited at: 21st Jun 2018 15:35
The page is live just so everyone knows who interested.
Who would like to keep AGSharp alive in 12 months, I recommend to like it, add pros, cons, and suggest it as the best or good alternative to other engines.
The page could also use some screenshots, proper introduction video and some more interesting info in the description, I'm a noob so all I could say it about using AppGameKit with C# and .NET

https://alternativeto.net/software/agksharp/
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 25th Jun 2018 10:05
Thank you for your commitment.
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
GarBenjamin
AGK Developer
7
Years of Service
User Offline
Joined: 30th Nov 2016
Location: USA
Posted: 28th Jun 2018 04:05
I left a review at alternativeTo. Thanks for setting that up. Hopefully this will do very well even though I am currently spending the little dev time I have working in AppGameKit BASIC.
TI/994a (BASIC) -> C64 (BASIC/PASCAL/ASM/Others) -> Amiga (AMOS/BLITZ/ASM/C/Gamesmith) -> DOS (C/C++/Allegro) -> Windows (C++/C#/Monkey X/GL Basic/Unity/Others)
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 30th Jun 2018 07:54
@GarBenjamin
Thank you for your review.
I hope if you have more time again, that you will find some time to deal with AGkSharp.
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 8th Jul 2018 06:33 Edited at: 8th Jul 2018 06:34
Hi, here's an update for you.

First of all, I am happy to inform you that I have received permission from TGC to update AgkSharp to the latest version of AGK. So this release of AgkSharp is compiled with AppGameKit version 2018.06.22.

I've extendet the library a bit. Some functions have been added to make working with them a bit easier. Functions that return a Boolean value, such as GetSpriteExists(spriteID) always had to be checked with 0 or1.
Well, like this.


These functions now get sibling functions. These are called e.g.IsSpriteExists(spriteID)


The other way works the same way. If a function requires a parameter as a Boolean value, you can now also enter true or false.

Agk.SetSpriteActive(id, 1) is supplemented with Agk.SetSpriteActive(id, true)

I think it improves readability.

Furthermore, I have added some enumerations and the functions that complement these uses.

Example:
Agk.GetSpriteTransparency(uint spriteId) is supplemented with Agk.GetSpriteTransparencyEnum(uint spriteId)
and
Agk.SetSpriteTransparency(uint spriteId, int mode) is supplemented with Agk.SetSpriteTransparency(uint spriteId, ETransparencyMode mode)

Some classes from Tier 2 / C++ are also new.
cImage, cText, cSprite are addressed via AgkImage, AgkText und AgkSprite . But keep in mind that these will no longer be managed by AGK. That means they don't get any ID's and you have to take care that a sprite is drawn ( sprite.Draw() ).

A use looks like this.


I also wrote a Vector class, at first only AGKVector2.
Methods of AGKVector2


Finally I extended the WinForms templates for VB and C# on multiple requests. So that they now also loop through the mouse and button inputs to AGK.

There are three new downloads. One download are the new templates for VisualStudio and one for updated Examples with 2 new Projects in it to test the new classes. The last download are only the DLL files for existing projects. You just have to overwrite the files from your project with them.

Download

I hope I haven't forgotten anything and you like this update.

Thank you.
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 10th Jul 2018 01:40
Yay! Nice additions
http://games.joshkirklin.com/sulium

A single player RPG featuring a branching, player driven storyline of meaningful choices and multiple endings alongside challenging active combat and intelligent AI.
Zigi
14
Years of Service
User Offline
Joined: 5th Jul 2009
Location:
Posted: 12th Jul 2018 08:44 Edited at: 12th Jul 2018 08:46
Nice to see it being updated to the latest version of AppGameKit
Unfortunately I'm on a Linux machine right now. Is there any progress on the Linux front or it is remain Windows only?

Thanks for the update.
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 13th Jul 2018 07:26
Quote: "Unfortunately I'm on a Linux machine right now. Is there any progress on the Linux front or it is remain Windows only?"

Some time ago I tried to compile a Linux version without success. However, I will be continue working on the Linux version soon.
I've tried to compile with a more recent version of Linux. Later I had noticed here in the forum that there can be problems with the libcurl library.
I hope to present a Linux version of AgkSharp soon.
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
Dark Raven
9
Years of Service
User Offline
Joined: 27th Jul 2014
Location: United States
Posted: 29th Jul 2018 23:51
First I'd like to say this is awesome work as I do a lot of programming on C# so this is is pretty cool.

But had a question, using a winform template is there a way to detect a resize of the panel that contains
the AppGameKit screen and then resize like the background image so it will also fill the panel.

What I'm experimenting with is detecting when the panel goes landscape or portrait and then have the background
image resize itself to fill the panel again. Right now it will just fill the area black cause I can't seem to detect when the
panel has been resized?

Hopefully that understandable as thoughts and typing don't always match .
Mudbug
17
Years of Service
User Offline
Joined: 2nd Nov 2006
Location: Rome, GA USA
Posted: 5th Aug 2018 17:08
I just found this yesterday and started playing with it. This is awesome! I have wished for this for a long time.
I hope TheGameCreators will give this 1st class support.
-MudBug
Seppuku Arts
Moderator
19
Years of Service
User Offline
Joined: 18th Aug 2004
Location: Cambridgeshire, England
Posted: 9th Aug 2018 01:07
I've just spotted this today.

I remember on a TGC survey for AppGameKit, I suggested I'd probably use it if there was C# support, well I guess time to hold me to that.

My reasoning being: I love what TGC does with DBPro and AppGameKit and the likes. The basic side is made to be approachable to beginners, which it does a fantastic job for (and intended for), given DBPro was how I entered programming, but I am spoiled by the functionality of more complicated languages and yet am not a fan of using C++ and never really got along with it. So a middle ground does appeal to me, especially if a language I already use, hence C#. So it'll be great to see how this progresses and if it becomes officially supported with AppGameKit itself. I do like that TGC have started looking at supporting more languages with the assistance of the community, this I think would be good for AGK.

Having played around with it, this seems to work really smoothly thus far, which is good. If cross-platform support comes out, that'll be pretty sweet. But I am gonna try prototyping this idea I've been having and use this, see how well it holds out in this.
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 10th Aug 2018 22:17
Hi, I've been on vacation the last two weeks. So I'm just now able to answer.
First of all, thank you for your iteresse. I am happy about everyone who deals with AgkSharp and tries it out.

Dark Raven wrote: "But had a question, using a winform template is there a way to detect a resize of the panel that contains
the AppGameKit screen and ..."


Yes, it's quite simple. Simply call the properties of the AppGameKit panel, then switch to the events (flash icon) and find the SizeChanged entry and double click on it. A function is created and bound to the corresponding event. Now you can control the behavior yourself.
As an example you can see in the standard template in the file Core.cs in the function Core_OnSizeChanged.

Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
stan10785
5
Years of Service
User Offline
Joined: 15th Aug 2018
Location:
Posted: 15th Aug 2018 20:13
I am a newbie with AGK. I have a good background in C# and keep coming back to the language after trying others like Python and Pygame and C++ and SFML. One of the big reasons that I purchased AppGameKit was the AGKSharp option. Honestly I doubted it would work or be practical. I figured I could live with the BASIC if it didn't pan out or look at the C++ yet again. I liked that AppGameKit ran on both Mac and Windows. I have been shopping around for a game engine to commit to. I have to say that AGKSharp has been a delight - better than mono - though I do clear my screen to cornflower blue for old time sake. The whole project has been fun and that it comes with all the game packs and two huge manuals plus the tier 2 stuff has been great. A C# tutorial manual would be nice but if you know any C++ that manual and tutorials helps with the C# side. There are so many tools built in to help with the game!!! I have avoided the window template for now until I learn the language and layout better but I am really looking forward to it.

So yes I bought it for the AGKSharp interest and wonder when it will be set up for Visual Studio for Mac so I can use the same C# code on both systems.
Zigi
14
Years of Service
User Offline
Joined: 5th Jul 2009
Location:
Posted: 18th Aug 2018 17:29 Edited at: 18th Aug 2018 17:38
I have just recently discovered Bridge.NET
https://bridge.net/

@MadBit
You mentioned you having trouble to get AGKSharp working on different platforms. Wondering if could you make a bridge.net template for VS that we can use to make HTML5 games using AGKSharp?
Then we could use HTML5 to target any platform
Even if we could develop on Windows only at least we could release our creations to other platforms too.

Thanks.
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 20th Aug 2018 14:01
@stan10785
hey, welcome. Glad you found your way here. And thank you for your interest in AgkSharp.

@Zigi
I have been working on the Linux and Mac versions in the last weeks (before and after my holidays). I've already done quite a bit. Since I am not a Linux or Mac crack it goes very slowly and steps into almost every trap. At the moment I have a problem that I cannot create a good template for the systems.
It works well on one system. If I copy the template to another system (both Linux) it will not find the AGKWrapper.so . (DLLNotFoundExeptio)


Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
Zigi
14
Years of Service
User Offline
Joined: 5th Jul 2009
Location:
Posted: 20th Aug 2018 18:50
Quote: " If I copy the template to another system (both Linux) it will not find the AGKWrapper.so"

I'm not an expert on Linux either I'm also a regular user mostly install staff from repository and run it. But it sounds like a permission problem. The user on the other system may doesn't have the permission to read the folder containing AGKWrapper or, AGKWrapper it self.
In most Linux distro you can easily set permissions by simply right clicking the folder and file. Try to set the read and write permission.

Quote: "I have been working on the Linux and Mac versions"

This is sounds really great I hope you succeed.

stan10785
5
Years of Service
User Offline
Joined: 15th Aug 2018
Location:
Posted: 24th Sep 2018 16:12
On the window form version of AGKSharp the mouse does not seem to be polled in the graphics area. It is on the non-window version but I suppose this has to do with the fact that this is being sent to a panel on the window form? The mouse works fine in the form and on its controls but it would be nice if the AppKit area were mouse aware. Am I missing something?
private void SyncTimer(Object sender, EventArgs e)
{
float x = 0f, y = 0f;
Agk.Print("Hello I am working");
if (Agk.GetPointerPressed() == 1)
{
Agk.Print("Pressed");
}
if (Agk.GetPointerReleased() == 1)
{
Agk.Print("Released");
}

//*** Get pointer’s coordinates ***
x = Agk.GetPointerX();
y = Agk.GetPointerY();

//*** Display pointer coordinates ***
Agk.PrintC("(");
Agk.PrintC(x);
Agk.PrintC(" - ");
Agk.PrintC(y);
Agk.Print(")");


Agk.Sync();
}
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 24th Sep 2018 19:51
Which template version do you use?
For the version from 07.07.2018 it should work the way you thought.
For the older version you would have to retrieve the mouse position via the events of forms.
Otherwise try also the 'GetRawMouse...' commands.
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
MateiSoft
11
Years of Service
User Offline
Joined: 22nd Oct 2012
Location:
Posted: 27th Sep 2018 14:51
Hello!

I have a couple of questions regarding AGKSharp: Is AGKSharp wrapper, the full AppGameKit product, only wrapped for C#?
Is AGKSharp updated at the same time as the main AppGameKit product?
AGKSharp is just another choice between Basic, C++ and other wrappers?

Thank you!
www.alexmatei.com
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 27th Sep 2018 15:23 Edited at: 27th Sep 2018 15:23
Quote: "I have a couple of questions regarding AGKSharp: Is AGKSharp wrapper, the full AppGameKit product, only wrapped for C#? "

Yes.

Quote: "Is AGKSharp updated at the same time as the main AppGameKit product?"

Not exactly at the same time. I'm a little behind the last update at the moment. This is because I spend all my time for a running Linux version.

Quote: "AGKSharp is just another choice between Basic, C++ and other wrappers?"

Yes.
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
MateiSoft
11
Years of Service
User Offline
Joined: 22nd Oct 2012
Location:
Posted: 27th Sep 2018 15:55
Hello MadBit,

Thank you for your quick response! I am glad that my questions have been answered!
www.alexmatei.com
MateiSoft
11
Years of Service
User Offline
Joined: 22nd Oct 2012
Location:
Posted: 28th Sep 2018 11:50 Edited at: 28th Sep 2018 11:51
Hello,

I came back with another question regarding the actual code this time:

I want click on the left mouse button to perform some events but the application doesn't pick it up.



Thank you!
www.alexmatei.com
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 28th Sep 2018 12:47 Edited at: 28th Sep 2018 12:52
ok, the same thing I said to Stan. Mouse and keyboard queries only work with version 20180707.
Important is also what I have not mentioned before. (my fault)
In the function 'AgkFormTemplate_Shown' the input events must be registered(call Core.LoopInputs(this);).
The inputs are updated with Core.LoopAGK(); and not with 'Agk.Sync();'. This happens in SyncTimer. If you use the template from 07.07. then all this is already filled in.

I hope this helps.

EDIT:
For example, Core.LoopAgk() is missing in your code snippet;
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
MateiSoft
11
Years of Service
User Offline
Joined: 22nd Oct 2012
Location:
Posted: 28th Sep 2018 12:57 Edited at: 28th Sep 2018 13:04
Yes, I am using the 2018 07 07. The code for looping the inputs has already been there, but still I cannot use the mouse inputs. (The keyboard inputs are present.)



Surely I am not paying attention somewhere.

EDIT: Core.LoopAgk is actually AGKCore.Core.LoopAgk(); <- Isn't this the same thing? I have it in the snippet on my previous reply

EDIT x2: The mouse input works only on the form (yes, hence "this"). How can I change to send input to AGKScreen?
www.alexmatei.com
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 28th Sep 2018 13:34
Quote: "EDIT: Core.LoopAgk is actually AGKCore.Core.LoopAgk(); <- Isn't this the same thing? I have it in the snippet on my previous reply"

Yes is the same.

Quote: "The code for looping the inputs has already been there, but still I cannot use the mouse inputs. (The keyboard inputs are present.)"

Sorry, I haven't seen it.

Quote: "EDIT x2: The mouse input works only on the form (yes, hence "this"). How can I change to send input to AGKScreen?"

I will check it at home.
Generally I can only say that you have to specify the window of agk there. I actually thought I had done it that way.
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
MateiSoft
11
Years of Service
User Offline
Joined: 22nd Oct 2012
Location:
Posted: 28th Sep 2018 13:47
Yes. Where I added "this", AGKScreen module is present. Please give me a feedback if it's your case the same with mouse clicking and working on windows form instead of AGKScreen.

Huge thank you!
www.alexmatei.com
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 28th Sep 2018 18:11 Edited at: 28th Sep 2018 19:12
Okay, I got it now. Yes, it's the same with me as it is with you. I changed the template. Will be included in the next release. Thanks for that.
For now I post the complete code of Core.cs and of AgkFormTemplate.cs. So you can do the changes yourself for now.

Thanks again for the tip, also to Stan

AgkFormTemplate.cs


Core.cs
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
MateiSoft
11
Years of Service
User Offline
Joined: 22nd Oct 2012
Location:
Posted: 28th Sep 2018 22:25
Indeed! I will include your fix immediately! I personally thank you for your quick support and I am always glad to report bugs while I work on my project. It helps me and it helps others, also.
www.alexmatei.com
MateiSoft
11
Years of Service
User Offline
Joined: 22nd Oct 2012
Location:
Posted: 29th Sep 2018 12:05
MadBit,

One more thing. The keyboard doesn't work.

Attachmend added!
www.alexmatei.com

Attachments

Login to view attachments
gbison
13
Years of Service
User Offline
Joined: 15th Dec 2010
Location: USA
Posted: 1st Oct 2018 19:42
Evening all,

I have been a supporter of The Game Creators for a long time, having purchased literally every product they have (more for donation), but I really don't use any of it, I just like the environment.

That said, the one reason I would never use AppGameKit is due to its lack of object orientation (I do not care for C++, in fact, it's mildly atrocious) - OOP is too crucial for me these days in my game development projects. When I left the Torque3D community, I went to Unity and never looked back because my home language is C# and Unity just felt super right because of it. That said, when I saw that C# was available for AppGameKit it did spark my interest to use it again and I will tell you why.

I'm interested in App development as well as games and when it comes to games, I'm at home with Unity and that's where I intend to stay. It's hard to sell a product like AppGameKit when people are giving away products like Unity, but there's a niche if they can see it. Unity is HEAVY in regard to App development, so trying to make any sort of actual app say for business is completely useless, because of the package size and load times. There's just too many libraries it has to pack around with it, but then I had seen that C# had come to AppGameKit and I thought, HOT DAMN, I have a solution to my cross-platform app development problems. Then I began to see all the other languages that had been brought over, as a user of .NET, Java and Python, I was extremely happy to see the direction this had taken and I think it will serve the product extremely well. However, it must be announced, someone needs to carry a big red flag through all the forums of the game dev world and start announcing this - so its a good start.

To the author of the C# wrapper, congrats from another c# developer, nice job and I hope you get to develop this tool further. I do have some things that really lay heavy on my mind in regard to AppGameKit that I would like to mention here since I'm taking a moment to actually say something in these forums lol. First, the fact that AppGameKit does not have a built-in GUI control set is unbelievable at best. For today's game and app APIs this should be mandatory regardless of programming API or language or engine and it hurts the product overall by not having it as a core component. That said a great job on developing the WinForms templates for use with AppGameKit, another well-deserved pat on the back. Windows only users should be right at home if they need some form of graphical/game making power outside of a full engine. That said, I understand AGKSharp only works on Windows and as a C# developer, I understand the complexities here and as someone who hates C++ - it would be a difficult fix. So for all the effort you have put in, its a great achievement and in my opinion the most promising addition to AGK. However, consider this thought - imagine AppGameKit had a GUI control API and an SQL API that was cross-platform in C#, now that would be usable - that would be worthy of "App" building.
The greatest trick the devil ever pulled was to convince the world he didn\'t exist.
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 7th Oct 2018 06:47
@gbison
Thanks for your positive feedback. I hope AgkSharp will be a useful addition to your projects.

@All
After a long time, I now have a new update for you. It based on AppGameKit Version 2018-08-30

Now there are two templates for Linux (Mono). One 64Bit and one 32Bit systems.
I developed these on Ubuntu 16.04 Mate. Unfortunately these templates do not work on some distributions. I didn't find out why.
If the program is started from the IDE the message DLLNotFoundException appears. Started from the terminal everything works fine.
In other cases the template does not work from the IDE nor from the terminal. I copied the DLL (.so) into /use/local/lib64 and "registered" it with 'ldconfig' - No success.

While experimenting I noticed that the same error occurs on systems when installing Monodevelop via 'flatpak'.
My recommendation is to install Monodevelop with the regular system packages.

I using Monodevelop 7.5, but I already got it to work with 5.10.

Unfortunately I was not able to create a Forms Template for Linux. Because the OpenGL initialization process is very different for Linux and Windows.

Tested distributions

Works
- Ubuntu 16.04 Mate x64, x32 (VirtualBox) - Debian
- Mint 18.04 Cinamon x64 (Native) - Debian
- Manjaro Xfce x64 (Native, VirtualBox) - Arch
- Kubuntu 18.04 KDE - Plasma x64 (Native) - Debian

Does not work
- OpenSuse-Tumbletweed x64 (VirtualBox)
- CentOS x64 (Native, VirtualBox)



Here is the update log of the Templates/Binaries

CHG Core.cs and Program.cs changed to look homogeneous and compatiblety between Linux and Windows templates.

NEW Linux-Templates x32/x64 (in a seperated file)

ADD 64 bit templates have been added. (Windows)
ADD AGKVector2 added 'Normal' attribute.
ADD AGKVector3 class
ADD AGKVector4 class
ADD AGKMatrix4 class
ADD AGKQuaternion class

FIX AGKVector2.Refract(AGKVector2 v, AGKVector2 n, float eta) is now a static function.
FIX AGKVector2.Dot(AGKVector2 v1, AGKVector2 v2) is now a static function.
FIX WinForm-Template mouse inputs can now be retrieved with the agk-commands. (thanks to 'stan10785' and 'MateiSoft')



For Linux Developers
- Install Monodevelop according to your system. (Search the Internet for a guide to install it. It can vary from system to system.)
- Extract the archive with the mono templates to your hard disk.
- For a new project copy the corresponding template into your project folder.
- With Monodevelop you can load the sln or vcproj file and rename the project name and assembly name.

[i]Known issues:[/i]
- Agk.GetReadPath() Returns not the path of the started program, but the path where mono is located. (/usr/bin)
- Agk.GetWritePath() Returns the path of the started assembly. (Programms current directory)

I recommend to use the C# libraries for working with paths.


It would be nice if I could get feedback about which systems it works on and which don't.

Downloadable from my project page.
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
MateiSoft
11
Years of Service
User Offline
Joined: 22nd Oct 2012
Location:
Posted: 7th Oct 2018 08:13 Edited at: 7th Oct 2018 08:42
Hello MadBit,

I've downloaded, unarchived and opened "AgkSharp-TemplateWinForms(x64)". However, I ran into these problems (screenshot attached):

Thank you!

EDIT: Maybe because it's mandatory to run the batch file? If I run the batch file, it does not update the templates to the latest version. This is Window's fault.
www.alexmatei.com

Attachments

Login to view attachments
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 7th Oct 2018 09:43
The correct way would be to start the batch file so that the templates are copied into the Visual Studio templates directory.
If it is a standard windows installation, it is located in 'C:\Users\*username*\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C#\". Then you can use VS to select the templates when creating a new project.
If the user directory is somewhere else then you should copy the zip files manually into the appropriate directories.
For example I save my personal data on drive 'Z:'. So my template directory is here. Z:\Users\Marc\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C#\".


I hope this helps.
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
MateiSoft
11
Years of Service
User Offline
Joined: 22nd Oct 2012
Location:
Posted: 7th Oct 2018 10:31 Edited at: 7th Oct 2018 10:34
Copy and pasted the zip files (all of them in the Visual C#, Project Templates folder and it gave me this, at creating a new project (the windows forms (x64) version).

Thank you again!

EDIT: On the other hand, on the 32bit version I can't compile because of the error in the log (down on the screenshot below).
www.alexmatei.com

Attachments

Login to view attachments
MadBit
VIP Member
Gold Codemaster
14
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 7th Oct 2018 12:04
Ok, thank you for that.

The maintenance effort is too high for me to create new templates with every release. So from now on I will only distribute the project directories. You have to copy them into your solution and rename them if necessary.

[href=http://madbit.bplaced.com/?page_id=136]Please download it again.
[/href]
I hope it works now.
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)
MateiSoft
11
Years of Service
User Offline
Joined: 22nd Oct 2012
Location:
Posted: 7th Oct 2018 12:09 Edited at: 7th Oct 2018 12:10
So I have to delete the archives from Visual C# folder and just initialize one project from one of these folders, right?
www.alexmatei.com

Login to post a reply

Server time is: 2024-03-28 19:23:17
Your offset time is: 2024-03-28 19:23:17