Current status of development

MikeHart

Administrator
Joined
Jun 19, 2017
Messages
3,168
Hi folks,

just want to give you guys am update on the current situation regarding the development of CX. At the beginning of the year I had high goals for CX, I posted a roadmap about it. I have talked to Olivier and Philipp about what is needed and they agreed to work on a VSCode plugin (Holzchopf) and new documentation (Phil7). Personally I wanted to tackle the coding side of improving CX, means updating Admob and IAP for Android and IOS, bringing UI and over game dev related modules to CX, add Metal support.

With VSCode I am sure you saw Oliviers' efforts in his devlogs. It got very far but has some bugs which I consider making this plugin not ready to be included. Philipp showed some mockups and in between versions but as he told me, he isn't quite there yet, needs much more time.

I touched basically all coding sides but these are my results:

Android Admob is done, for IOS it needs to be updated. Android IAP is not working at the moment, needs an update. For IOS I don't know if it is working. The problem with both sides (Ads, IAP) is that I don't have published projects in the stores so I don't have test aka use cases.

About a 3D module.... I have planned to include Vortex into CX, but it has serious problems on the Android side of things. Flickering while rotating a scene. Javi doesn't have time or motivation to tackle this problem.

UI.... I have basically a Imgui module working. But that would be only for Desktop and only tested on Windows. Adding to that, Philipp didn't want it to be published by now, maybe wait for a better UI solution. I have started on a CX based UI module, but that is a WIP. Nothing to really show for.

Metal support.... I was testing Sokol to see if we could easy add it to get metal support for IOS and MacOs. I only tested it on Windows so far. I got Mojo to work with it, with sometimes great speed results. Mojo2 is a different beast. Its OpengLES implementation is coded in CX, so imho first that would be needed to move natively. Then I could port mojo2 to Sokol. But both mojo and mojo2 have a different methology in mind and they are very dynamic when it comes to building scenes.
The nature of Sokol looks to me like you have to know upfront your resources and how to render them to get the best out of Sokol. So I am not 100% convinced that it would be the way to go. Another option would be to wait for Angle (OpenglES layer) to mature regarding Metal support and try to utilize that.
At the end I am convinced that it needs a new CX rendering API to fully and more easily integrate the new backend.

Since a few months I have now a part time job, working on a monkey X powered game for a bigger company. The contract is a time limited one, so that only runs till autumn next year. But of cause, that leaves me not much time to work on CX and over things.

We all talked about how to boost interest in CX, gain more users etc. New website, new examples, etc etc. While all of that is true and needed if we want to have more buzz on the community, someone needs to do it and maintain it. The first step is hard, the second one even harder. I have seen a lot of you guys help out and commit stuff. That is all great and awesome and I thank you guys big time for that. But it looks basically like everyone is gone now, lost interest. Our community feels deserted to me, like only a handful of users are using CX. So of course I question the reasoning to keep CX alive. And lately I my desire to work on my own games and projects is far bigger than supporting CX. At the same time I don't want to give up on it. I feel like I would let my friends and family down. Maybe I am putting to much pressure on my self, just should let it roll and see what happens. At the end I am not obligated to do anything, this is just a hobby.

I have removed the teams page and the roadmap as they raise false expectations to the people interested in CX. So yah, I will work on the Ads part for IOS and then make a release. After that I will see....

Someone asked for an update on the situation, here it is.
 

ddabrahim

Active member
Tutorial Author
Joined
May 3, 2020
Messages
175
I'm sorry about the last part of your post that you question the reasoning to keep CX alive and you are considering to drop it once again.
It is an awesome programming language and Mojo's performance is out of this world. I was really happy with it, I had great plans with CX but then the day when you freaked out over some negative comments and announced you are done with CX and you drop it, discouraged me to continue with CX.

Since then I was looking for an alternative and I did travel a great length, tried Pixi.js, SFML, Haxe, MonoGame, Cocos2D, AGK, Love2D but there is something I disliked about each of them, either complexity, performance, lack of features or poor performance and I was continue to follow CX.

