I am new here

Hello,
I am looking at the Xojo programming language years now. Currently I am programming a video game using a more game related programming language with name “BlitzMax”, the game goes very well.
But I am looking and for a programming language that has the “Basic like” script and look very alike to old Visual Basic 6.
I am watching the development of Xojo for years, but I haven’t used it before. I remember this language was referred years ago as Real Basic.

I am looking for a programming language that can design native window forms applications but to have and strong game abilities like other game related programming language has. (Game Maker Studio, Godot)
BlitzMax has lots of game related functions but lacks of native window forms applications or it is little difficult to use third party libraries to create Native GUI applications.

So this gave me an interest to try Xojo.

I downloaded its demo to see its capabilities, but 1 thing I see, it is very difficult to find examples, solutions in Google because its community is tiny.

Also there are very very few game related examples or videos in Youtube that are ancient (Since 2014).

Also these very very few old videos I have seen in Youtube none present any serious example how to design a full high quality game. I have seen very simple games about Tetris (Without explanation how they designed it) and some very simple tank game (This had some explanation). But there are no serious examples about to how load graphics, how to use the canvas object to do advance things, change the mouse cursor of the application (not the simple system cursor), and do advanced game related things.

I am interested to try this programming language and learn (And of course ask lots of questions) how to do all these game related advanced things and bring the Xojo to its limits and see if it is capable to develop a more advanced game related application. Also this will help and others to create games.

I believe people to present interest in programming related software it is very important the programming language to able and have very strong gaming capabilities.
I haven’t seen very strong game related capabilities in Xojo, or maybe people they didn’t dare to ask.

So I dare to ask and bring the Xojo to its limits and see if it is capable to produce a high quality game or at least a different application than the simple applications you see. There are lots of programming languages that can design simple applications. But I think it is time to make a crash test in Xojo.

I am going to develop an editor for a role playing game that will be a native windows forms application, but there will be advanced things like map editing, tile mapping, drawing sprites, changing the mouse pointer to a customized icons (for inventory items) or bitmap graphics, load music (full control of music), load sounds, play with sound channels, loading graphics from a zip file or creating zip files and pack assets inside and set a password, opening files, changing fonts, making animations and all of these advanced stuff that a real game capable programming language can do. (Of course I will ask for 2D capabilities only for now). If I will need a full 3D I will go to Unity and Unreal. But full advanced 2D game capabilities with mix inside a native window forms application it will be very nice.

The demo version I downloaded seems it doesn’t have any limit, except that you can’t compile your final project to an executable file. But the rest work. It is a nice way for someone to learn the language first, literary develop the whole game and when decide and poove this programming language is very strong and capable for someone to develop a game then you can purchase it. (I am talking about people who are looking for a game related things).

I installed it and I begun to program. Currently I am not creating something specific, but I am creating a generic program that will contain all the gaming related functionality the language can do and then I have the examples to use them in real game projects. When I will finish, I will make a collection of game related functions in one open source project for new people to see and use them.

Will it possible to answer my questions I will have in the future? (I will have many).
I am waiting to test the language and see how capable it is before I will purchase it.
Also this will help the community to grow and attract more people, because game and media stuff is very important in programming languages. (All the successful programs are game engines).

Thank you very much.

That’s because Xojo is not targeted to that. For apps and utilities Xojo is great, but if you want a language for multi core parallel tasks targeting animations + physics at 60+ frames per second, Xojo is not your best option OOTB. By the way, the best options for such tasks are not Basic like languages.

So, in my opinion, if want to go towards Game Development, you should choose wisely your options, if you want a generic language for many tasks, Xojo is a good one. As you noticed, Xojo is not famous for its games. But we have ONE GUY doing an impressive job translating Box2D to Xojo, and you could try it:

You can play with the compiler without purchasing it.
If you get comfortable, you could buy the lite license for Windows only, and if satisfied, upgrade your license later.

You will get many answers here, no guarantees for all your questions, as people will desire you read the docs first.

1 Like

Thank you very much for the fist response.
I try to see the documentation and search all the most recent available examples that exist so far. But not all my questions get answered and the documentation is not present examples (Only how the commands used with their arguments), and sometime I am not understanding what I need to do.

Somewhere I saw an example of the Box2D library. (It will be useful sometime).
So far I have managed to add a canvas on the main window, to load some graphics and load and a transparent sprite.

I have 2 new questions. How to set a specific transparent color when I am drawing an image that has the RGB(255,0,255) and make it as a mask color. (If I will draw a png image that is transparent you can see it transparent, I just like to see if I can set my custom background color to be transparent).
And the second question is how to change the mouse cursor to a custom transparent image (not the regular system cursors). The regular cursors also are black and white. For example if you pick an item in the game and your mouse pointer changed to the particular item.

