SyntaxBomb - Indie Coders

General Category => General Discussion => Topic started by: meems on February 27, 2018, 21:42:51

Title: why did u stop BlitzMax and start on different language?
Post by: meems on February 27, 2018, 21:42:51
I'm just starting blitzmax. Can't see me ever needing more power+utility for my games than this. 'specially sinced its still being deved by brucey. blitzplus was nearly enough, but not quite. So why have most of the community moved off bmax? u all working on cutting edge doom 4 tier shooters?
Title: Re: why did u stop BlitzMax and start on different language?
Post by: therevills on February 27, 2018, 23:57:30
At the moment I'm still using BlitzMax for my major projects.

Most of community has moved away because:
* BRL has dropped supporting the language - no further official fixes or releases
* Vanilla BlitzMax doesn't produce 64bit applications - this will impact MacOS development this year!
* Vanilla BlitzMax "only" targets are Windows, MacOS and Linux (with bugs), some users want more targets (especially mobile targets, Android and iOS)

I still like the language, I prefer the syntax of Monkey2 though...
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Steve Elliott on February 28, 2018, 00:07:47
Quote
I prefer the syntax of Monkey2 though.

Oh dear, Monkey 1 was bad, this is plain awful.  You must be the one then...And maybe Adam...The language is a kind of torture.  Like Mark got drunk and decided, yeah that would be cool!!  Except it wasn't.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Qube on February 28, 2018, 01:22:21
Quotewhy did u stop BlitzMax and start on different language?
Pretty much for the same reasons as therevills states.

1.. It got abandoned by Mark / BRL for no good reason at all.
2.. MacOS won't support 32Bit apps from next year and BMax only does 32bit.
3.. Eventually Microsoft will drop 32bit app support too.
4.. No mobile support. Mark doesn't like mobile but it very important to a lot of developers.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: IanMartin on February 28, 2018, 02:38:29
I'm still using BlitzMax.  It's the best platform for Windows/Steam 2D for me at the moment.
If I move to something else it will most likely be for Android support, HTML-5 Web support, or 3D (which would have to be Unity:/ )
There is also no way to publish a BlitzMax game on Switch/ PS4, etc. so at some point you'll have to use something else for those.

But for 2D games on Windows, BlitzMax is still my favorite.  If there was a version of BlitzMax that did those other things, I'd most likely stay with it forever :)


Title: Re: why did u stop BlitzMax and start on different language?
Post by: Naughty Alien on February 28, 2018, 03:45:01
..because its left to die by developer and prior to that, updates were never done as they should..in main time, better products came in to sight and are in fact very frequently updated based on community request, which is something what is considered SciFi for BRL...in short, B4X and AGK does job perfectly well and very fast..
Title: Re: why did u stop BlitzMax and start on different language?
Post by: iWasAdam on February 28, 2018, 06:51:27
stopped with blitzmax because of 2 things.
1. lack of 64bit
2. something (I never found out what) started to act really weird with internal memory being overwritten. whic was starting to cause untold faults across different apps - in a very strange way.
E.G. when reloading images, the font being used would corrupt!
E.G. when loading 3d stuff. the system would completely crash - not just crash but reboot instantly. so there was no debug opportunity...

monkey 1 - enough said...!!!!!
monkey 2 - superb language, very nice and sweet. but unfinished. The thing I cant get me hard around is I am one of the few people writing apps, games that are being used by others (not just complaining about stuff). I tried and tried and tried to feedback to mark, with code, suggestions, all the nice support I could. Anything I suggested or tinkered with - he rewrote so it broke what I was doing. and in some respects was hostile. not a good place.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Derron on February 28, 2018, 07:52:45
I never came across garbaged bitmapfonts. When reloading images you may loose texture context and need to reconnect. Invalidate your object's image, reassign and it shoult do. Similar could be needed when switching to fullscreen/windowed or changing render paths (DX/OpenGL). Maybe AGK and others handle that automatically. Could be implemented in BlitzMax and other languages too. Emit an event, react to this Event.

I get a bit of the feeling that many of you use AGK now - until they find some individual spots in the engine not working as they want, then things get fixed here and there (with your help narrowing down the bugs of course). But somewhen the product will die too. Or evolution stops and revolution takes place (means "AGK 3"). Same to say about "language + engine" somebody is choosing until the language keeps being supported but the engine lacking more and more developers.

Am still using BlitzMax and am tightly tied to it because my "lifetime game" is written in it - and contains sooo much code that porting is something I would really really want to avoid).

I used Monkey once for a compo project on the monkey forums ... and already encountered some restrictions (ever tried to cross fade streamed music on the webbrowser including the needed volume adjustment for channels?). The biggest thing putting me of (aside of the "TED"-editor) was the case-sensitivity. Without proper IDE-support you will have to remind how to write a command properly. And this also means, you cannot just write code in your text editor of choice - as you do not get the "auto-capitalization" there.

I am using BlitzMax for 15 years or so - and for the time being I used "MaxIDE" only for debugging, it really puts me off. Borked undo, ugly looking color scheme (I know, some of you really like that blueish/teal background - with comments in "yellow" - which has nearly the same contrast than active code lines...), missing IDE features (autofill/codecompletition/...). But while I not have written as much library-stuff as Brucey, I have written enough code in BlitzMax which allows me to rapidly do things when prototyping (as I wrote them, I know how to use them, how to achieve certain stuff). On the other hand certain stuff is just missing in the base installation - but needed for today's expected audio-visual presentation ...shaders and so on.


bye
Ron
Title: Re: why did u stop BlitzMax and start on different language?
Post by: meems on February 28, 2018, 08:45:22
interesting replies. For me, lack of html5 would be the deal breaker. Soooo many people just play games on their browser now, and the game i've deving is well suited to browser.

But why bmax lack of 64bit? I don't understand. If blitzmax was written in C and C++, then why can't just find a 64bit C++ compiler and compile the same source code? Or does 32->64bit C code need to be rewritten upside-down?
Derron insists html5 for bmax is not happening, but surely with all the effort by brucey he'll find time at some point in his life just to press F5 on his 64bit C++ compiler and generate a 64bit bmax....
Title: Re: why did u stop BlitzMax and start on different language?
Post by: ENAY on February 28, 2018, 09:31:09
I stopped using Blitzmax after two projects, way back in maybe like 2003, maybe even earlier.
As at the time, Blitzmax made for slower and less reliable executables than Blitz3D/Blitz+ and at the time, a lack of any 3D support was a big turn off. I know that in the end Blitzmax changed quite a lot. But I never went back to it, and stayed with Blitz3D/Blitz+ until about 2010 or so since B3D was better and there was actually documentation and support for it unlike BMax which at the time was flakey at best.. I did use Monkey for a month which felt like an even worse version of Blitzmax from 2001.