I've seen that you have released new version and have great plans and now I was just considering once again to return and here we go again, you announced that you have no time nor motivation to continue which I totally understand....

Not sure what could have been done to avoid this, but at this point all I can say is to follow your dreams and if CX is not part of it then drop it, don't force it anymore. You did a great a job at keeping it alive and provide support on this forum. You own nothing to anyone, no apology or explanation.

I wish you good luck with your game dev carrier. Thanks for everything!
 

Jimmy

Active member
3rd Party Module Dev
Tutorial Author
Joined
Jan 2, 2020
Messages
924
It's totally understandable. If you feel stressed then don't press yourself. You did a great job with Cerberus-X so far and it should be fun and not feel like a duty. I might use Cerberus-X as long as I can as it's the most enjoyable programming language I've used. I'm currently developing some commercial software for the first time, and I'm also gonna introduce some YouTube videos soon where I will do things using it.

I'll say as ddarbahim and I wish you good luck with whatever you decide to do!
 

MikeHart

Administrator
Joined
Jun 19, 2017
Messages
3,168
Thanks guys for the input. My wife this morning said I should not post stuff when I am down. Just to make it clear, this was no goodbye or I give up statement. But things will definitely go not as fast as I would like to. For my own project I want to use CX as well. But before I start with that, I will TRY to port our iOS ads solution to the new sdk. Testing IAP without an app in the store is to my knowledge impossible. Please correct me if I am wrong.

Regarding the roadmap and teams page. Do guys think it is better or not to have them online?

And yes @ddabrahim , I tend to express how I feel here on the board. Not that this naturally a good thing. Sorry about that. I am working on this issue these days.
 

Jimmy

Active member
3rd Party Module Dev
Tutorial Author
Joined
Jan 2, 2020
Messages
924
Thanks guys for the input. My wife this morning said I should not post stuff when I am down. Just to make it clear, this was no goodbye or I give up statement. But things will definitely go not as fast as I would like to. For my own project I want to use CX as well. But before I start with that, I will TRY to port our iOS ads solution to the new sdk. Testing IAP without an app in the store is to my knowledge impossible. Please correct me if I am wrong.

Regarding the roadmap and teams page. Do guys think it is better or not to have them online?
She's probably right, my wife says the same to me. Maybe you just feel too much pressure right now so I'd say put up the roadmap and teams, but don't make any promises nor put out any dates and be very clear on things that's possible that other people can help out with.

I'm working on some commercial stuff using Cerberus-X and also I'm gonna make yt videos on how to make Live Linux sticks with fullscreen jitterfree 60fps Cerberus-X. It took some time to figure it all out. They will work on both PC and Mac computers. I will make a superdetailed video how to make one from scratch without having to be Techy/Linux-savvy. Loads of fun. I will also try to come up with interesting demo code.

I'm personally offline more now as I'm looking for a job right now and part of my portfolio will be made in CX instead of using C++ which I'm not ashamed of to admit at all, as I'm' getting the quality I want from Cerberus-X on all platforms superquick.

I'm not sure about the IAP-thing, I hope someone else can answer that one.
 

ddabrahim

Active member
Tutorial Author
Joined
May 3, 2020
Messages
175
And yes @ddabrahim , I tend to express how I feel here on the board. Not that this naturally a good thing. Sorry about that. I am working on this issue these days.
No, I did not meant to complain, it is fine to express how you feel and I totally understand it is not easy to stay motivated and to stay positive. It is better to be honest than keep people in the dark with false hopes. I was jumping framework to framework so long and so many times now to find one that fits with no success, I am also running out of fuel and positivity to be honest so don't take it personal.

Regarding the roadmap and teams page. Do guys think it is better or not to have them online?

It would certainly not help if you keep people in the dark with no information what to expect.
Instead maybe you should add some categories to the roadmap like

Coming in the next release => meaning you have it implemented, tested, confirmed it works and can be expected within 6 months or something. If you are busy like now, just keep it empty, nothing is coming.

