Blitz3D open sourced!
Blitz3D Forums/Blitz3D Programming/Blitz3D open sourced!
| ||
Hi, Blitz3D is now free and open source! You download the final release version of Blitz3D from this site for free - use the registration code 'FREEBLITZ3D' when creating an account, or add it to your existing account. Visit the Account -> Product updates page to download. Source code is available here: https://github.com/blitz-research/blitz3d It's a MSVC 6.0 project (which I have installed on a version of XP running in vmware) but it should be possible to upgrade the non-MFC projects (ie: everything except IDE and Debugger ) to later versions of MSVC. The only major difference between this one and the commercial version is that the commercial version has fmod 'baked' in - the open source version uses fmod via DLL instead. |
| ||
Thank you! Since I already own Blitz3D I'm hoping this will allow some brave soul to update the 3D for DX9/11 or to improve the code in MiniB3d. |
| ||
This is unexpected but very appreciated. A Direct3D renderer for MiniB3D is a much more real possibility now. |
| ||
OMG! THANK YOU MARK! :D |
| ||
Woah! I thought this was a fake post (due to the user name v2)... |
| ||
I pulled up the site tonight to purchase BlitzMax, and I notice Blitz3D is now free and open source! Wow! Man, I love using Blitz3D. I don't know if it matters at this point but here comes another Blitz purchase (Max)... Thanks, Mark. |
| ||
Woah! I thought this was a fake post (due to the user name v2)... Yeah, how curious. That interests me more. :p |
| ||
It miht be a good move with the right advertising since the competition has some form of free version of their product |
| ||
:) Nice!! |
| ||
Uh, Yue.. You might want to make your own thread for that. :) Unless this has something to do with the new release of the source for Blitz3D. ^_^ Thank You! Sincerely, ~GF |
| ||
Mark, you're the man! |
| ||
Wow, this one too! Well, thank you some more! Fun times ahead. |
| ||
I have a question, that's good for Blitz3D, or bad? |
| ||
It's good, Yue! :) That means that Blitz3D is now Open Source! :D |
| ||
It is something that worries me, ie that doing this is way too old? and you will not see the future, because it was not better to give a boost, improving the code and sell it, I do not already useless, at least that's what I think. |
| ||
Wrong, Yue. You are SO wrong. Just because Mark released the source doesn't mean that your program will go unnoticed! Have more faith in yourself man! |
| ||
I have a question, that's good for Blitz3D, or bad? I'm not savvy enough to understand the implications. With the community/fan efforts, will this help B3D remain usable with upcoming Windows, or will this help BlitzMax become more 3D user-friendly like Blitz3D? Or both? I'll continue using Blitz3D for my retro flight sim, while I've just added BlitzMax to my toolset if just to support Blitz Research and to have my bases covered learning a little BlitzMax on the side. |
| ||
I suppose it means there are no more bug fixes by brl ... its reached end of life I guess. |
| ||
I'm not savvy enough to understand the implications. With the community/fan efforts, will this help B3D remain usable with upcoming Windows, or will this help BlitzMax become more 3D user-friendly like Blitz3D? Or both? Open source is what you make of it. With the code now out there, anyone who wants to port it to Max can now do so. Anyone who wants to update Blitz3D with a more up-to-date backend can now do so. So those things are objective good points. For anything to come of that, there has to be community engagement, both ways. You have to either be able to rely on some people actually making the improvements, or make them yourself; and someone (doesn't have to be Mark) needs to host the "live" version of the code to accept community improvements so that there's a central hub for development, or the code will not improve. (One joy of GitHub: click the "Fork me!" button at the top of the page and congratulations!, you now have your own version of the code with full control over accepted patches, so anyone who wants to can do this job without Mark needing to manage it.) A problem the Blitz community has had in the past is that people have on both sides of the commit-line tended to sit around doing nothing, neither submitting nor accepting patches and waiting for "the community" to step up and work magic, which isn't a thing that actually happens. Avoid this pitfall and the project will live. (Basically you have to "pay" for what you get either way: before, we paid with money; from here on people must pay with "involvement".) The other thing it does is open up the way for people to work on their own "versions" of Blitz Basic and release separate compilers and engines under a common name (the same way Apple, GNU etc. have their own C++ compilers). So even if dense DirectX7 VC6 code is too difficult for people to hack their way through (I can't see myself modding that any time soon), we can also build our own from scratch or on top of other engines - like GMan's iB3D - and call them "implementations of" Blitz3D, now. (This is what I'm doing with BlitzPlus.) |
| ||
Crikey o'reilly - I didn't think this day would come quite yet. Great stuff , though I do think you are burning your bridges a bit. In any case, a big thankyou - this will definately help me with the developement of HW... |
| ||
Here's what I would like to see happening in an Improved B3d A) If possible its essential to turn it to an Object Oriented language B) Add Native Physics as in Xors3D Improving the graphics is in my least of priorities as i believe a good Artist can do a lot even under DX7. Lets see what will come out of this. I also reccomand that Ideal Editor will somehow be continued in developing. someone should contact the creator and ask him to make it open source ass well. Cheers |
| ||
marksibly_v2 ? Is someone releasing all this on Mark's behalf? Hope all is okay... |
| ||
Is someone releasing all this on Mark's behalf? Hope all is okay... He posted in this thread around the same time this morning: http://www.monkey-x.com/Community/posts.php?topic=8833 |
| ||
He also has two Markesque comments in a thread about BMax 1.50 running on Ubunutu 12.04. |
| ||
http://marksibly.blogspot.com/ here not free notice Blitz3D, mmmmmm, v2... |
| ||
Wow! Thank you, Mark! Maybe the code can be merged with BlitzPlus, to have GUI and 3d commands in one? |
| ||
Wow, this is great news, thanks alot, Mark! - hopefully open source will/could blow some life into the product and mabye some exciting new updates and improvements. |
| ||
For me this is a bad news, it means no more bug fixes for future versions of Windows. I hope that a skilled coder will provide fixes/updates for free or for some money because personally i don't want to do it. We will see how it goes. I hope the result will be better than with max3d... |
| ||
I doubt there will be much "exciting updates and improvements" - some of the members might try to "clean up" things, maybe add some small parts here and there - but no further input of the rest of the community will come and at the end development on the forks will stall. There is just not enough "pitch" for the things to really kick off. You at least need the maintainer to work on things so potential helpers are "dragged into" development (this is what Yasha described in a similar way). People are often afraid of big projects - so they do not do "big workloads" (replacing engines etc.). But they do small patches - until they feel brave enough for bigger experiments. People starting right with big experiments will often stop development before it is even finished. In our case this means: the development of the product already stalled, so the real maintainer (Mark) is not actively developing things with it. So there is no "patch submitter who evolves into a main contributor" because it at first needs a new main contributor/main developer. This will be the hard part because nobody can guarantee that there will be helpers doing codes within a given time period of x months. The main advantage is now: if you are still developing with B3D - you can now find more "teammates" because you save on the licences... Just compile the final product with your "non-free"-B3D and get fmod inbuilt. bye Ron |
| ||
Many celebrate the code Blitz3D is released but I doubt many of these are programmers c + + and directX 7 to give hope for updates and on that basis I got to ask the creator of Fastlibs thought about it and answered me "It's great ... but it's useless", ie very few of us really are programmers and I doubt anyone quiea save us, but thanks to Blitz3D I learned a lot, not done any game but it has been worth it, and I several options in mind, Unity or Otorque. |
| ||
First of all, thanks for Blitz3d (the first programming language I bought!) Secondly, thanks for releasing the source code as open source... I believe someone will 'grab' it and create something interesting... a Blitz3dx will arise someday. I would like to know how things are now (search for new job, MonkeyX sales, free time ... more or less beer!) and what are next move(s)... just for a little free 'hype' And what do you think about Brucey's efforts?!? Any 'stimulus' about Max? Anyway, have a nice day! |
| ||
Excellent news! Thank you Mark. Blitz3D has been a wonderful product over the last 15 years and has brought many new developers into games programming. |
| ||
Now that Blitz3D is free and opensource, does the EULA allow it to be used in schools, afterschool clubs, usergroups etc, without the need to purchase a special-case license?. |
| ||
Yes it's free for all users and organisations. |
| ||
^ What he said :D |
| ||
blitz3D is now free and opensource - that has come as a bit of a shock. Blitz3D is free and opensource, does the EULA allow it to be used in schools, afterschool clubs, usergroups etc, without the need to purchase a special-case license Blitz 3D was the 2nd language I bought, the first was Blitz Basic 2.1. I'll still be using Blitz3D for sometime yet ;) The fact that schools, afterschool clubs and groups now have free access is encouraging. |
| ||
Awesome! Thanks. Jason |
| ||
Some good code here, some I understand or thereabouts. Mark's coding makes mine seem so long-winded... He really has a good optimised structure going there, especially with the amount of classes he has programmed. Very neat indeed, I will take inspiration (especially the maths stuff) from some of his code for my own leap into dx9/dx11. Many thanks Mark, it's like christmas come early for me.... |
| ||
Thanks for making Blitz3D. It had a big influence on the Leadwerks API: http://www.leadwerks.com/werkspace/page/documentation/_/command-reference/surface/ And look at the Entity movement commands: http://www.leadwerks.com/werkspace/page/documentation/_/command-reference/entity/ One of the things people tell me is they really like the entity API because it doesn't require any tricky math. I knew how useful that was from using it in B3D, so my work was a direct result of that. |
| ||
THANKS MAC! To whoever asked if this is a good thing, my take would be that it is. If Blitz3D was being actively updated and extended, open source could be the death knell for that. As it wasn't being enhanced, I think this is a good thing. I could see the community giving it some fixes, tweaks and minor updates. Some of the code could provide inspiration for other Blitz related 3D engine projects. As for major updates, (and this is only one man's opinion) you would be foolish to attempt it. Much better to base that sort of thing around something more future proof and less tightly bound to the graphics API like Monkey's 'trans' engine. |
| ||
simonh: Yes it's free for all users and organisations. Thanx for the info Simon. ;) |
| ||
So,... Blitz3d is open sourced . BlitzPlus is open sourced . Monkey is open sourced . CodeLight is open sourced . Thanks to marksibly_v2 . https://github.com/blitz-research |
| ||
CodeLight is open sourced . Ahh .. and the author is... ? bye Ron |
| ||
Monkey is open sourced . Not quite. If you want to develop games for platforms other than Desktop and HTML5 then you have to pay. The Mojo module is still proprietary. |
| ||
MonkeyX the language is open source. It is the Mojo target modules you are paying for, but you can create your own target if you wanted ;) |
| ||
Oh, my mistake, CodeLight is created by a different team, (and probably Mark S is not related to it), © 2014 by SmartKoders, All rights reserved. |
| ||
O.O |
| ||
Nice move, purchased Blitz3d only couple months a go though.. cough. :-) Nice move nevertheless, would be great tool for schools to have indeed and for people like Ploppy who is working hard to bring us into the brave new world of DX11. @VirtLands Off topic: CodeLight seems like a nice IDE, very configurable. Question: Can it be used for coding with Blitz3d? And if so how easy is it to configure it for that? I'm especially interested cos I'm having some eye troubles and can only stand to watch light colored items on screen for so long. which is hard to get rid of, even in iDeal(unconfigurable border colors). This one seems up to that task though. |
| ||
Note! VC 6 Standard edition doesn't come with the ability to compile the MFC stuff (it's missing some libs...), you'll need Enterprise or Pro (is there a Pro? Just guessing lol) You'll also need the DX7 SDK which is, luckily, still available here: http://www.steve-oh.com/blog/index.php/directx-70a-sdk-download/ Unzip it somewhere. To add it to VC 6 ent. go to Tool > Options, select the Directories tab, here you need to make 2 entries, select 'Include Files' from the 'Show Directories for' drop down menu, and make a new entry. Click the 3 dots (...) to browse to your <DX7SDK>\INCLUDE folder and click ok. Now from the same drop down menu select 'Library Files', make a new entry, click the ... button, browse to your <DX7SDK>\LIB folder and click ok. IMPORTANT! For each of the two new DX7 entries you made, in their respective 'Directories' list, select it and move it to the top (use the up & down buttons net to the red X), otherwise you'll get some compiler errors because it won't see the SDK. Other than that, it compiles fine! Should have done this years ago, thanks Mark. @Leon Drake: LOL yup! :) |
| ||
Does anyone have a tutorial for this to be imported into Code :: Blocks? |
| ||
Nice link Tom! I have started work on a b3D BlitzMax module that will use the runtime source released by Mark and the docs and examples I did for the SDK. I hope to have first release ready this weekend. |
| ||
First off, thanks Mark! Big fan and purchaser of every product since Blitz Basic :) Second, I'm really hoping someone out there takes this ball and runs with it. It seems open source projects are hit-and-miss as to whether or not they thrive. I'm hoping like others to see either improvements for newer versions of DirectX, or improved BlitzMax b3d-esque modules so I can either take my existing code into the future, or port it to Max successfully. @skidracer, looking forward to it! |
| ||
Great news, thanks! |
| ||
hmm I wonder whether fastextensions will work with this. |
| ||
This took me by surprise. Very generous. But I guess Blitz3D is long in the tooth, and is struggling to run on the latest versions of Windows - let alone any other systems. A time to let peeps here have a shot at updating Mark's best piece of software, while he concentrates on Monkey. End of an era, which is always sad. Having seen Blitz3D for the first time I was wide eyed and so impressed. Personally the old skool BASIC syntax I hated, so never took to it. But the fact you could write a few lines of code and get some 3D goodness running was inspiring. So thank you Mr Sibly. |
| ||
Maybe the next version of windows will not work with b+ and b3d. I think I will have to start using something else then. I fear that these two languages will not be updated anymore. For me it is to much time to learn how to update/fix b3d\b3d with windows 9 and later. I bought b3d again a few months ago. It has been a good time with the languages. |
| ||
Pakz, the best thing you can do in Blitz3D is write a game in it. Little else matters. |
| ||
games are nice! |
| ||
@KronosUK That was my first thought, too. I wonder if Michael (I think he's the maker behind fast extension) finds the reason, in case he looks into the code, why those lib not found on some and MAV on some other OSs appear. |
| ||
can an open source be declared again as private? as silly as it may sound. i decided to ask. |
| ||
can an open source be declared again as private? as silly as it may sound. i decided to ask. Yes, but only by the original copyright holder(s). Of course, once they make it private again, that will NOT revoke the open source license of the previously released version, so anyone else is still free to grab a copy and either continue to distribute, or "fork" it and make their own changes to it... But those 3rd parties do not have the right to assign it a different license. The original creators can give it whatever license they want to, with some caveats: if they accept modifications that are contributed by others, they either need to have those submitters agree to transfer the copyrights to the main program developer/maintainer, or they would need to get the explicit permission of the contributor to be able to change the license of the main product after the fact if it contains those contributions... Several of the large open source programs require submissions to be declared public domain, which would give the maintainers the ability to easily change licenses after the fact. some programs are even dual licensed: both under a permissive open source license, as well as commercial or other license that allow them to set different rules for large companies that are willing to pay them a bunch of money. Everyone wins. |
| ||
Actually the entire point of permissive MIT-style licences like the one B3D is now under is that anyone can make them private again. This is to encourage people to not be afraid to go out and write commercial code with them. The licence doesn't demand that users share the source or any of their changes, so you can distribute compiled, closed binaries just the same as you could before. It's the other family of open-source licences, the GPL and its cousins, that prohibits closing an open-source distribution again because it has the different goal of encouraging collaboration and freedom to change other people's work. This is unrelated to what B3D is doing. In any case, when either you or the original copyright holder "relicense" something, it's effectively as though you'd created a new version for the new licence. The version with the previous licence doesn't stop existing or being available legitimately. |
| ||
This also means that you cannot revoke a GPL-licence for "later versions of the original author2. Why? It would mean, that the portions being GPLed would be used in a closed source project - which violates the rule. So with GPL I assume you cannot go "back". BUT ... of course all of this only applies if such licences are valid in your country (like the discussion of "Public Domain"ing Code: this is not possible in Germany, only giving everyone every right to use it for whatever you want). bye Ron |
| ||
You can offer code under GPL and, as long as you are the only person writing on it (or have permission of all contributors), you can change that license back to what ever you wish. There are numerous projects out there that have a GPL version for free but you can buy the right to "disable" this GPL (get the code under MIT-Liecense for example). So GPL has no negative effects for the owner, other than that the software would probably not be altered/integrated in new foreign products. |
| ||
Then GPL is for me schnuff |
| ||
I want to Upload my Editor since im not touching it ATM so other can assess it And Edit. but I want to Reserve rights. How can I do that? Any one who will help will have the rights to use it in the future. |
| ||
Blitz3D had a big influence on the S3D GameLibrary in 2003, too. :-) I had the hope Mark would implement access to the DirectX 7 software rendering facilities before opensource-release. DirectX is supporting rendering >without use the speed of hardware< and can therfore forced to do so. Now i can not publish new commercial products made with b3d since it is opensource. In some lands i can use only the last gathered commercial version. Is there a idea to get a real update with this one simple requirement? Blitz3D would then compatible with the next DX Generation. (aside from the fact dx7 is old and no more supported) |
| ||
@Shadowturtle, if I understand you correctly (I assume English is not your first language?). You wish for Blitz3D to be updated to use directX 11, this is something people are working on now t he source has been made available. I would expect someone to release something soon to at least give the commands of Blitz3D using DirectX 11, then later add on new features for shadows, lighting, sound, bump mapping, and other directx 11 features. It would also be nice to see an openGL version too, but then by this point you may as well learn something new like BlitzMax. but for a free language it's pretty awesome. |
| ||
Now i can not publish new commercial products made with b3d since it is opensource That's not true at all -- you can. The open source license applies only to Blitz3D, not works produced with it. Just read the info on the Github page: Blitz3d is released under the zlib/libpng license. The zlib/libpng License Copyright (c) 2013 Blitz Research Ltd This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. That's the open-sourced Blitz3D distribution license in full. |
| ||
I really wish more software companies would open-source their stuff at end-of-life. There's so much that can be learned even from old software like this. Look at how many people got their start in game programming by modding the Doom and Quake source! It's funny; last year, thinking B3D was all but abandoned, I had a crack at disassembling the runtime DLL with IDA. I was able to figure out how the runtime works (the Runtime class defined in bbruntime_dll/bbruntime_dll.h). I managed to dynamically link to the B3D runtime from a totally different host language and had a small B3D program running entirely without the Blitz compiler! And then a week later a mistaken git command erased that test program from existence. Sigh. I still have the IDA file though, and it's fun to see what I got right and wrong. Now with the source it'll be way easier to get the B3D runtime binding working again. Despite having moved on to more powerful languages, I still love the simplicity and organization of the B3D engine, and for writing quick one-off graphical programs it's still my go-to :) Being able to use the engine from my favorite languages will be great! Thanks for the years of fun and learning. I can't believe it's been as long as it has. |
| ||
Wow, this is interesting. Perhaps this release will allow someone to add some modern features to the graphics engine. Or OO. *cough* Yasha? I guess it goes without saying that it would be easily possible to write good-selling games in B3D. You would want to go for markets that are non-hardcore, like Big Fish Games, or find ways of stylizing your graphics so that they avoid showing the age of the engine, things like cartoon style graphics or extremely stylized graphics, Minecraft is an example of an absurdly rudimentary graphics style. What has Notch made total now, 40 million? And he wrote that in Java GL of all things. It's all down to originality. And marketing. |
| ||
Perhaps this release will allow someone to add some modern features to the graphics engine. Or OO. *cough* Yasha? Yasha's far too sensible to try getting there from here. Much smarter to port the 3D code to Max as a module.Here's the pony you should be betting on: I have started work on a b3D BlitzMax module that will use the runtime source released by Mark and the docs and examples I did for the SDK. How's this going, Skid? The prospect of this coupled with Brucey's respin of BlitzMax is quite an exciting development, I must say. |
| ||
Don't know why you guys are looking at me, Ploppy's the person you want for this. I already tried my hand at a 3D engine; you can use it with B3D right now (don't get your hopes up). I do have some ideas for extending the base language (not the 3D), to bring it more into line with modern expectations while also retaining a distinct character from the direction Max took. But I work slowly, this could take some time. Look to Brucey if you care about results. |
| ||
Yasha's far too sensible to try getting there from here. Much smarter to port the 3D code to Max as a module. I had thought about that as well. Maybe in doing so it would be possible to add some modern features to the engine. One point: Yasha isn't too sensible to create a complex of OO features for B3D, something I think proves he is completely insane... And I typed that last line before I even knew about BOGL. Why, Yasha? Why!? |
| ||
I'm curious if one could port MiniB3D to Haxe by means of the NME GL library. https://github.com/haxenme/nme/tree/master/nme/gl According to nme/project/src/windows/simpleframe.cpp, the Windows platform uses an OpenGL profile compatible with 2.1, so porting the fixed-function MiniB3D as it is should be relatively easy. Edit: after some more research, it would seem that porting mB3D with Haxe OpenFL would be better: http://www.joshuagranick.com/blog/2013/06/13/how-openfl-works/#comment-939918208 |
| ||
Yasha isn't too sensible to create a complex of OO features for B3D, something I think proves he is completely insane... I wasn't aware of that. You are correct. I mean I knew he had been skirting on the precipice of insanity for some time... ;) |
| ||
This is like a dream come true making Blitz3d open source thanks a million |
| ||
lets see what good will come out of this and then ill be glad. also someone need to chat with IDeal code editor programmer to make it open source as well.. |
| ||
Yasha already made an attempt to add OOP features: http://www.blitzbasic.com/Community/posts.php?topic=87642 maybe, the simplest solution is to integrate it in the compiler |
| ||
Ugh, please nobody look at that and think that's how you should begin to write a compiler. I literally did not understand parsing at that time and was trying to precompile code by matching on flat sequences... eww. Personally I don't think true OO is a good fit for B3D. (You've got Max for that.) A lower-grade object-based kind of thing, powered up with lots of cool shortcuts like vectorized operations, variant types etc. would be more in-character and take it in a powerful new direction without too much overlap with what's been done before. |
| ||
One thing I always thought B3D could use was built in support for optional multiple lists rather than the automatic 'one per type'. |
| ||
Why would you want to write something in B3D? Obviously it has benefits other than just the graphics engine? And more importantly how do you encapsulate and modularize it? Do you write everything in pools? I have nothing against the language, I don't know enough about it to form any opinion, just wondering. It seems like a VERY old BASIC dialect, with functions and structs but without any other feature since the mid 1980s! I realize I'm showing my ignorance here, obviously experienced people here would not use it if it was terrible. |
| ||
Why would you want to complicate the syntax if you can manage to do what you want simply and quickly ? |
| ||
Blitz IS old in structure, but it doesn't at all mean you should put it to pasture. Each command is optimised, reliable and fast. Basics in general (and I would personally class b3d and b+ in the basic category) are much less easy to crash and at the same time easier to debug than a lower level language. You can have a very professional look to a b3d compiled game, all you need in my humble opinion is time and imagination. And with b3d and b+ you have the added benefit of being able to add commands if needed using userlibs. But you already have a wide choice of commands. I am still as loyal as ever to b3d for these reasons. It doesn't matter about age, it's still as reliable as ever. The only thing these languages are missing is portability really. You can only program for windows. BMax and Monkey bridge that gap. |
| ||
I actually love Blitzmax. The problem with B3D is that it's not object oriented and things like inheritance are indispensable for me. |
| ||
i know zoq! thats exactly the point. you cant get real pro with blitz3D and thats a shame it was hard for me to move from blizt3d to blitzmax but it was defenetly worth it. |
| ||
you cant get real pro with blitz3D What does "real pro" means ? If the program works properly for the user, why would it be important that it was written with object oriented style or with procedural imperative style ? I don't understand the necessity to write a program with object oriented style. To me, it is just a matter of preference. |
| ||
Yay! |
| ||
common RemiD you really dont get my point? Some things just cannot be done in Blitz3D that I have done with Blitzmax Like adding behaviors to an object. Thats what made me stuck when I was building my Editor in Blitz3D |
| ||
common RemiD you really dont get my point? No i don't. Some people have finished complex apps, games, systems with Blitz3d, so i consider it good enough to be a "real pro". The only limit i see is if you want to work in a team where others people are more used to a different programming style. |
| ||
> You'll also need the DX7 SDK which is, luckily, still available here: > http://www.steve-oh.com/blog/index.php/directx-70a-sdk-download/ > Unzip it somewhere. Hi Anyone knows another mirror to download DirectX 7.0a SDK?; The above address gives 404 error. Update : No problem, I found it. |
| ||
Ok RemiD You miss the point.. Some stuff cannot be done in Blitz3d! (as i explained) "real pro"! from the point of view of the Tool and not the User. |
| ||
you cant get real pro with blitz3D and thats a shame I don't agree with that, you can do anything in any language. It's just a matter of how difficult it's going to be. For instance you can't do inheritance in B3D but there are types and even without types you can do whatever you want with hardcoded arrays. These are the "bad habits" of old style procedural programming that I constantly have to fight falling back into with Blitzmax. You can even do a component architecture in old basic and that's a paradigm that people are moving back to instead of super-complex deep inheritance hierarchies. In fact a lot of performance-critical stuff like pre-allocated pools (does B3D even have dynamic lists or is it just arrays?) is substantially faster. But at the end of the day if performance is all you cared about you would code everything in assembly language. B3D is 13 years old now and in my opinion the language really shows its age in much more than the graphics, I don't really know all that much about gfx engines but I suspect you could get an engine looking really good in B3D especially for various sorts of stylized rendering. Am I going to be programming anything in a language without inheritance? Before I say no I'm going to have to devote a little bit of time to learning the language well, I tend to like small short games and I use lots of procedural programming anyway so... If you want to talk about "going pro" with a language, take a look at some of the things people did in 1985 with 6502 assembly on the Apple II, it will blow your mind. You can do anything with any language, it's just a matter of wanting it bad enough. I do think it's going to be a lot easier to get modern-looking graphics with B3D than Blitzmax unless you are an OpenGL wizard. Like adding behaviors to an object. You use case statements for that sort of thing. It ends up being not all THAT much more work, but it does mean more code and that means more bugs. In procedural languages, object properties used to be handled with a bit vector with each bit standing for whether or not the object has a property. Then you say "if fire_resistant_bit do such and such." And you do that for every property or behavior. In procedural programming you have to handle a lot more with your own organizational skills and that's one of many reasons OO languages can be a ton easier... I'm just starting to code up a new engine and I could do it either in B3D or Blitzmax but I am sure not looking forward to going backward. |
| ||
Half way HOORAY I CAN GET IT FREE and halfway NOOO I spent 100 bucks and now its free |
| ||
In procedural languages, object properties used to be handled with a bit vector with each bit standing for whether or not the object has a property. Then you say "if fire_resistant_bit do such and such." And you do that for every property or behavior. Well, you do that in B3D, because B3D is missing function pointers for some reason. In most procedural languages wrapping up a dynamic behaviour is as simple as encapsulating it in a function and storing that; the main thing you have to manage as opposed to OOP or FP is bundling the function and the data together somehow, whereas objects package the two implicitly. It's actually no harder to implement a component system in purely procedural code than it is in object-oriented code (although in part this is probably because "Component-Oriented" really ought to be another kind of language-level thing that the compiler weaves in for you, and neither objects nor procedures are the real thing). |
| ||
LoL ok i give up.. whatever.. Maybe later when Ill feel like Ill give an example why Object Oriented is so Important. Not that its Perfect but its better then none |
| ||
First, wow, open source!!! I might have to move away from java to c++ again. I loved blitz3d, and used it for prototyping on occasion. I cannot wait to see how a fallowing or organized group works on this. My head is already flooding with things I would like to do. @Yasha: Oop cuts down on the number of lines you have to code per object. for instance: If you wanted a type 'foo' to have the same functionality as type 'bar' with greater features you would have to include all the functionality of bar into foo and double the amount of times you write the code. with oop all the functionality of bar can be injected into foo with typing a few additional statements. Regardless now that blitz3d is open source both can be done independently or within the same package. We just need to find the interpreter part of the code to make any changes. |
| ||
For instance you can't do inheritance in B3D but there are types and even without types you can do whatever you want with hardcoded arrays. These are the "bad habits" of old style procedural programming that I constantly have to fight falling back into with Blitzmax. I don't consider the stuff listed you listed "bad habits" but "available options". You can even do a component architecture in old basic and that's a paradigm that people are moving back to instead of super-complex deep inheritance hierarchies. In fact a lot of performance-critical stuff like pre-allocated pools (does B3D even have dynamic lists or is it just arrays?) is substantially faster. Exactly - because OOP sometimes generates a massive performance hit. But at the end of the day if performance is all you cared about you would code everything in assembly language. In reality nobody does that except some crazy 3D demo coders and microcontroller programmers. Both are programming "on the metal" because they usually have size and/or performance constraints which weigh higher than development time constraints. Granted, assembly code can be the fastest - if you are able to break down the problem at hand and optimize it accordingly (macros can help of course, but they don't solve everything and they can be counter-productive and blow up your code size) so good luck with writing a modern 3D engine completely in assembly... Writing assembly code is also the slowest possible development option so your productivity goes down the drain and your chance to finish the product on time. So what we need *today* is a trade-off between performance and productivity and this is why even speed critical stuff is begin coded in a higher language (perhaps C++) and only some tiny sections are coded in assembly (or a shader language): The sections that are performance critical. Added together they can be less than 0.1% of the whole code. The trick is therefore to find these sections and for that people use performance analyzers for years now. Then the code in these sections is optimized and, yes, sometimes translated to assembly language. This also means that 99.9% of the program isn't speed critical and can therefore be comfortably (and quicker) written in a higher language. And of course: If you code in one assembly language - say x86 code for Intel CPUs - your code won't translate as easily to other architectures, for example ARM or MIPS. You would have to write new subroutines for your time critical sections... If you want to talk about "going pro" with a language, take a look at some of the things people did in 1985 with 6502 assembly on the Apple II, it will blow your mind. That's true but remember that people back then simply had no other choice than using assembly language! At the end of the seventies, early eighties there were *no* C compilers (not even speaking of OOP languages like C++ and everything that derived from it). "Lesser programmers" even used BASIC (yes, the built-in stuff) or BASIC compilers as even PASCAL wasn't widespread (even though some classics like Wizardry were made with it). Most commercial games programmers on 8-bit systems used assembly for anything that required speed, however, and in fact they still do (on/for 8-bit systems). On the Atari VCS2600 with a whopping 128 bytes of RAM and a few KB of ROM space you have very few options to get something done in a higher language... But nowadays people of course use modern tools that enable them to produce more (assembly code & data) in less time. Example: Look up the "Lawless Legends" project for the Apple II and other 6502 platforms: https://www.facebook.com/LawlessLegends AFAIK they use level and graphics editors written in Java and a program flow editor powered by "Blockly" ( https://code.google.com/p/blockly/ ) that can spit out complete sections in assembly language. You can do anything with any language, it's just a matter of wanting it bad enough. Or having enough time... I do think it's going to be a lot easier to get modern-looking graphics with B3D than Blitzmax unless you are an OpenGL wizard. Stuff made with B3D is often enough NOT modern-looking, IMHO. I'm just starting to code up a new engine and I could do it either in B3D or Blitzmax but I am sure not looking forward to going backward. And I'm convinced you shouldn't look backward to go forward. ;-) |
| ||
Are there some examples of great looking engines in B3D? |
| ||
"You can do anything with any language, it's just a matter of wanting it bad enough. " not true |
| ||
Stuff made with B3D is often enough NOT modern-looking, IMHO. This is more to do with the developer rather than the language. Using a better graphics engine does not automatically make your games look professional. |
| ||
Yes and no. Using Straight B3D it is impossible to get modern looking results, you just can't do that with a DX7 engine. A nice looking "retro" game is quite possible. Tank Universal comes to mind as a good example. |
| ||
> This is more to do with the developer rather than the language. No - there is no "more" in this type of argument. Either the language supports everything or it doesn't. In the case of Blitz3D it doesn't and you can't simply "program around it" if you are a more competent programmer. If you as a clever programmer would add another, more modern 3D engine like you would in Bmax then you would have defeated the purpose of Blitz3D, wouldn't you? > Using a better graphics engine does not automatically make your games look professional. Nobody claimed that but using an outdated engine may make your game look less professional. |
| ||
Reminds me of this... Q. Why is this so clumsy? A. The trick is to use Perl's strengths rather than its weaknesses. -- Larry Wall in <8225@...; |
| ||
The problem is not the language, it is the programmer, if you become an expert in a certain tool to manipulate the results are acceptable, regardless of the technology used. From my point of view it does a game engine or a language, computers or end development environments do not make creative decisions, it is the programmer who can not reach or achieve certain goals. The drawback with Blitz3D, is that there are other tools that do not require much by the programmer, but rather design, click a button, and you have shadows, and appears click another special effects, but some of you this comes wonder as they have prototypes of next generation technology but you will never make a game these days unless you work in a small team. Just my opinion and I stress that I am not a programmer and all I used is Entidad3D, RealityFactory and Blitz3D. |
| ||
Can you write anything in any language? Sure! Is every programming language equally suitable to writing every kind of program? Uh, no. The B3D language is simple and kind of adorable, and even gives you the mechanisms to do simple dynamic dispatch (though with quite a bit more runtime overhead than you'd get in something like C++). But there are just some things that require way more work than in more powerful languages. What if you want an associative array (dictionary/map)? What if you want a suite of generic array manipulation functions, like sorting, searching, and filtering? What if you want to organize your code into independent files/modules? What if you want to use callback functions, or functions which take predicate functions? What if you want to write a generic container, like a linked list or a tree, which can be instantiated to hold any kind of data? Can you do these things in B3D? Some of them you can emulate. Some of them are straight up impossible, necessitating copypasting enormous amounts of code and just changing the names of things they operate on. This wastes time, is tedious and error-prone, and just does not scale. Wanna sort 100 arrays? You'll have 100 nearly-identical sorting functions that do the exact same thing, just with different array names hardcoded into them. Find a bug in your sorting algorithm? Guess you'll have to copy and paste the fix to all 100 functions! Don't mess it up ;) CAN you make a full, finished game in the B3D language? Sure. Do you WANT to? Uh... maybe if you're a relic of the 80s and the language feels high-level to you, maybe. But if you've had a taste of how simple so many things are made with generics, first-class functions, proper namespacing/modules, first-class lists and maps, and so on, B3D feels like trying to build a house with nothing but a ball peen hammer. |
| ||
DrakeX: Can you write anything in any language? Sure! Is every programming language equally suitable to writing every kind of program? Uh, no. Blitz can shoot out numerical data into a file, which is technically binary, anyone that's advanced enough to know machine language could technically make stuff in that way. All that would be needed is a *.EXE kind of filename. Ask me if I could do it?, short answer is no. I'm not that advanced, but I do know that binary is binary at the end of the day. |
| ||
One thing I've noticed is that Blitz3D brings a lot of functions that refer to mathematics, in that case for me this is a disaster because until recently I'm finding it's a vector, however, certainly someone with the skills can make the best probecho language and not like me to use third party tools to do such a rag doll or simulate a slow car. If so many in this forum are just users who want to make a game regardless if Blitz3D characteristics is poor compared to other languages, where classes, inheritance etc. are implemented Perhaps the only thing we look for excuses to meet our needs. |
| ||
One thing I've noticed is that Blitz3D brings a lot of functions that refer to mathematics, in that case for me this is a disaster because until recently I'm finding it's a vector, however, certainly someone with the skills can make the best probecho language and not like me to use third party tools to do such a rag doll or simulate a slow car. Probably can - but why invent the wheel new all the time? If I were to program a 3D game I wouldn't even *dare* to invent a new 3D engine. I'd simply use something that's already there and live with the few shortcomings of my choice rather than developing a new 3D engine from scratch. A physics engine is not something that you create on two weekends, either... |
| ||
Blitz can shoot out numerical data into a file, which is technically binary, anyone that's advanced enough to know machine language could technically make stuff in that way. All that would be needed is a *.EXE kind of filename. I want you to get a pair of binoculars. Go outside. Look up, and find the small dot sailing overhead. Look at it with your binoculars. Do you know what that thing is? The point I was making. |
| ||
DarkBasic Pro is also open-source now. { requires Visual Studio 2008 } --> https://code.google.com/p/darkbasicpro/wiki/DownloadAndBuild For those that are daring, you can absorb the contents of DB_Pro into the Blitz3D source, and create a brand new hybrid (of both) which is DARK Blitz3D, muahahahahaha .... ![]() |
| ||
Like Ploppy said: Blitz IS old in structure, but it doesn't at all mean you should put it to pasture. Each command is optimised, reliable and fast. +1 for moi por favour ;) @VirtLands, apparently there is a DARK net now as well, I'm not one for the DARK bandwagon, winters are long enuf in deppest dark Englandshire, pure old Blitz3D will do me thank you - sir/madam. AND my PC is poisoned with all sorts of VS bloatware through the eons, I'm sick of it I'll tell ya! I confess, I haven't read the whole thread, but I love DrakeX's point of view: The B3D language is simple and kind of adorable, and even gives you the mechanisms to do simple dynamic dispatch |
| ||
"Object-oriented programming Structured programming is very simple and intuitive. It simply we have a problem and subdivided into smaller and smaller problems. We use specialized functions to place areas of code or code that is used constantly inside. The structured paradigm is correct, but has some limitations and some problems when the program to make it big. Some of these problems are known as data corruption. Suppose we have a variable and it is used in various parts of the program. A simple way to to access the variable is to declare globally and throughout the program known. By doing this anywhere in the program can not only read but also modified. Due to this arrangement, a part of the program can changed without further knowledge of this change and so errors in the information. To avoid this it is possible to pass the variable as a parameter to whom the needed, but this complicates administration. Structured very large programs are also difficult to expand and maintain, and performing a change can be costly. Generally, a change in a the program produces changes in other parts that may not be related directly. In general, structured programs are inflexible. Structured programming is good for small programs and to learn the basics of programming. However, the world today calls for the development OO. As a recommendation, after this book, we can learn object-oriented analysis and design and then continue learning more C # with all object-oriented techniques. This is still a standard advancing - Programming expert. In object-oriented programming had a different idea in solving problems. Instead of subdividing, what we do is to see which components are or objects that make up the problem and the way they interact. we and we will schedule these objects communicate with each other. when objects do their work and communicate, the problem is solved." In my learning process I am appreciating it lacks Blitz3D, small program, Great program. |
| ||
DrakeX: I want you to get a pair of binoculars. Go outside. Look up, and find the small dot sailing overhead. Look at it with your binoculars. Do you know what that thing is? The point I was making. And WTF does looking to the sky with binoculars have to do with the price of eggs?, all I was stating is that binary can be flobbed out of any programming language that can output data to a file. Don't talk to me like I'm some kind of lop-pot, there's no need for that now is there!. |
| ||
And the point I was making was that it isn't a worthwhile use of programmer time and effort to do that. It's not a matter of "can it be done?" because of course it can! It's a matter of "do you really want to spend all your time doing that when it could just be done far, far easier with another language" |
| ||
Suppose we have a variable and it is used in various parts of the program. A simple way to to access the variable is to declare globally and throughout the program known. By doing this anywhere in the program can not only read but also modified. Due to this arrangement, a part of the program can changed without further knowledge of this change and so errors in the information. If you are bad and don't know how to debug your code, yes. Else there is no problem, you can always find the source of the error. |
| ||
Yue - I think your translation is bad, I'm hoping it is at any rate. You seem to be saying that structured programs are HARDER to maintain then non-structured. |
| ||
@DrakeX: Well I too know bloomin' well that it's not worthwhile to use a simple language to pump out binary opcodes, I was just meerly pointing out that it could be done. Let's just both agree not to fan the flames anymore though OK! ;-) |
| ||
Nice move Mark old chap. Can't believe that old logo I did for you is still being used as well! There's some great optimised code in here. |
| ||
. |
| ||
Thanks for helping bring me into the world of programming! Blitz3D was my first programming language. I've learned a lot over the years and even though I've moved on to other languages, I'll always remember where I came from. *sniff sniff* And to think... if I would've just waited 10 years I could've got it for free! |
| ||
@Mark - Also if you're looking for some side-remote work from home I think Unity's hiring. Could put some of that greybeard expertise to good use :) |
| ||
The major thing as I see it simply is not all languages work for every task as an example writing a os in blitz3d is near to impossible with the base blitz system, the same can be said for dbpro etc. You have to use the right tool for the job |
| ||
Any questions, you can modify the code to Blitz3D not structured programming, but it is OOP? |
| ||
Isn't that pretty much blitzmax? |
| ||
It would be nice to see this merge with OpenB3D, making it GL based, this would allow for a possibility of a cross-platform Blitz3D in the future. |
| ||
Just a quick question. would a game made in blitz3D be marketable now a days or is it just to old, incompatible ect to get on steam or make any money? |
| ||
would a game made in blitz3D be marketable now a days or is it just to old, incompatible ect to get on steam or make any money? As a general rule, the technology something is made with has absolutely no effect on marketability. The end users don't know (unless they ask) what it was written in, and if they do they don't care anyway. The only question is whether it actually works. By all accounts it still works roughly as well as it did when it was released (ehh-sortof-OK need to workaround some features). You could do better, but it's still a lot less buggy than many of the game engines being used for Steam games at the moment. Not that that's a high bar. |
| ||
Speaking of which -- has anyone tried to run B3D and/or Blitzmax executables on the Windows 10 Preview yet? |
| ||
would a game made in blitz3D be marketable now a days or is it just to old, incompatible ect to get on steam or make any money? Blitz3D makes 32-bit programs for Windows. So why would anyone care in the least about the inner workings, if they like the game? |
| ||
The topic's drifted some but when asking a general question about Marketability, one should really also consider the sort of market they are dealing with, the relevant and saturation of competition, and the ambitions of the product. It's unlikely something will outsell Duty Call: Modern Battlefield IX in terms of revenue per unit for example, but there's still potential for the next "Peggle" or "Minecraft" etc. What's really lacking aside from the DirectX8+ shaders and such, and multithreading, and 64-bit processing (none of which are particularly essential for viable, popular and contemporary saleable games) is really the ability for multi-platform portability. The advent of Android and other OS and their use in handheld devices along wit the ease of use/accessibility of such has lead to a huge shift in the videogames industry in terms of where development can head and where the next avenue for exploitation might open up. Currently, even the micro-payment models are beginning to show some cracks but that's all another story. At the end of the day, there's absolutely every chance that a well-coded and polished game made with 'vanilla' B3D should be perfectly capable of selling some units. The main question is, just how many units is acceptable and realistic within what given time frame! |
| ||
At the end of the day, there's absolutely every chance that a well-coded and polished game made with 'vanilla' B3D should be perfectly capable of selling some units. I couldn't agree more. |
| ||
I still love coding just with B3D, it's so simple and quick to code in. Sure, it may not have the manageability of OO code, but it also doesn't take 10 lines and incorporate other libraries just to print "Hello World" ;) |
| ||
Hi all, I'm having problems compiling the source. Anyone can help? Posted here: http://www.blitzbasic.com/Community/posts.php?topic=103641 Thanks. |
| ||
Thanks Mark. I never expected this to happen. Even as a paid up user I believe this s a great move. |
| ||
Before the whole thing gets out of control please get assimilated and join my new FB page to discuss all things before proceeding. Bliz Open Resource Group. On FaceBook. |
| ||
Why not discuss it here? |
| ||
Agreed Mike. Not everyone has Facebook for starters, and it's better to keep everything in one place. i.e. here. |
| ||
The best line in the source code so far.const Bone &bone=bones[v.bone_bones[n]] More bones than a Time Team dig! |
| ||
"You can grab the prebuilt free version of blitz3d from www.blitzbasic.com. " I am unable to find this version. Is it still available? |
| ||
It's under the 'Account' tab at the top of the screen, then 'Product Updates'. The latest version is v1.108c. |
| ||
Thank you, I see it now now. |
| ||
Is Who writ this post Mark Zuckerburg ?? |
| ||
@Ploppy Blitz IS old in structure, but it doesn't at all mean you should put it to pasture. Each command is optimised, reliable and fast. Blitz3d is a high-level language, and a RAD language, (rapid app dev). Attaching special DLLs (& Decls) to Blitz3D lets it behave like a low-level language. |
| ||
Agreed |
| ||
Got to love Blitz3d.. |
| ||
Also agreed. |
| ||
Is Who writ this post Mark Zuckerburg ?? yeah he makes blitz3d games when he's not running Facebook.. not |
| ||
Speaking of which -- has anyone tried to run B3D and/or Blitzmax executables on the Windows 10 Preview yet? Windows 10? I wasn't even aware there is a Windows 9. A bit like Rambo 1 2 3 4 5 ...738. Anyway. Interesting move, making B3D freeware. Let's hope ppl don't underestimate it because of that. For me it's still the handiest tool for spontanous tasks. |
| ||
9 was apparently SO bad, that they skipped right on to 10, from Windows 8.1. |
| ||
That's incorrect. Whatever gets you through the night, though. |
| ||
There's no way to close this Blitz3D source again, the cat has escaped from the bag. |
| ||
I'm guessing Mark Sibly calculated this move well before and didn't just do it on a whim. I'm also guessing it is mainly because he's finished with it and will not revisit for a b3d v2 and at the same time b3d wasn't making any more sales. Mark wasn't obliged to release the source but he wished to share. I say 'hats off to the man', and I personally have a lot of gratitude towards him. My own code is largely inspired by his code. |
| ||
Hi. I think this question wasn't answered jet. We are making a commercial game which need a few more years to be finished. We are investing money, but until now we felt safe as Blitz Support Team were updating, fixing and making compatible Blitz3D with the new Windows. So, are we going to have new Updates in our Accounts? Who is going to care about next Windows? What about libraries compatibility as FastImage and FastExt? Is it safe to use Blitz3D in our project? |
| ||
I believe that marksibly_v2 (creator of Blitz programming) shall no longer update Blitz3D, and he has made it free & open-source. Ploppy is probably the only one right now that is updating Blitz3D with various DirectX, ..math, ..etc. |
| ||
If i would create a commercial game for years, i would not bet on 3rd partly solutions but create my own stuff. Chances are high that 3rd party tools are not supported anymore in that long time frame. Blitz3d for sure isn't. |
| ||
si los que lo crearon hubieran saco partido a las nuevas tecnologías ,tarjetas graficas, procesadores, el blizt basic 3d hubiera echo la mina de oro. no hay lenguaje tan simple y mejor. |
| ||
According to translator http://www.spanishdict.com/translation , gaditanof8 did say, " If those who created it would sack out of new technologies, processors, graphics cards, " the blizt3d would echo the gold mine. There is no language as simple and best. |
| ||
What gaditanof8 is saying is true. Unfortunately, technology goes where profit goes not where what is good for humanity. Trying examples in Blitz3D's sample folder and reading the codes of the samples tell us that OOP is not at all necessary to produce a good working software. Also, this is part of the article about OOP in wikipedia: "Luca Cardelli has claimed that OOP code is "intrinsically less efficient" than procedural code, that OOP can take longer to compile, and that OOP languages have "extremely poor modularity properties with respect to class extension and modification", and tend to be extremely complex.[32] The latter point is reiterated by Joe Armstrong, the principal inventor of Erlang, who is quoted as saying:[33] The problem with object-oriented languages is they've got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle. A study by Potok et al. has shown no significant difference in productivity between OOP and procedural approaches.[36] Christopher J. Date stated that critical comparison of OOP to other technologies, relational in particular, is difficult because of lack of an agreed-upon and rigorous definition of OOP;[37] however, Date and Darwen have proposed a theoretical foundation on OOP that uses OOP as a kind of customizable type system to support RDBMS.[38] In an article Lawrence Krubner claimed that compared to other languages (LISP dialects, functional languages, etc.) OOP languages have no unique strengths, and inflict a heavy burden of unneeded complexity.[39] Alexander Stepanov compares object orientation unfavourably to multimethods:[34] I find OOP technically unsound.. It attempts to decompose the world in terms of interfaces that vary on a single type. To deal with the real problems you need multisorted algebras — families of interfaces that span multiple types. I find OOP philosophically unsound. It claims that everything is an object. Even if it is true it is not very interesting — saying that everything is an object is saying nothing at all. Paul Graham has suggested that OOP's popularity within large companies is due to "large (and frequently changing) groups of mediocre programmers." According to Graham, the discipline imposed by OOP prevents any one programmer from "doing too much damage."[40] Steve Yegge noted that, as opposed to functional programming:[41] Object Oriented Programming puts the Nouns first and foremost. Why would you go to such lengths to put one part of speech on a pedestal? Why should one kind of concept take precedence over another? It's not as if OOP has suddenly made verbs less important in the way we actually think. It's a strangely skewed perspective. Rich Hickey, creator of Clojure, described object systems as overly simplistic models of the real world. He emphasized the inability of OOP to model time properly, which is getting increasingly problematic as software systems become more concurrent.[35] Eric S. Raymond, a Unix programmer and open-source software advocate, has been critical of claims that present object-oriented programming as the "One True Solution," and has written that object-oriented programming languages tend to encourage thickly-layered programs that destroy transparency.[42] Raymond contrasts this to the approach taken with Unix and the C programming language.[42]" |
| ||
I tend to agree in principle. Oop makes some tasks easier for the programmer to conceptualise but it does add a bit of overhead. |
| ||
The biggest problem with OOP is its momentum, which is a dual-edged sword. Newbie programmers are likely to have heard of OOP, because it's snowballed; unfortunately, this means a shockingly large majority of newbies develop the idea of structured < procedural < OOP as though programming disciplines follow some kind of pseudo-ancien-regime hierarchy thingy where OOP is the superior next step over procedural design. Unfortunately this has an even worse side-effect: they then fall into the "little nuance is a dangerous thing" trap and assume that since OOP has flaws, clearly procedural programming really is all there is, and ignore the diversity of other disciplines out there. OOP has the amazing ability to kill off other disciplines in a student's mind without them ever actually trying them, by forging and fixing this very linear conception of programming styles. There are more than two, FFS! The truth: procedural programming is OK, but kinda sucky overall (Blitz3D's API is adequate, not "good"); OOP is a bit better at certain tasks, but equally worse at many more; other disciplines are not procedural programming, and there is no "hierarchy"; you do not "go back to procedural" just because you didn't like OOP (e.g. Rich Hickey's quote in post #159 doesn't support procedural programming at all, very much the reverse). |
| ||
What flaws has the oop programing? As I said before. There are some things That cannot be done without oop. That's why I moved to blitzmax.. From blitz3D It's like moving from Kinder garden to high-school (I'm sure someone will quate that :) The funny thing is that having oop in you language doesn't really force you to use it.. Up till now I'm not sure I'm using oop correctly since I never learnt it at school etc.. I just learnt how to use blitzmax by trail and error and examples.. So for me oop is still procedural programming just a little bit more complex.. |
| ||
oop is still procedural programming just a little bit more complex.. No. This is wrong. Completely. OOP has nothing to do with procedural programming. Nothing at all. They bear literally no resemblance to one another. The reason Max (and Java, and C++) seem "a little bit more complex" is because they are procedural programming languages with a very small window-dressing of OOP elements. No, having OOP in those languages doesn't force you to use it because they are not, by any reasonable definition, OOP languages (OK, Java is about 50/50); they are procedural. (The only 100% OO language I can think of offhand is Smalltalk, although I'm sure there are others.) Of course, that almost all languages are >90% procedural with <10% OO - or 1% OO in Max's case - is the origin of the above illusion that OOP is in some way an improvement or refinement of procedural programming. Obviously "procedural with a couple of other things" makes for a larger language than "procedural without those other things". Procedural programming is not the basis of programming. OOP is not the ultimate form of programming, nor is it in any way related to procedural programming (let alone evolved from it). They are but two different-but-equal technologies in a sea of ten thousand other different-but-equal technologies. but anything OOP can do FP can do better |
| ||
Tnx Yasha. Obviously you know what your talking. Honestly I was just shooting my lack of knowledge just to get some answers.. I went to look at a comparison between the two on Youtube.. Still I didnt Get it well.. Any way.. In my GameEngine I did what I cant do in Blitz3D for certain.. And its Attaching new behaviors to an Object.. I dont think OOP is the holy grail but its far better then Blitz3D. Yours explanations are a bit abstract to me.. I have a lack of many Concepts that most programmers are aware of.. |
| ||
Something that I'd really like to see, is for someone to add a function to the open source to add an entry to a defined array inside a user defined type. So you would just create your type as usual: Type MyType Field TheArray[0] End Type and use a function to add another element to the array (which would also work if the array was itself a user defined type. |
| ||
Is there any way to get this to compile without having to dig up an old version of the DirectX SDK? I can't find a working link to it anywhere. |
| ||
Hi Chaduke, To my knowledge you need the DX7 SDK unless you change a lot of the original source, Blitz3d depends entirely upon DX7 for many of its functions. I have just uploaded a copy of the dx7 sdk to my site, just here. You will also need freeimage and fmod, see the readme included in the Blitz3d source root folder for more details. Also, compiling with a visual studio which is newer than Visual Studio 6 will require some recoding to meet with the newer frameworks' compiling protocols. For info, I created my own updated version of the B3D source that is compatible with Visual Studio 2010 if you're interested, more info in the original forum thread... |
| ||
You rock man, thanks a lot. I have an XP machine with VS 6.0 installed but also have 2010 on my Win 7 box, so this is fantastic. |
| ||
Sorry, I gave you the wrong link, this is the link to my own VS2010 conversion of the B3D source if this helps. The other one I sent you on my last post was for the B+ source. |
| ||
No problem I found it on Github. Apparently you need the full version of 2010 and not the express, for the included MFC stuff. |
| ||
@Davros - if your asking what I think your asking i.e. thearray is a self containted dynamic sized list of child objects its possible to get that effect (not using arrays) using just types. |
| ||
I don't know about this... Blitz3d is still one of the most valuable things in my life. I started programming when I was about thirty, thinking I'd never be able to pick it up. But after about three months of studying just a few commands a day, I had a 3d scene, dropdown menus for crying out loud, and I think even true antialiased meshes by that point thanks to the help of someone on the forum. Then after about a year, I had fully mouse editable level meshes, and now after several years I've achieved so many other amazing things I never thought I'd be able to do by myself. Me, who always said, oh I'll just hire a programmer when I'm rich. That's why I say, free? When it's something so valuable? On the other hand, I have no intention of ever selling my game :) |
| ||
Mark Sibley, will you please use Ploppy's VS10 attempt and correctly compile and distribute a ZIP file that will correctly install Blitz 3d on anyone's computer. It too complicated for us to do and you know the program better than any of us. I would be happy to pay $50 - $100 for an updated version of Blitz3d with DX10 support. Blitz3d mean so much to all of us part time programmers- in the new world of crazy script based or Java based programming- I think I speak for all of us- we NEED Blitz3d!!!!!!!!! Thanks! Glenn |
| ||
@gpete The latest version works correctly 1.108c. What problems are you having with it? I would be happy to pay $50 - 00 for an updated version of Blitz3d with DX10 support. Blitz3d mean so much to all of us part time programmers- in the new world of crazy script based or Java based programming- I think I speak for all of us- we NEED Blitz3d!!!!!!!!! Afaik Mark has moved onto other things and now working on Monkey2/Mojo2 http://marksibly.blogspot.com/ . your best option right now Ploppy's hardwired http://www.blitzbasic.com/logs/userlog.php?user=13255&log=1897 which does support DX10 but is flaky atm |
| ||
Would it be allowed to use the original source code of Blitz3d, remove some functionalities/functions, add new functionalities/functions, change the name of the program/logos, change the documentation/manual, then distribute the resulting program (ide/compiler) for free but under another name, but of course mention somewhere that this is built using Blitz3d source and that Mark Sibly is the original creator of Blitz3d ? |
| ||
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. In your example : As you describe IS PERMITTED provided you plainly mark that the software is altered from the original version and make no claims that you wrote it. |
| ||
Basically all you mentioned is ok, here is the checklist for zlib/png which Blitz3D is under.. Blitz3d is released under the zlib/libpng license. The zlib/libpng License Copyright (c) 2013 Blitz Research Ltd https://github.com/blitz-research/blitz3d/blob/master/LICENSE.TXT x Disclose Source ok License and Copyright Notice x Must Attribute x State Changes ok Commercial Use ok Distribution x Endorsement by Source ok Modification ok Patent Grant ok Private Use x Copyleft ok Sublicensing x Hold Liable ? Use Trademark You can read the whole thing here http://termsandconundrums.com/html/licenses/zlib.html |
| ||
hello i am new to this where can i get blitz 3d so i can start coding |
| ||
Go here: http://www.blitzbasic.com/Account/regprod.php and enter FREEBLITZ3D as registration code. after registering just go to http://www.blitzbasic.com/Account/produpdates.php You should see the latest download installer for Blitz3D |
| ||
Is this still up and open? Because I did exactly as said but it said the "FREEBLITZ3D" registration code is invalid |
| ||
http://www.blitzbasic.com/Community/posts.php?topic=107434 |
| ||
Thank you for that. That was very much appreciated. |
| ||
If Blitz was remade with some sort of auto threading for multi core CPUs and GPUs nothing would touch it as a programming language. I still think nothing comes close anyway, I've been a fan since the days of the Atari and the Amiga. It's awesome. |
| ||
Totally agree. Luv it since the Amiga days. Hence my idea/plead for a BlitzPlus3dMax 2.0 Wrapper on top of Monkey2. Using Mark's Monkey2+3D engine(WIP) as the basis, one could write a wrapper(in Monkey2) for all the Blitz commands from Blit3D, Plus, Max combined(whatever works best) and new commands to make use of Monkey's additional advanced features. That way the user has a choice of coding in the Monkey or Blitz way, but *with* all the benefits Monkey2, such as OOP, x64, shaders, multiplatform, physics to name a few. I think this would make it an instant hit, for it basically would serve the needs/demands of everyone around, it being a hardcore vet who likes the cryptic low level syntaxis, or it being then BASIC lovers like myself. Also has the benefit of not trying re-invent the wheel by upgrading the original Blitz3d the hard way in C++ and assembler. This could possibly save gazillions of work and time for anyone who wants to do it and makes it easily adjustable if a new Monkey comes out, making it future proof. Could even be a community project: anybody who wants to wrap a command or a bunch of them could donate their effort. Hey even I with my limited skills could probably do a few simple ones.. :-) |
| ||
Mr Silby. (Genius). Do you tink you could do the same for Maplet? The ability to carve through objects with other shapes would be a great addition to Bliz3D. The language is already half way there to being the best language for designing and printing 3D objects. Save as .STL would finish it off. |
| ||
Do you tink you could do the same for Maplet? Nothing is going to happen with Maplet. Here's a posting from 11 years back: https://www.blitzbasic.com/Community/post.php?topic=62671&post=703719 *#$*&! I lost the *#$&%ing source! I have no idea how - I back up quite often etc. but somehow the Maplet source code just disappeared one day - and with it, an early version of BlitzPlus, and a freaking awesome BSP merge algorithm |