Since then it's been C++ and Unity only. Mainly Unity though. Unity is everything I wanted Blitzmax 3D to be, and more. Not only that Unity is now industry standard and it uses C# which is also industry standard. I can tinker with stuff in Unity and know that I have real world skills, in and out of gaming since I also have to use C#. Something which I could never say about any of Blitz Research, which sadly had niche markets, or at the very least no transferable skills outside of indie or hobbiest programming. Blitzmax is similiar to C# and unless you want to use the classic old skool syntax of B3D which I did love. Blitzmax is so similiar to C# that you may as well just use that instead.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Henri on February 28, 2018, 09:53:01
Original Bmax was only 32bit and it was never Mark's intention to make it 64bit, probably due to code ties to both assembler and gcc, and because Monkey was on the pipeline. Lot of the original code was written with 32bit world in mind, so some kind of effort was needed to rewrite those parts.

Bmax NG on the other hand is different, that it is using only C-code underneath created by the Transpiler (not sure of the name) originally from Monkey project. It inputs original Bmax code and spits out C. This is then compiled with gcc. Due to this and great effort from Brucey to rewrite the parts in original code, Bmax NG is 64bit, plus with added language features and targets.

I myself am not a game maker (allthough it would be fun to make one at some point), so I'm not familier with the quarks and needs in that area. Bmax NG has the SLD graphics backend so that one is new. I think development of any tool will benefit from people using it, and finding the time to create issues where they find some, and this way make the product better. When I look at Brucey's history, he has been very consistant over the years, and is currently listening and improving as seen on recent updates.

To many of you AGK seems like the perfect next thing (or Unity), and that is fine. You can decide this yourself :-)


-Henri
Title: Re: why did u stop BlitzMax and start on different language?
Post by: meems on February 28, 2018, 10:18:46
>There is also no way to publish a BlitzMax game on Switch/ PS4, etc. so at some point you'll have to use something else for those.
this hints that one of the languages around here can compile to ps4 & switch. which is it?
Title: Re: why did u stop BlitzMax and start on different language?
Post by: meems on February 28, 2018, 10:37:44
@henri interesting post
it leads to a key question :
why did brucey not just migrate to monkey? what was the deal breaker there? What was it about bmax that caused him to stay? If he was too invested in bmax, could he have written a code-converter so that he could port his code to monkey ? That may have been less work than turning bmax into another multiplatform language. -
If mark could have given bmax a multiplat compiler, i expect he would have, but looks like he saw it easier to start again.

i'm considering 3 alternative languages to bmax
a.) cerberus : seems comfy, and should be the one that most closely resembles bmax, but small community.
b.) AGK : but whats it written in? C or java? don't like style . e.g. x:integer. duh, what programmer doesn't shorthand the term integer ? is this the tip of the iceberg wrt agk mentality? might as well write out programs in plain english.
c.) B4X : looks big and strong. but i'd prefer one written in C rather than Java, for more speed!

also, side-question. why did mark ditch monkey ?
Title: Re: why did u stop BlitzMax and start on different language?
Post by: iWasAdam on February 28, 2018, 11:07:55
Mark ditched monkey for monkey2  8)
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Derron on February 28, 2018, 11:23:49
@ Why Brucey stayed with BlitzMax
Think it is the possibility to work with C-code. Brucey is coding in C and so it paves the way to go with BlitzMax. There are surely other reasons but I think this was one of the main things he once wrote when this was asked that time.

I assume language designers like Mark always see "flaws" in their languages. Flaws in the design. You cannot easily change the language design without breaking existing code. Also BlitzMax was heavily tied to assembler code and the FASM compiler. 64Bit needs other alignments for numbers, things he would have needed to tackle then. Mac/Linux(on PC)/Windows have had very similar abilities, so the lowest common denominator wasn't that low. But going with HTML5 or (that time) very slow mobile devices (or at least low resolution, slower file access...) made things a bit different.
Thinking of android's way of doing, you need a totally rewritten approach to your "app loop" to make it not drain that much battery. Its not "fire render() all the time" but you need to respect the OS's requirements (render during the renderUI loop or so).

Think after X years doing work on a project you always find things which need a whole rework as they were done in a dumb/amateurish/non-future-proof way.


With Unity and other toolkits you can choose between languages - it's the "workflow" (live preview/hot editing) and "modules/libraries" they offer, not the language.

bye
Ron
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Brucey on February 28, 2018, 12:14:41
Quote from: iWasAdam on February 28, 2018, 11:07:55
Mark ditched monkey for monkey2  8)
It will be interesting to see how Monkey III turns out!  8)

I only use 64-bit BlitzMax these days - on all of the three main platforms, and tend to only go back to 32-bit when I need to test something or am building 32-bit versions of say, wxMax... and the Raspberry Pi is 32-bit.

It's a shame that I couldn't easily gain access to the Switch - without being a game developer and having a plan for a game on their platform - as it's fun to get BlitzMax working on new targets. Given that someone has ported SDL for it, I don't think it would be impossible to get BlitzMax binaries running on it. But the only way I see this happening is to be part of a team that already has access to the SDKs/hardware... ah well :-)

Title: Re: why did u stop BlitzMax and start on different language?
Post by: Derron on February 28, 2018, 12:33:53
Hmm, have a Wii laying around here ...

Maybe one does not need to have a team/sign-NDAs to be able to code for the Wii. Hey, you could even emulate it now. Dunno if it is that easy to find a team having Switch DevKits, the (official) SDK-access - and are searching for a new language/toolkit to try out :p

I could apply for a nintendo-developer thingie (just promote one of my casual game "wips" as a potential game - to avoid the sexual content TVTower offers with the description of erotic movies) either as individual or as company (have the VAT/Tax numbers if needed). Still I wont buy a switch (my younger brother has one - I think I played it one single time) or a dev kit (420 Euro). I assume Brucey would gain access too - just say you are writing a unity-like programming-toolkit and need access to the SDK.
The SDK was leaked some months ago but I doubt that will help.


bye
Ron
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Steve Elliott on February 28, 2018, 12:37:41
Quote
AGK... don't like style . e.g. x:integer. duh, what programmer doesn't shorthand the term integer ? is this the tip of the iceberg wrt agk mentality? might as well write out programs in plain english.

Agreed, it's far too wordy.

So you'll just have to choose the language you least detest.   :P
Title: Re: why did u stop BlitzMax and start on different language?
Post by: meems on February 28, 2018, 12:58:56
@brucey
...so why didn't u go to monkey?