Work In Progress => meaning staff that you have looked in to, did experiment with but it is not ready yet and no promises. It may or may not come, at this point it is uncertain.

Considering => meaning staff that you think is reasonable to look in to at some point in the future and experiment with but for now it is just considered, not expected anytime soon

And then you could also have a category

Help wanted => it could be things in WIP that you got stuck with, need help with the testing or implementation, fixing a bug could provide a link to a forum thread or a GitHub issue where you explain more what the problem is.

I think it would be better than no information anywhere.

For my own project I want to use CX as well.

Glad to hear it, it would have been my suggestion to work on a project in CX and develop CX for your needs and your project needs, it could maybe help to stay positive about it. Also, if CX get super popular you would get feature requests from all directions and it would be difficult to please every single person, there always be negative people who feel ignored. So to do what you enjoy doing should always be your priority at all times and a project developed in CX could certainly help with that.
 

Dabz

New member
Joined
Aug 3, 2021
Messages
18
Hi there, I'll just chirp in...

i'm using CBX too, my project has come a long way in the short space of time I've played with it, infact, I'm on the horrible part of turning my game into a game, that final battle as it were, but chipping away! ;)

I dont frequent or posts on the boards, because, well, we'll acknowledged the elephant in the room... The day I upset Mike with a bit of jest... I didnt mean to cause offence with my comments, and I have no interest in causing any bother, that was one reasons I kept away, and generally I can find my own way with stuff so no need to hammer boards with queries, as... Well, I have none to pose language wise... I'm just getting on with it, I read the docs, delve into module code if unsure... I get by!

So yeah, another user here that would hate to see such a lovely and cared for update of the monkey language potentially drift away (EDIT: They might not be the right words to use, because you have stated your not going to give up on it, but, I hope you understand my sentiment)... It's quite a nice bit of kit, and I do really enjoy using it, and the work gone into the whole thing by everyone involved... It is appreciated! *Big thumbs up*

My 2p

Dabz
 
Last edited:

Phil7

Administrator
CX Code Contributor
3rd Party Tool Dev
Joined
Jun 26, 2017
Messages
644
Hello everybody,
I know I am late to the party ... as usual. The end of the year is near and the goals I set at the beginning are still pretty far away. Maybe it is wrong to do so, but I tend to post only at times when I have something substantial to show. But I can completely understand the longing for some information about the progress or at least some sign of life here and there. And as you can see, if someone asks for a status update, you get one.

My personal situation besides CX also got a bit more time consuming than I initially thought. I have a family with two little children at the age of one and six. Our Kindergarden is closing doors every now and then because they lack pre-school teachers or they face some corona issues.
Besides this I am working as a teacher at school and I am on a substitute teacher year with no reliable working hours complemented by some hours of part time coding.

With CX, like @MikeHart mentioned, I am still working on the docs and I have to decide where to put the line of calling it finished, ready to replace the current documentation.
My 10 finger typing trainer is progressing a bit, while I am using it to improve my speed, but I didn't upload a new version yet. This project could be used as a official CX app to test IAP and Admob functionality.
While working on this project two side projects are hopefully evolving as it progresses: A simple StopWatch Module to measure the time of function execution or render calls like this:
Code:
StopWatch(TIME1CONSTANT, FLAG_START)
... some code to execute ...
duration = StopWatch(TIME1CONSTANT, FLAG_FINISH)

The second side project is a mojo to mojo2 wrapper. I am writing the typing trainer using mojo api and use the wrapper to make it use mojo2 in the background.

Well, and I tried to simplify the current admob module to get rid of some heritage code and to make it also function with just one statement in its simplest form. It seems to work on Android but I didn't look into ios, so it doesn't make sense to release it risking that we need two different APIs for android and ios.

@MikeHart talked in his first post about Sokol as an option to get metal working with CX. I tried to get the mojo2 part working which went quite well until I hit a roadblock regarding the custom shader stuff. If you are interested in this, just look for the bgfx module thread here in the forum. It is just the same problem with Sokol.

I realise that I should finish some of the projects first before starting new ones :)
 
Top Bottom