I did a trick to hide the mouse cursor and using the mousemove event over a canvas and create to properties (I discovered that are the variables) one with mouse_x and another one with mouse_y.

In the mousemove event of my canvas gadget I put this code:

mouse_x = X
mouse_y = Y

Because it returns the values of X and Y and I store them to mouse_x and mouse_y to be accessible from other gadget.

And then in Paint event of the canvas gadget
I put this code

g.DrawPicture(Mouse,Mouse_x,Mouse_y)

And I added an image with pink rgb(255,0,255) color but it is not present as transparent.
And let’s say I want this hand to be my mouse pointer and be transparent.
Mouse1

If I will move the mouse and the x and y coordinates change, the graphic is behind the other gadgets.
For example if we assume I have a nice image and then I move my cursor over a button or over a text input gadget, because the mouse cursor is not actual a real mouse cursor is just a sprite that moves inside the canvas and the other gadgets are over this canvas and the cursor is behind.

Hi @Panagiotis_Spiliotopoulos, welcome to the forum.

As Rick eloquently described, Xojo is a multipurpose language that traditionally has not been used much for game development. That’s not to say it can’t, just that you have to do a lot of the leg work yourself.

A lot of the things you describe I have written / played around with over the years and are certainly do-able. Things like physics engines (1, 2) and hex tile engines with scrolling and path finding (3).

What Xojo massively lacks (and I have asked for for several years) is a cross platform GPU accelerated canvas.

I’m currently working towards a simplified game making app utilising Box2D and my own custom scripting language.

The forum is mostly a welcoming place so if you have any questions just ask.

1 Like

I am not asking very very advanced questions yet. I am asking simple yet.
How to change the mouse cursor, then how to play music.
That’s I am trying to see how far the limits will go. (The basic functionality I believe).

Now I am asking how to change the mouse cursor to an image.
Because if I will put it on the canvas, (I managed to make a basic double buffering for now).
I see it behind the other gadgets.


Look the example.
If let’s say we have a background image and then try to click on the button, the hand graphic is behind
the button, because it is not the actual cursor is just a graphic that moves inside the canvas, not a real cursor that floats above all gadgets.

The “This is a test” is a label with transparent background (Sometimes it is flicking).
The X: and Y: numbers are the coordinates from the mouse pointer that are drown on the canvas with the drawtext command inside the canvas. This is not flicking.

I used something like this.

g.DrawingColor = RGB(010, 240, 10) 
g.DrawText("X:"+str(Mouse_x),5,15,150,false)
g.DrawText("Y:"+str(Mouse_y),50,15,150,false)

Of course a new question will be generated, how to change the font.

I discovered something.

g.FontName="Arial"
g.FontSize=20
g.DrawText("X:"+str(Mouse_x),5,15,150,false)
g.DrawText("Y:"+str(Mouse_y),50,15,150,false)

I changes the font to Arial and I made it 20 pixels large. (This method load an already installed font).
How do I load an external font? (A new question).

About the requierements:
With xojo you can easily create (mostly) native window forms, unfortunatelly, in the last couple of years they decided to rename the keywords (api 2), so it is not as close as vb as it once was. About the game abilities… Out of the box are very limited. Dont expect great performance without hacks and/or system declares.

Most of the users that created tutorials and other xojo related content have left the community, close their sites, blogs and communities. and with the “api 2”, most of the online content is outdated. Including the older threads of this forum.

xojo does not like overlapping controls, nor transparent ones. Expect a LOT of flickering and really low framerates if you do that.

There are some Bugs with that functionality. The bug reports are from 3 to 5 years ago, All of them are already closed so it looks like they won’t be fixed.

https://tracker.xojo.com/xojoinc/xojo/-/issues/46596
https://tracker.xojo.com/xojoinc/xojo/-/issues/52285
https://tracker.xojo.com/xojoinc/xojo/-/issues/54392

1 Like

Well,
According to the answers I am receiving I will not expect to do much with this programming language. If I will be lucky and do some game like effect with the canvas and nothing else. Also if most of the community have left then it seems this language is a dying language and the company will not expect to do sales too. If there will be limitations, if there will not be a community, if there will not be any help, then someone who is a new comer here and listen what you said. (The truth), then they will repel them.
Also the price of the language that starts from $150 and it can reach and $2000 that has limitations, no help, no support, no community, I am not expecting they will do any sale and no one will present any interest.

The developers who ask $2000 for a language that has so many limitations, bugs and not support, for me they should not ask $2000 (You will say there is and the lite version with $150). People who have 1 operating system they will purchase only the version of their operating system. I do not think that anyone will care about these databases and web. There are other html, css, asp and java languages to do this. Of course you will say, if you do not like it, do not use it, there are and other products out there.

Anyway, I will see what I will do. The current project I am going to develop here may will be inside the limits of this language. If something will not be doable I will not make it.
I will continue to ask questions, if there will be an answer it will be good, if there will not be an answer, the particular feature will not be added in my program.