@steve
i know its an irksome minor point. shouldn't matter rly. cerebus has an equally annoying aspect : case sensitivity. I've never seen the standard counter argument to case sensitivity overturned i.e. what lunatic needs distinction between variable, Variable, vArIAble, variABLE, VARIABLE etc. I'd think it was a funny joke, except some poor bastard actually implemented it in his language, and then other programmers copied him, like dumb sheep. Gives insight into how daft language programmers are. The cost of getting heavily involved in something is u often weaken your grip on reality and common sense.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Derron on February 28, 2018, 13:31:17
@ Nintendo Switch
Seems a nintendo switch target wont happen so fast as nintendo wants each unity/godot/blitzmax-user (aka developer with that tool) to be a registered developer too (including the needed pitch for your project)

godot: https://godotengine.org/qa/9144/future-game-console-support
unity: https://answers.unity.com/questions/1384958/nintendo-switch.html
SDL: https://discourse.libsdl.org/t/sdl-for-consoles/22726

In other words: Brucey would not be able to push the needed changes to make it work with the SDL as soon as it hits some NDA barriers. This is also why you cannot open up Unity and just configure an "export to switch" target.

bye
Ron
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Steve Elliott on February 28, 2018, 13:35:26
@meems I wasn't been sarcastic, I agree with you.

But the point is, it's a case of going with something that is gonna let you code a project without getting irritated every 10 seconds.  Only you can make that decision.  Ultimately every language is flawed in some way or another.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Krischan on February 28, 2018, 14:44:37
Another question is: what is your replacement language for Blitzmax now?

Currently I'm staying with Blitzmax because I didn't find a suitable replacement yet (for me). I took a look at Unity and AGK and even considered moving to C++ but none of these alternatives has found my attention yet for different reasons. I only fear I must take a decision in at least a few years when they drop 32bit support in Windows, if I want or not - or stop coding. :o
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Derron on February 28, 2018, 14:58:59
Maybe you should open up issues stopping you from using NG for 64 bit. And from time to time nag Brucey to fix the issues - sometimes he also comes up with nifty solutions exposing that your issue is not an NG issue but a simple "coding flaw" :-)

bye
Ron
Title: Re: why did u stop BlitzMax and start on different language?
Post by: meems on February 28, 2018, 15:01:18
brucey has said he does 64bit bmax and i have faith in him. so the end of 32bit is not reason to move away from bmax. if a bmax noob like me can get ng working w/o knowing bmax, anyone can. its not hard + derron helped me at every stumble.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: iWasAdam on February 28, 2018, 15:02:30
Quotevariable, Variable, vArIAble, variABLE, VARIABLE
variable would be used within a function/method and would probably be local
Variable could be a function or global within a class
VARIABLE would usually be a const or static of some form - generally predefined elsewhere
_variable / _Variable usually internal class stuff

So Variable would be the access point for the internal _variable class definitions

vArIAble, variABLE are just dumb and are sackable offenses  :P

In essence (on the surface) they all are the same, but in practice there is a general programming method to naming.

Where this becomes more important is with the following sort of stuff
PageCoreTileNum.Value is far more readable than pagecoretilenum.Value and is easier to read (quickly) than Page_Core_Tile_Num.Value where the _ sort of breaks up the flow

Whereas
KEYPRESS_M
STORM_FOUNTAIN
MOVEMENT_LEFT

becomes easier to read and instantly recognisable as some form of static/const that is pre-defined

There are other notations which have the base type also added. E.G.
fX = float value X
iX = int value X
bX = bool value X
strX =string value of X

Again this sort of use allows someone else to instantly look at the code and know what is going on without resorting to finding header files, etc.


Title: Re: why did u stop BlitzMax and start on different language?
Post by: meems on February 28, 2018, 15:07:58
>what is your replacement language for Blitzmax now?
bmax-ng ! :)
i've been looking at AGK and cerebus today. agk seems too nooby, while cerebus seems too advanced. both have annoying aspects. agk is the nextgen of darkbasic, so the nuances of the language will be unfamiliar to a blitzer like me.

The only reason i'm thinking of shifting is no html5 platform in bmax, but really the browser game market isn't that big, and is in slow decline atm.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Krischan on February 28, 2018, 15:35:08
Oh yes, BMAX-NG is on my list, too. But so far, the compilation times of Blitzmax NG have deterred me from using it (compared to Blitzmax they felt like 10-100x slower which is a no-go to me).
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Derron on February 28, 2018, 15:44:45
Did you try with the latest commits? I did a small commit some weeks ago - and brucey did some more commits and improved compilation times another big step. So if you did not update your BCC/BMK combo for some weeks, do it now :o)

bye
Ron
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Krischan on February 28, 2018, 17:45:33
Not yet but good to know. Do you mean "BlitzMax Win32 v0.87.3.16" from https://github.com/bmx-ng/bmx-ng/releases (https://github.com/bmx-ng/bmx-ng/releases)? Sounds still like 32bit? What about a x64 version for Windows?

EDIT: ok got it running. WOW. I've tried my Normalmap Creator in win32/x64 Architecture mode and the compilation time is twice as fast now (3000ms vanilla vs. 1500ms NG). I think I must take a closer look now :P
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Derron on February 28, 2018, 18:04:43
Just compile the most current sources with your vanilla blitzmax installation. It is pretty straightforward (compile bcc, copy bcc to ng\bin, compile bmk, copy bmx + some .bmk files to ng\bin, install/copy a MinGW to ng\MinGW32, download and copy brl.mod / pub.mod from the ng project and copy to ng\mods).

If you have trouble doing that, create a thread in the bmx/bmxng subforums.

Edit: ok you edited your post meanwhile ... some improvements could be done when updating the vanilla\bin\bmk.exe with an updated one - especially if you already used Brucey's bmk.exe in your vanilla installation.

bye
Ron
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Krischan on February 28, 2018, 18:30:17
I've just used the precompiled binaries from the link above and it ran out of the box. Recompile times are much faster than months ago, good work.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Derron on February 28, 2018, 19:23:09
This is over 1 year old. Maybe you try a fresh variant (bugs fixed, new language features, less annoyancies - and it should compile/link faster).


bye
Ron
Title: Re: why did u stop BlitzMax and start on different language?
Post by: LT on February 28, 2018, 23:16:29
To answer OP's question:

