3D for Monkey

Monkey Archive Forums/Monkey Discussion/3D for Monkey

rebelas(Posted 2014) [#1]
Minib3d is too slow. Do I give up using Monkey for 3D, even for hobby?

rebelas(Posted 2014) [#2]
Sorry, by slow I do not mean the software is too slow, I mean its development is too slow. It seems it is a one person job. Its version for FB never went above 0.7, I guess.

MikeHart(Posted 2014) [#3]
What is FB?

rebelas(Posted 2014) [#4]

AdamRedwoods(Posted 2014) [#5]
I don't work on the Freebasic version, just the Monkey version, which i have been supporting for over 2 years now.
i'm slow going, because i don't make any money from it. recently, i lost out on a contract job and i've been looking for work, so that slows things down, too.

if there's something you specifically need, you can try to persuade me. i have an update i'm working on, re-writing chunks of the collision code, level-of-detail, surfaces, octrees, normal shader, and am trying to smooth it all out. physics, collada, shadows, and winrt are coming, but physics is a MAJOR time commitment.

3d engines take longer the more advanced they get. i'd like to point out the leadwerks engine dropped mobile support due to time constraints & budget, and he has more than one developer.

rebelas(Posted 2014) [#6]
What I need for you depends on what level I am in. I do game programming for hobby, so my demand may not be important to you. For non game programming 3D or 2D, I do not need top graphic quality.

For hobby 3D, my minimum requirement is efficient easy shadow and only rigid body physics, not all other aspects of a game physics.

I am willing to pay very high price for a stable game programming environment (I know how to examine a stable game engine without paying for it) like Blitz3D with minimum OOP with Physics, good Shadow and minimal 3D file format loader with minimal animation. Game authoring tools, like Unity, I won't pay a penny. Why? Because I am a hobby 3D programmer. Can I make a simple 2D or 3D game for iPad or Android to become a professional game programer, of course I can, but I don't have time for that; I don't need that money either. For that I may get authoring tools. However, I have not been there to say these tools are really work in reality for indies.

I gave up and set up Blitz3D with fast Extension and Bullet to work with - with pain of not knowing well how to do none OOP programming. However, I will download minib3d again and try it. I may write a limited rigid body library for my software, but I cannot do shadow, specially with shaders stuff with 3D models. These are too much for me and take long time; I have tried them in C++ and gave it up because my progress was too slow. I do my team work somewhere else.

rebelas(Posted 2014) [#7]

Just setup a free web site and put your works in there and ask for donation. Working free does not make sense. Gradually the quality of your work becomes better and people will steal your work to make bunch of money. Make sure you get enough before that happens.

Xaron(Posted 2014) [#8]
rebelas, check out Unity then. For 3d stuff it's just awesome, rocksolid, stable and free.

Sammy(Posted 2014) [#9]
I'm enjoying using miniB3D, it has limitations but nothing that should stop you from completing a game. Adam is doing sterling job maintaining miniB3D.

BTW Blabz mentioned that he would attempt to add shadows to miniB3D soon.

Xaron(Posted 2014) [#10]
Yes, don't get me wrong, I LOVE MiniB3D and really appreciate all the hard work Adam puts in it! :)

Actually I think it's already production ready. Shadows are not that important IMHO, at least not for mobile games.

rebelas(Posted 2014) [#11]
Xaron, I do not like GUI game authoring tools (Like Unity or GameStudio), I like to do everything with code. I like good libraries. I do game programming for hobby. In electronics, you can make a circuit by transistors, you can also get an IC and just connect few wires to it to get the same result. To be busy and for fun and learning some skills, I like transistors, for making money, I may use IC, if it works.

rebelas(Posted 2014) [#12]
For Windows, I have setup a project to work with these:

Visual Blitz - IDE
Fast Libraries - for shadow and text
Particle Candy - for effects
Bullet - Wrapper for Blitz3D

Demos all work, how all will work together in current technology, I don't know.

I like to use Monkey with these libraries because it is OOP and procedural languages are hard for me. BMAX does not work with all, it only works with Blitz3D.

Xaron(Posted 2014) [#13]
I see and totally agree as I come from the same programming background (and even the electronic one as it looks like). :)

BTW: I've ported ParticleCandy for Monkey and Minib3d, don't know if you already have seen it?

I wonder how Mark's own 3d lib will look like.

rebelas(Posted 2014) [#14]
Another one is jMonkeyEngine. I like that, but it is too OOP. Just for example, you will be in a situation like this:
xxx.rr.yyy.wwww.df.ff.cssw.ggt / bbf.yy.ee.jjjgh.ww.oo.uu.vvf

I will set up a project to use Monkey and minib3d for desktop and will code in parallel with my Blitz3D setup. Lets see when Monkey-minib3d will reach the above combination. Because of Game Authoring Tools, may never, because straight coding is no longer popular.

I do not code for mobile devices, it takes too much, desktop is good enough for me.

I sold all of my Apple devices and only kept the latest iPAD because it has very optimized sound (Android does not). Android devices are not good for music software like instrument or amplifier emulations. Unfortunately, Apple is too monopolistic.

I do not hesitate to buy programming tools produced by Blitz or for Blitz to support the community. I like the community to survive, grow and become successful. The more open source it becomes the more I will be passionate in my support. As soon as I see too much commercialism (Like Torque), I will go out. I have not paid a penny for C4, Torque, Unity. I respect GameStudio, but I do not like GUI Game Authoring tools.

rebelas(Posted 2014) [#15]
There are millions of programer who like game and 3d programming not for selling, just for hobby. That is a big demand specially if the coding environment and adding libraries are as easy as Blitz3D, BMAX and Monkey. I think for those who are in system programming, it is a great area to enjoy their skill and let other do the same.

rebelas(Posted 2014) [#16]
I forgot this:

My Monkey project will use these:

Monkey X
Mollusk for IDE
minib3d for 3D

I may use some 2D or 3D vector library, or font, don't know yet.

My 2D works with Monkey has been very successful and the software I created is very fast. I created a mapped 2D environment on which every entity on it carries a lot of data about the cell it is on AND within a range and every map cell do the same for any entity on it, all in real-time. I want to do the same in a mapped 3D environment. I need a 3D data structure? Don't know yet, may be I invent one or maybe it already exists.

rebelas(Posted 2014) [#17]
Xaron, see in my comments, I referred to Particle Candy. I bought your software long time ago for Bltz3D, if you are the programmer.

For minib3d in Monkey, I tried the one you gave me the link. It opens OpenGL screen, but does not go farther and stays black. It does not give me any menu and the default running effect.

rebelas(Posted 2014) [#18]
This is good too for desktop, at least on paper:
requires accepting C++ headaches. I will give it a try. It uses scene graph.

rebelas(Posted 2014) [#19]

You can do something like this to get financial support for minib3d:

rIKmAN(Posted 2014) [#20]
I remember buying Particle Candy back in the day - I didn't know there was a Monkey port so thanks for the heads up Xaron!

Will my old licence still work or do I need to purchase the Monkey version separately?

rebelas(Posted 2014) [#21]
I tried jMonkeyEngine today. It is not too OOP, it is OK. It has all the elements of the above project that I had in mind to setup for Blitz3D. It automatically installs NetBeans so you can easily create a 3D project. I have used NetBeans a lot before, vow, impressive, a great engine with a great IDE. I think, it is contemporary Blit3D ;D , lovely!

rebelas(Posted 2014) [#22]
Unfortunately, in jMonkeyEngine, you have to write twice more codes to do the same thing with Blitz3D with its above libraries. For complex situations, it gets alot messy, you need to access many objects. jMonleyEngine seems to be too middleware.

zoqfotpik(Posted 2014) [#23]
What Monkey targets does MiniB3D run on? IOS and Android? Will it run on the Ouya?

Xaron(Posted 2014) [#24]
It runs on almost all targets, including Ouya.

Danilo(Posted 2014) [#25]
Tested MiniB3D two days ago, runs only with "GLFW (Mac)" target here.

Error with HTML5, iOS, Android, Flash:
Error on Line 14 of 'os.monkey'
--> Native OS Module not implemented

Error with STDCPP:
Error on Line 9 of 'driver.monkey'
--> Native Game class not implemented

- latest MiniB3D, downloaded 2 days ago.
- firepaint3d.monkey example
- Monkey X V78h
- Mac OS X 10.9.2

Raph(Posted 2014) [#26]
STDCPP is for command line utilities, I thought? Does it even do graphics? I have never messed with it. :)

rebelas(Posted 2014) [#27]
Just to make your life easier, as I have been through ...

Read this carefully:

then, read minib3d forum above.

It doesn't seem a decent 3D for Monkey is a possibility! For 3D you need to go somewhere else.

rebelas(Posted 2014) [#28]
I am developing a 3d library with c++ and opengl 3.3 faster than I could imagine, shadow is already done. 3d model will be my real challenge. I will bind it to bullet. All in pc. Openglplusplus is ok, but I like my way.

zoqfotpik(Posted 2014) [#29]
What's wrong with just using OpenGL? Is that not decent 3D? It's a little long in the tooth but you can easily get very nice graphics with it, especially on mobile sized screens. A lot of detail can be added in textures.

AdamRedwoods(Posted 2014) [#30]
I am developing a 3d library with c++ and opengl 3.3 faster than I could imagine, shadow is already done. 3d model will be my real challenge. I will bind it to bullet. All in pc. Openglplusplus is ok, but I like my way.

but if it's only PC, why not just use something that already exists out there, like Ogre, Irrlicht, or Urho3D and wrap it? unless you're learning and having fun.

rebelas(Posted 2014) [#31]
Yeah, that is the way to go. C++ and latest OpenGL, if PC is the target.

Yeah, I mentioned above that it is for my hobby. Urtho3D looks like going Unity way, just a game making application. I found Ogre not as straight forward as Blitz3D. I like scene graph to be optional not part of the way coding should go. Irrlicht the same. My goal is to create some easy to use commands like in Blitz3D but with modern API. I wouldn't do so if there was a modern Blitz3D like 3D library for C++ or BlitzMax. Yours, minib3d, could be a good replacement, but it seems you are not going to finish it, otherwise, it was ready for BlitzMax. For this summer, I usually do my hobby programming in summer, I have decided not to wait and create the libraries myself. It is going very well now and it will be better during summer.