But thank you very much you cared to answer me.

If you are coming from Visual Basic 6 then many of the short comings would not really put you in worse position.

And the $2000…there is nothing saying you need Pro Plus license. Probably just Pro which is I think around 700 ?. And maybe even smaller license. Note there is no difference in the features in Pro and Pro Plus. Look at Pro plus as more of a enterprise option for big companies that might be looking for faster support and other such.

Note there is no difference in the features in Pro and Pro Plus. Look at Pro plus as more of a enterprise option for big companies that might be looking for faster support and other such.

Here is the fun fact. They are selling a product for $2000 for big companies that might be looking for faster support. But there is NO support at all. It is like I will have a slow support, because I haven’t even purchased it yet. I use the demo. (I can say I have better support from the tiny community that the developers themselves) I believe even these BIG companies will come here to ask ME and YOU to solve their problems. It is silly for the developer to say I am selling you this for $2000 because it is for enterprises and big companies. With so many limitations and lack of general support they will not be interested at all and they will encounter the same problems. Big companies will program their programs with C++ and HTML programming languages for their web. They will not care to purchase something that has no support. Of course I will not purchase these enterprise levels. If I will find solution for my game needs I will purchase this lite version of $150.

Rick and Garry have some practical information. If you look at Ivan’s post history, you’ll see they are kind of the resident Xojo troll, so any of their answers should be taken with a grain of salt.

Xojo has been around for over 20 years and the active users are certainly not dwindling. There are more complainers lately, but that is a general societal trend these days, sadly.

Anyway, although Xojo is not a game development language, you can use it to make certain types of games. In many ways, Xojo is a spiritual successor to VB6, so if you liked that you should also give Xojo a try. Be sure to check out the various game examples that are included. None are role-playing related, but you might find them interesting:

8 Likes

For sure Ivan is not female. Anyways.

You can use the Lite version to make really good applications.

One Xojo user makes something game related. I think it’s a level editor. @Thom_McGrath : is this correct? See https://usebeacon.app . Most of the code is even open source.

Can I see some of their links?
Of course I will look around the examples and the solutions you suggested and thank you very very much. I will make and level like editor too or a tool that will export the information you designed in the level editor and (Then with the other more game related programming language I will do the heavy gaming part), but xojo will need to do some graphic related thing. (For example some tile map editor or present some simple animation in canvases and play sound sound and music.

This thing about changing the mouse cursor to something like more graphical is it possible?
An new question (Do Xojo has ability to change the skin of the gadgets?). What do am I asking now?

Just for clarity, it supports a game (Ark) but it isn’t anywhere close to a game itself. It’s closer to a glorified calculator than a game.

1 Like

I literally posted three links in my reply to you. Did you even read the post?

1 Like

There is a free version of Xojo available. I think the best strategy for trying out Xojo is to use the free version. Make prototypes of your game, test your methods and functions and see if Xojo fulfils your needs.

If Xojo is useful for game development will depend on what type of game you want to create. If you program your game in a resource-economic way, that will bring you a long way.

The community here is very helpful, knowledgeable and friendly. If you get stuck, you can always contact Allysa or Dana, which will help you find the support you need.

As Paul said, some people try to put Xojo in bad daylight. Maybe because of frustration or disappointment, I do not know. Nevertheless, we have to respect their opinion even when we disagree.

My advice to you is, to try out, and ask questions when you get stuck or you do not find the necessary information and don’t give up. Have an open mind and be creative.

Chris

3 Likes

If you say about these yes.

There is a free version of Xojo available. I think the best strategy for trying out Xojo is to use the free version. Make prototypes of your game, test your methods and functions and see if Xojo fulfils your needs.

If Xojo is useful for game development will depend on what type of game you want to create. If you program your game in a resource-economic way, that will bring you a long way.

The community here is very helpful, knowledgeable and friendly. If you get stuck, you can always contact Allysa or Dana, which will help you find the support you need.

As Paul said, some people try to put Xojo in bad daylight. Maybe because of frustration or disappointment, I do not know. Nevertheless, we have to respect their opinion even when we disagree.

My advice to you is, to try out, and ask questions when you get stuck or you do not find the necessary information and don’t give up. Have an open mind and be creative.

Chris

Yes, this is I am going to do.

Garry put links in his own post. It’s on the subtle side, but those numbers in parentheses are clickable. I am presuming these are what he meant.

Good luck with Xojo, and welcome to the community.

If you are talking about my “post history”, sure, just click on the name, and go to the Activity page.

You asked for a feature, I just point you to the 5 year old bug case about it. You can decide by yourself if that is being a troll or just answering what it is.

3 Likes

For me all the useful information is not a troll. Is a knowledge.
I visited this:

1 Like