I continue to use BlitzMax and have built a complete (mostly) 3d engine with VR around it.  Lately, I've been questioning the wisdom of sticking with it, though, for the same reasons other people in this thread have stated.  Getting my engine to be cross-platform seems like a daunting challenge, at this point.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Naughty Alien on March 01, 2018, 00:17:42
...as much as AGK may feel 'noob' (im not sure what that supposed to be anyway), it does job without stress especially when we talk about targeting multiple platforms, both 2D/3D, it does support VR googles, shaders and so on, so im not sure whats 'noob' about that...all it does is makes me focus on making my game, rather than feeling like a 'pro' by using elegant 'pro' language and cursing every moment of its existence when i try to target anything but development platform..
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Qube on March 01, 2018, 00:44:25
Quote from: meems on February 28, 2018, 15:07:58
agk seems too nooby
Perfect for my intellect levels and why I use it :P
Title: Re: why did u stop BlitzMax and start on different language?
Post by: meems on March 01, 2018, 00:51:17
I expect you're right naught. I extrapolated from the 1st things i noticed. I thought about having to type out 'integer' so many times, and it filled me with dread. But, i'd get used to it, likely quicker than having to use caps in cerberus ( please tell me agk is not case sensitive! ).
then i notice you have to announce the for loop variable at next, like 'next n'. man, that is so old. I haven't seen that since acorn BBC and my commodore C16+4.
It just gives the impression of being gratuitously basic. Is it all like that? Well even if it is, I could get used to it. And maybe it works fine.
But I have other reasons for not wanting that. I think its good practice to avoid these mega basics, cos it makes u too soft. The real world of bad-ass ugly messy industry languages is there, so got to keep fit by using a not-so-basic language.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Qube on March 01, 2018, 01:03:52
QuoteI thought about having to type out 'integer' so many times
No you don't :)

You can use myVar ( integer by default ) myVar$ ( string ) or myVar# ( float )

Quotethen i notice you have to announce the for loop variable at next, like 'next n'.
Nope, that's optional

For count = 1 To 10
   Print count
Next

Works just fine.

Quoteplease tell me agk is not case sensitive!
Is is not case sensitive \o/

QuoteIt just gives the impression of being gratuitously basic. Is it all like that?
I think some find it a little wordy but I would not say it's gratuitously basic.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: ENAY on March 01, 2018, 01:37:29
No language is perfect, it's not what it does now that's as important as "What will it do in 1 or 2 years time", "How much support will it get".

I've been with Unity since version 2, almost 6 years, and it's changed a lot over the years, compiles to absolutely everything and it's now even easier to use than it was in Unity2. And with more speed and reliability and features too.

Now back to B3D and especially Blitzmax. Blitzmax was very promising when it first came out, but as time went, and how complicated it (eventually) came to compile on Mac, let alone even considering Linux. My choice of dev was primiliary Windows so I just abandoned it for B3D, which at the time was much better, easier to use and could support 3D.

If Unity was good, then wasn't supported etc then I'd stop using it.
We've (and many others) been able to develop for Nintendo Switch many months before the Switch was even released.

As I mentioned before Unity feels like the B3D and Blitzmax's of 15 years ago. Back before giant corporations even thought about easy to use or multi compilable game programming languages.

I used B3D and Blitzmax because they were so easy, and at the time, the best to use. Now it's Unity that has stolen this limelight.

If Blitzmax in 2018 was awesome, well supported and had many platforms to compile for etc. I wouldn't be using Unity, that's for sure.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: GW on March 01, 2018, 06:27:00
Blitzmax has been my main language for a long time, Recently I've put it aside in favor of C#.  I tried to use BmaxNG for my current project, but I cant seem to find a solution for dynamic audio buffers that works with android.  Brucey has vanished,  so I'm not able grovel and beg for a RayLib module or a custom SoLoud filter. So moved to c#. 

One really important thing is that the long term success of a language is tied to it's tooling.  Blide is a necessity, but it's abandoned and currently a pain in the butt play nice with NG.  Without good tooling a language will have a tough time surviving.

All that being said. I truly have a strong affection bmax and it will probably always remain my first or second choice for a project.
     
Title: Re: why did u stop BlitzMax and start on different language?
Post by: RemiD on March 01, 2018, 06:49:11
Quote
Now it's Unity that has stolen this limelight.
what a joke, some commands of unity are a nightmare to use compared to the equivalent in blitzbasic...
show us how to create a mesh / surface / vertices / triangles...

in blitzbasic : (a simple 3d square tile)

Mesh = createmesh()
Surface = createsurface(Mesh)
V0 = AddVertex(Surface,0,0,1)
V1 = AddVertex(Surface,1,0,1)
V2 = AddVertex(Surface,0,0,0)
V3 = AddVertex(Surface,1,0,0)
AddTriangle(Surface,V0,V1,V2)
AddTriangle(Surface,V2,V1,V3)
Updatenormals(Mesh)


show us the equivalent in Unity, and the equivalent in AGK, so that we can see how those languages are superior... :-*

The only advantage i see, is if you want to export your game for several OS...
(Tank Universal (blitz3d game) is still on the steam store...)
Title: Re: why did u stop BlitzMax and start on different language?
Post by: ENAY on March 01, 2018, 08:56:46
Hey RemiD!

I thought this thread was about Blitzmax?

Show me some (a simple square tile) code in Blitzmax

Back at ya!  :-*

Naturally making a mesh in B3D is easy. In Unity it's certainly a bit trickier, not impossible though

https://docs.unity3d.com/ScriptReference/Mesh.html

Although that mesh can easily be compiled to Android, iOS, Vita etc. B3D would just be Windows.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Derron on March 01, 2018, 09:02:44
> Show me some (a simple square tile) code in Blitzmax
DrawRect(x,y,w,h)

:-p


bye
Ron
Title: Re: why did u stop BlitzMax and start on different language?
Post by: playniax on March 01, 2018, 09:21:53
I am still using BlitzMax as a toolmaker but I stopped using it for games because of monkey.

I spend a few weeks with Unity that I just can't get to like!!! and now looking seriously at AGK2 what I do like.

For AGK I even started a little library that I affectively call Pyro Mini LOL

And after all this experience I can say that Monkey2 if you forget about some issues that need to be addressed has the best syntax/ease of use/power!
(if you don't count the lower level languages)
Title: Re: why did u stop BlitzMax and start on different language?
Post by: RemiD on March 01, 2018, 10:46:09
@ENAY>>with blitzmax + minib3d or openb3d, the code would be very similar to what i wrote...
something like :

mesh:TMesh=TMesh.CreateMesh()
surf:TSurface=mesh.CreateSurface()
v0=surf.AddVertex(0.0,0.0,1.0)
v1=surf.AddVertex(1.0, 0.0,1.0)
v2=surf.AddVertex( 0.0,0.0,0.0)
v3=surf.AddVertex( 1.0,0.0,0.0)
surf.AddTriangle(v0,v1,v2)
surf.AddTriangle(v2,v1,v3)       
mesh.UpdateNormals()

Now, your turn  :-*


and i am also curious to see a code example to achieve the same (very simple) thing in AGK...


Quote
DrawRect(x,y,w,h)
i meant a mesh 3d square tile
;D
Title: Re: why did u stop BlitzMax and start on different language?
Post by: MikeHart on March 01, 2018, 10:52:11
Quote from: playniax on March 01, 2018, 09:21:53
For AGK I even started a little library that I affectively call Pyro Mini LOL

Hehe, that is what I did with my fantomEngine framework too back in the days.  :D

All now array based, where the index is basically the OBJECT.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: meems on March 01, 2018, 13:21:54
Quote from: playniax on March 01, 2018, 09:21:53
I am still using BlitzMax as a toolmaker but I stopped using it for games because of monkey.

do you have a measure on how much extra sales u get from the extra platforms that monkey allows? I'm currently under the impression that browser game sales aren't major. Bmax-ng should in theory do android platform, so no difference there from monkey. But wot about your console platform sales?
Title: Re: why did u stop BlitzMax and start on different language?
Post by: playniax on March 01, 2018, 14:21:19
QuoteHehe, that is what I did with my fantomEngine framework too back in the days.

We just can't help ourselves right?  8)

What is your tool of choice nowadays Mike?

QuoteBut wot about your console platform sales?

No console sales at all. I stay with mobile and desktop for now.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: meems on March 01, 2018, 14:33:24
>No console sales at all. I stay with mobile and desktop for now.

thats undermines the point of moving to a multiplat language. should have stuck with bmax.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: playniax on March 01, 2018, 14:54:26
Quoteshould have stuck with bmax

There was no mobile at the time on bmax and now I have monkey2
Title: Re: why did u stop BlitzMax and start on different language?
Post by: MikeHart on March 01, 2018, 22:11:07
Quote from: playniax on March 01, 2018, 14:21:19

We just can't help ourselves right?  8)

What is your tool of choice nowadays Mike?




Yes it is an addiction. My tool of choice? Regarding games?


For 3D it is definitely AGK at the moment.


For 2D I am going back an forth between AGK and CX.


AGK has a huge advantage reagrding the API and the ease to create an executable. The simple language of AGK actually lets you be more creative I think.
You don't start to over engineer your code/framework. Combined with the API, can't beat that.


Cx I love because of the language and the history I have with it. And the quick HTML testing. I think performance wise, CX is also better performing in HTML5 than AGK.
I am still working on it because I don't want to let its users down.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: MikeHart on March 01, 2018, 22:20:43
Btw. I had the strange idea to create a CX -> AGK Tier2 target. That should be actually doable.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Derron on March 01, 2018, 23:25:46
> I am still working on it because I don't want to let its users down.

That does not sound very motivating - you should "enjoy" doing it. Else pull the plug before dust starts to settle down. You stated on your forums (just scanned it a minute) that Martin also was no longer so heavily involved. Hmm, hope things will change again.


bye
Ron
Title: Re: why did u stop BlitzMax and start on different language?
Post by: meems on March 01, 2018, 23:54:28
does agk do console platforms like ps4 xbox and switch?
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Naughty Alien on March 02, 2018, 00:12:36
(https://s17.postimg.org/rfy2o5gnj/Screenshot_-_2_3_2018_8_10_44_AM.png)
Title: Re: why did u stop BlitzMax and start on different language?
Post by: meems on March 02, 2018, 00:24:47
looks like a no to me. but with that load of different popular platforms, maybe ps4 xbox or nintendo do some sort of platform emulation to get on one of them.
Wonder why the likes of agk, monkey and the other cross-platys don't explicitly do the consoles...
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Naughty Alien on March 02, 2018, 00:45:11
..well..in order to develop for consoles, you must have a debug version of it, and not many people have it, so its scaled down to is it worth porting to that target considering amount of existing developers looking for it..
Title: Re: why did u stop BlitzMax and start on different language?
Post by: IanMartin on March 02, 2018, 01:16:01
Quotethis hints that one of the languages around here can compile to ps4 & switch. which is it?
I'm not sure about PS4, but I think the only thing you would have been able to use to have a game ready when the Switch released would have been Unity. 
There may be things that can work with Switch now, or in the future, but the market will fill by the time you get anything on there.  The importance of being first cannot be overestimated. 
Sometimes I kick myself for not just getting on the Unity bandwagon years ago, as by now I'd have tons of experience and be able to be everywhere instead of just one platform.  Every time I've tried Unity I hated it though.  I want to program! dang it!  The focus on 3D is also a big put off.
I just want something as simple as BlitzMax that exports to all the other stuff too.  A BlitzMax to Unity converter would be great! heheheh


Title: Re: why did u stop BlitzMax and start on different language?
Post by: IanMartin on March 02, 2018, 01:18:33
Quotevariable would be used within a function/method and would probably be local
Variable could be a function or global within a class
VARIABLE would usually be a const or static of some form - generally predefined elsewhere
This is what I use.

Local variablename
Global VariableName
Constant VARIABLENAME

It's easy to tell them apart that way. 
Title: Re: why did u stop BlitzMax and start on different language?
Post by: MikeHart on March 02, 2018, 05:35:01
Quote from: Derron on March 01, 2018, 23:25:46
> I am still working on it because I don't want to let its users down.

That does not sound very motivating - you should "enjoy" doing it. Else pull the plug before dust starts to settle down. You stated on your forums (just scanned it a minute) that Martin also was no longer so heavily involved. Hmm, hope things will change again.


bye
Ron


Hehe i was waiting for reply like that. But don't you worry. Things are looking pretty good here. Me and some others are quite busy regarding CX
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Derron on March 02, 2018, 07:41:02
Quote from: Naughty Alien on March 02, 2018, 00:45:11
..well..in order to develop for consoles, you must have a debug version of it, and not many people have it, so its scaled down to is it worth porting to that target considering amount of existing developers looking for it..

As I linked somewhen these days, you not just need the DevKit but also a developer account at Nintendo - and you need to pitch your project to them so they accept or decline your proposal - depending on your project and mood. So doing the next "big thing porn game" wont give you access I think.
This is one of the reasons why there are no Open Source toolkits exporting to Switch now - Nintendo NDA for SDK vs Open Source.


@ MikeHart
I hope so ... someday I might have to do some little stuff here and there for web - and for now this would be done with Cerberus. Hope one of the members is playing with IntelliJ and a custom language support - would help to spread the word once you got a pretty decent IDE (and porting that back to BlitzMax would help BlitzMax too) :-)

bye
Ron
Title: Re: why did u stop BlitzMax and start on different language?
Post by: RemiD on March 02, 2018, 08:00:05
an example of the unecessary bullshit to create a mesh / surface / vertices / triangles in Unity :
youtube.com/watch?v=ucuOVL7c5Hw&t=56s
and then look at the code compared to my (simple) code examples)... (blitzbasic version or blitzmax version)

no wonder that most developpers are intimidated by 3d...
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Naughty Alien on March 02, 2018, 08:35:58
..while i agree with you, you missing important point and that is, even complex, such task IS achievable in Unity, so one is not limited for that matter, while one could put endless list of things B3D BMX simply cant do, while Unity does it by default..this is major reason why, most of people left BMX/B3D...it is not reasonable to expect to sacrifice all that features Unity offers, for exchange of creating vertices/surfaces easy way B3D does...its as simple as that..
Title: Re: why did u stop BlitzMax and start on different language?
Post by: RemiD on March 02, 2018, 09:16:37
Quote
while one could put endless list of things B3D BMX simply cant do
you exaggerate a lot here... You can still make good games with blitzbasic or blitzmax... But ok you don't have access to all the next gen features, (which may be an advantage if you want to finish a game someday...)
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Naughty Alien on March 02, 2018, 09:24:36
..what did i exaggerate ?? Im more than confident that B3D and BMX are more than capable for delivering nice game..no doubt about that at all..reasons i was talking about are related to, how much tool (bmx/b3d) help you to spread your game as much as you can, to increase your revenue, with as little as possible work involved..thats all..
Title: Re: why did u stop BlitzMax and start on different language?
Post by: iWasAdam on March 02, 2018, 10:08:55
In general creating a mesh in code, is the same as creating a bitmap in code - it just isn't done anymore.
You want a simple 3d plane mesh - fire up the 3d editor, create your mesh and import it. Hence why Unity and others are more popular.

B3d has a model importer but not really a good one, hence make mesh, etc. These were the early days of 3d.

BlitzMax doesn't even have any 3d at all - your on your own there.

Even Monkey2 with it's great language is still struggling with 3d.


Title: Re: why did u stop BlitzMax and start on different language?
Post by: RemiD on March 02, 2018, 10:26:09
Quote
B3d has a model importer but not really a good one
what are you talking about ? b3d format has all you need to create a mesh (with materials, textures, joints/bones, weights, animations) so you can reproduce most (all ?) small indie games (those we can see on the steam store)
the only thing missing compared to unity / unreal / agk is the normal / bump feature (in the engine) which is not necessary unless you want to create realistic high details graphics...

Quote
BlitzMax doesn't even have any 3d at all - your on your own there.
minib3d and openb3d do not exist ?

Quote
hence make mesh, etc. These were the early days of 3d.
indeed, procedural generation of environments is a thing of the past... ::)
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Derron on March 02, 2018, 10:52:34
@ RemiD
The unity games doing procedural terrain and the likes - are NOT the majority of games developed in these bigger toolkits.

The majority of "polished" games are done this way:
- coder / project leader
- bought and imported assets by external creators - or done by an inhouse artist

An artist is not interested in doing stuff programmatically - he does - as Naughty explained - fire up his 3D editor of choice, does 3 clicks to create the stuff he is asked for ("simple Qube-Tree in the size of 2x1x1 units), exports the stuff and sends it to the asset folder or the coders or however the workflow is.

Coder enables imports of these models (automatically or via "drag drop") and voila.. it is there. If the asset is not done correctly, artist is blamed to revision what he did, then again asset export, asset import ...done.


If these guys need a procedural terrain, they use a tool/lib/... enabling them to use that in a way that an artist / level designer could handle it: visually in the editor, by heightmaps, ....


The times of handcrafted (coding wise) 3D stuff are surely existing for some of us - but all these "doing it as a job"-game creators will do it in the way eating the least amount of time (time is money).


bye
Ron
Title: Re: why did u stop BlitzMax and start on different language?
Post by: iWasAdam on March 02, 2018, 10:54:42
b3d format.. come on RemiD. Average Joe wants direct input from maya and Max. Actually they dont as they would be using something professional.
So you now need to hunt for a package to give you b3d export, etc... Just one more step to people not wanting it.

BlitzMax has NO 3d. Nothing NADA. minib3d and openb3d are add ons. and addons for those that know what b3d is and how it works... So it's catering for those from the past before it starts...

And... Finally.... TADA...
I think you'll find most procedural environments are using some form of base mesh procedure: where the basic mesh is a 3d mesh created in a 3d package of some form and then modified further in some way - bones, etc. Think Lego. Where you have a box of fixed 'things' you can then plug together to make new things...

I stand (very firmly) by: "Generally people have absolutely no desire to create a mesh by points a,b,c = triangle = mesh. They want to import a pre-defined mesh - preferably one they didn't have to model either"
Title: Re: why did u stop BlitzMax and start on different language?
Post by: RemiD on March 02, 2018, 11:28:00
Well, even if we focus only on analyzing, modifying, merging, premade parts (made of surfaces, triangles, meshes, textures) (btw that's exactly what i do), all that i said still stands. (blitzbasic / blitzmax + minib3d/openb3d syntax is easier to understand / use)
Sometimes you need to create surfaces, vertices, triangles, textures in code, for example for volumetric glow effect (faster than full screen glow), or for custom particles, or for the HUD elements... or for signs / messagesboxes...


Quote
The majority of "polished" games are done this way:
- coder / project leader
- bought and imported assets by external creators - or done by an inhouse artist
i don't care about what companies with a lot of money (who hire programmers and artists) do, i am a small lone developper like (apparently) most of you on this forum.


Quote
Average Joe wants direct input from maya and Max.
average indie probably can't buy maya or 3dsmax...


except for the "future proof" and for the "export to several OSs", i really don't see the advantage to use these complicated tools to create small games (for a lone dev), i have tried Unity in the past and it made me waste even more time to achieve not much !
Title: Re: why did u stop BlitzMax and start on different language?
Post by: iWasAdam on March 02, 2018, 11:43:29
QuoteSometimes you need to create surfaces, vertices, triangles, textures in code, for example for volumetric glow effect (faster than full screen glow), or for custom particles, or for the HUD elements... or for signs / messagesboxes...
NO... NEVER - use a premade 3d mesh of the particle, etc.

Here's my workflow:
- import base particle
- draw particle
end

signs
- create signmesh
- import
- test
- edit signmesh
- test

the edit/test part is instant. want a more complex sign - just resave new mesh - instant

Your method:
v1 = 100,100,100
v2 =mvmbmnbmnb
blah blah mesh yada yada
Sorry I don't have the time to debug what the crap I'm doing.
I don't have the patience to work out is y up or is z facing backwards today?

I want to be able to create, click resize, save, test - And so should you.

Quoteaverage indie probably can't buy maya or 3dsmax...
Blender anyone?

OK. I am being glib here. I wrote my own renderer and 3d modeller and 3d format.

Quotei am a small lone developper like (apparently) most of you on this forum
Me too  :P
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Derron on March 02, 2018, 11:55:12
blender -> collada/dae export to Unity or Godot.
Need to resize it properly? Do that in the 3D toolkit not your game. "run debug run debug adjust" ...

Another benefit of Unity and Co: the plentora of tutorials. You are not the first developer encounting a certain problem. So solutions are more often and faster found than with B3D/BMax.

I like BMax because i use it...and because of the rapid prototyping. But there are so many people around who are more of the visual/artist nature than us, who like to position entities on the mathematical exact position (x+offsetX for player 1, x+gridWidth-offsetX for player 2...). Most people just position things with the mouse - and it works.

We setup label positions like this "label.y + labelNumber*15" while others just drop the label below the other one and it auto-aligns properly. Of course they might dig into our "live" if they need dynamically created labels - but this wont be the case for the simple "Prototype games" ... drop a label, assign a background, layout it properly, done.


Above is what _others_ do ... I like to do things by hand here and there. But guess how funny things become if you need to tinker around with things not provided by B3D, BlitzMax ... the other toolkits offer simple solutions to sync things over the network while we need to manually send bytes, receive bytes, ... or use things like "gnet" which does not work well in all situations.

I am pretty sure that many people failed with Unity - but they would mostly also fail with B3D, BlitzMax, AGK ... BUT there are surely many people around who followed some PONG/Space-Invaders tutorial for godot/unity and had fun with it. Most of them - like in all languages - wont finish the next game as they just start something "too big to swallow" but more than with BlitzMax/B3D will finish smaller or bigger games. With B3D and BMax you are pretty fast lost once things "do not work" as many of us (at least myself) are not capable/not having the knowledge to do certain low level stuff.


bye
Ron
Title: Re: why did u stop BlitzMax and start on different language?
Post by: RemiD on March 02, 2018, 12:09:53
Quote
Your method:
v1 = 100,100,100
v2 =mvmbmnbmnb
blah blah mesh yada yada
@Adam>>
i rarely create a mesh vertex by vertex and triangle by triangle, but i often load the premade meshes and textures, and analyze them, modify them, merge them, etc...

With your "all made manually" approach, how would you create 100 differents plates (like in my "hidden items searcher finder" game) with each plate having a different text ? same comment for the text on messageboxes... how would you create a volumetric glow effect depending on the shape of the item ? how would you create volumetric rays depending on the color of the grawings of a window ?
How would you modelize the (all different) caves that i am currently making ? in a modelisation software ? try it and see how quick it is...

Even if you modelize premade parts, sometimes you need to combine them and merge the result as one mesh one surface, one texture, for example if you have a humanoid/creature and you want to add hair, clothes, armors, weapons, on it, how do you plan to do that ?

Before trying to code a procedure to create something by code, i usually do it manually, so it is not faster to do all manually, this is nonsense !


Quote
With B3D and BMax you are pretty fast lost once things "do not work" as many of us (at least myself) are not capable/not having the knowledge to do certain low level stuff.
@Derron>>from your past posts, i am sure that you could, you have just not tried...
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Derron on March 02, 2018, 12:25:16
@ text and effects
The texture for text overlays is created by the engine (dynamic localization) or the artist (premade).

Effects are done by the artist and are then available to add by the artist in the 3d toolkit or by the coder...
if entity.GetProperty("effectgroup")<>0 then entity.addEffect(entity.GetProperty("effectgroup"), entity.GetProperty("effectgroupConfig"))

and the likes... just prepare stuff to be configured "externally" and you could specialized tools to assist you in creation. Adam created some tools for himself - speeding up creation stuff. Unity offers way more tools to help "artists" to do stuff, and not just creators. It is just as simple as comparing "hard coded paths" with "ini stored paths".
You once need to enable your code to work with that external stuff and then you can use it over and over without needing to add so much more code.

My Dig-Framework has some TEntity types... and I can create certain entities via XML - and I even can add some other sprites to the entity including XML-defined animations, delays, child positions. I needed to write that once - but now people who want to mod my game could add some animations to elements in the game - eg the vendor blinks with the eyes, opens his mouth ... and so on). I as the coder do not have to help them - except they need new functionality.

So back to your example of glow or not: you would premade the effect to be configurable/attachable flexible and then it is just a matter of the toolkit to be able to represent it (if it is your toolkit) so artists could configure it there.
But for Unity you would need to do the opposite ... adopt their technique, not yours.


bye
Ron
Title: Re: why did u stop BlitzMax and start on different language?
Post by: RemiD on March 02, 2018, 12:47:19
@Derron>>all good in theory, now read the unity / unreal documentation, and some ready to use graphics effects, like per pixel glow, per pixel lighting, per pixel shadows, per pixel reflections, can't be used on "low end" computers / tablets / smartphones or they will produce massive slowdowns... so in this case what do you do ? You have to code your own procedures to create similar effects (like static volumetric glow, static baked lighting, static baked shadows (except for turning moving entities), precaptured or fake reflexions (using cubemap textures)

theory <-> practice, as always...
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Naughty Alien on March 02, 2018, 13:33:08
..actually i have 3dsmax license...one of the best investments i have ever made...its hard to see it until you use it and realize how nicely you can do your 3d stuff without throwing your brains out of window..
Title: Re: why did u stop BlitzMax and start on different language?
Post by: iWasAdam on March 02, 2018, 14:02:51
QuoteWith your "all made manually" approach, how would you create 100 differents plates (like in my "hidden items searcher finder" game) with each plate having a different text ? same comment for the text on messageboxes... 

OK. I'm not going to say one method is better than another, just provide 'my' answer to the plate issue above:
1. You are never going to have 100 different plates (in basic look), so I would probably use 3 different meshes for the basic plates.
2. any mesh can be rendered with any color. so lets say there are going to be 8 minor variations in color
3. Lets assume that we are going to map some textures to the plates to give them some more variation. lets give them 5 variations

(we are already up to 120 possible color/shape/texture ways)

Text is irrelevent as is messagebox as they are attachments to the 'object' and rendered separately <- that's how I would approach it

QuoteHow would you modelize the (all different) caves that i am currently making ? in a modelisation software ? try it and see how quick it is...
Me personally, I would break down the caves into the minimum that I needed and work from there. Usually the first things would be a floor, a ceiling, and a wall plus corner.

The issue you are really raising is about 'difference': cave A 'looks' the same as cave B.
For any generative system, unless you have loads and loads of time and skill. it will always 'look' the same after a few different caves. That is why a lot of games use partial pre-made and generative system together, or drop generative systems entirely for one that looks and feels 'right'.

The best example of Procedural content done completely right - but ending up completely wrong is the recent "No Mans Sky" monstrosity. "wow, it's all different. wait a minute, it's all the same. oh gawd this is a load of crap".
And the reverse of that is "The witness". Beautiful on every level.

So how does CaveA not look like CaveB?
* The first is design - so you start to need to have procedural systems that are programmable and give different results - that still feel 'right'
* dressing - each cave must have a very different visual look, color, type of rock, moss, etc <- your now getting into procedural fixtures. but they have to be directly related to the first design so they feel 'right'
* does it have water. is it dry. is it cold, etc
What you are actually doing is writing systems that interact with each other and after a few caves the player will be "Meh, seen it all before... NEXT!"
And that is before you try and make sense out of puzzles - which usually end up being hand crafter, just because a human can do it far better than a machine can.

To recap:
caveA = blue cave with hidden room, etherial sounds emanating from a crack in the wall. when you get near you hear a mystic voice saying "beware the Creme Angaise"
caveB = rock cave with one end going down to a submerged room containing a treasure chest
caveC = many small chambers connected together forming a maze. at the center of the maze is a bottle with the words "eat me" written on it
caveD = arid dry cave with sand piled along one wall (not sure if the sand is red or pale buff colored yet) with some painted stuff peeking out. further investigation shows the location of a second cave plus lots of scorpions pop out of the sand

With that list and a set of minimal resources I could reuse and create all the different caves with the same stuff and a simple map tool.



Quotehow would you create a volumetric glow effect depending on the shape of the item ? how would you create volumetric rays depending on the color of the grawings of a window ?
hmmm. volumetric - nasty stuff. not a problem. just use a particle glow at the same position of the mesh
volumetric rays - I've not got any god rays in my renderer, but if I was faking it, then I'd again use particles. In both cases you have complete control over alpha, color, etc
Title: Re: why did u stop BlitzMax and start on different language?
Post by: Derron on March 02, 2018, 15:29:55
Dunno when I used 3DS Max the last time - might have been in the early 2000s ;-)
Am using Blender since 2.3x or so. Tried to do things with Poser a decade ago - but was too much "for artists" than for "make your own" people.


@ RemiD
As with all missing effects: you need to do this on your own then. But as said: you do it in a way that it allows to "attach" things each to another. So if you had a "god ray" effect, you might also add a "swirling dust effect" to that so particles swirl around.
If you follow the rules of the toolkit then you, the artist, whoever, is able to setup these things in the toolkit editor - seeing things previsualized and so on.

For "one time effects" this is often meaning "doing more than needed" but with the second time you need this effect (of course here and there adjusted) then things start to pay out. It surely depends on the scale of your project or how many projects you want to do with it. it is similar to the discussion we had some weeks ago - about "finishing stuff" instead of writing tool after tool for it and making things overly complex just to allow a user to colorize the buttons in your game.

Nonetheless: if you had a layout editor for the gui stuff of your game, then you would not need to run ...adjust ...run ... your game until the buttons are looking fine. For GUI apps RAD tools were accepted or do you do it all the hard way manually adding buttons to layout containers ?
(I only do that for dynamically created sub windows).


bye
Ron
Title: Re: why did u stop BlitzMax and start on different language?
Post by: RemiD on March 02, 2018, 17:17:59
Quote
I would break down the caves into the minimum that I needed and work from there. Usually the first things would be a floor, a ceiling, and a wall plus corner.
That's exactly what i did to build each cave, but then if you don't want to cause slowdowns, you want to merge the parts which share the same material / texture and are near each other (what i did : each area is one mesh with one surface one material one texture), or if you want to alter the structure of the surface in order to make it more different (like the "outlines heights" or "irregularities depending on normals"), you also have to be able to analyze, modify, merge, surfaces...

But i agree that there are several ways to build a map, in the past i have coded a map editor which used premade meshes / textures (Unity users call these "prefabs") and then you position / rotate copies of these premade components.

For some cases this works, but not for all cases.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: ENAY on March 05, 2018, 06:19:30
RemiD, you can keep going on and trying to convince everyone that doing a mesh is more difficult in Unity than Blitz. I think all of us can agree with you on this point.
If developers are THAT intimidated by 3D, then that just leaves less saturation for people who can and want to make 3D games and are able to use Unity.

Does it really matter in the beginning how easy it is to create a mesh in Unity, when at the end of a project, compiling to various platforms or getting conversation, feedback and debug reports from an active community (industry standard) of programmers on various topics?

That part is a lot easier than Blitz, and perhaps you could say, more important than how easy it is to create primitives in native code?

If you have a complex issue that broke Unity by say, a Windows update. You can be sure that it will be fixed, and with haste. Now if something breaks or gets deprecated in Blitz, can it be fixed? Who will fix it?

Unity is not THAT MUCH harder to use than Blitz, although of course many things you could easily do in Blitz are missing in Unity. That's just life I'm afraid.
Title: Re: why did u stop BlitzMax and start on different language?
Post by: RemiD on March 05, 2018, 07:40:35
Quote
you can keep going on and trying to convince everyone that doing a mesh is more difficult in Unity than Blitz. I think all of us can agree with you on this point.
i just don't understand what is the advantage to complicate the language, that's all. And as a lone / indie dev, the simpler / faster it is to make progress, the better...


Quote
when at the end of a project, compiling to various platforms or getting conversation, feedback and debug reports from an active community (industry standard) of programmers on various topics?
of course, i agree


Quote
If you have a complex issue that broke Unity by say, a Windows update. You can be sure that it will be fixed, and with haste. Now if something breaks or gets deprecated in Blitz, can it be fixed? Who will fix it?
me, or a coder that i will hire to fix it ;) (or i will end up using blitzmax + openb3d)
Title: Re: why did u stop BlitzMax and start on different language?
Post by: ENAY on March 06, 2018, 03:18:05
I suspect Blitz3D does the exact same thing as Unity, except those calls and traingle construction are just wrapped into a neat function and hidden from you.

Mark dipped into all the horrible parts of 3D math and C++ so we didn't have too. Unity is somewhere in between I'd say.

At any rate, I can't help think that there are better things to worry about in the programming world, other than which language can create primitives with fewer lines of code. :)
Title: Re: why did u stop BlitzMax and start on different language?
Post by: RemiD on March 06, 2018, 08:20:38
Quote
I suspect Blitz3D does the exact same thing as Unity, except those calls and traingle construction are just wrapped into a neat function and hidden from you.
@ENAY>>most likely yes. And that's what "Blitzlike" (a Blitzbasic "wrapper" for Unity) did.

After a quick look at some tutorials, creating a mesh, a surface, vertices, triangles, in Unity is not so complicated after all (more than in Blitz3d, but less than in AGK).

Anyway !