an idea.

BlitzMax Forums/BlitzMax Beginners Area/an idea.

hugblue(Posted 2012) [#1]
Hello all.

I have sat and played with blitzmax. but the biggest problem is where I should start and where I'm going with it. when I sit and think, what would be the next idea / challenge. then it may be a little difficult.

ofcause there are the challenges that come from time to time. weekly. monthly. but they are too difficult for a beginner. which really should have learned all the basics first.

and I've tried to collect material and searched a lot on the internet. after starting material, books, guides. and much more. but it's hard to stay motivated. when time and again run your head against the wall.

many times the code does not work. otherwise, the code from a previous version blitzmax. and it can be difficult to see where the error is. as a beginner.

my idea would be. that in my project to learn how to use blitzmax right and from a beginner standpoint. everything from simple print commands, loops, graphics. to gather information and ideas from more experienced blitzmax users.

I would like to call this idea:
the first 100 steps. or maybe. the first 200 steps. depends on how much interest there is and how much can be gathered.

then from the more experienced, I wanted to be able to gather material. something like this. All drills shall ofcause supplementes with the code.

1..
commands: print
Use the command to print a name on the screen.

2..
commands: print, repeat, until.
by the use of these commands. print numbers from 1 to 100

3.. 4.. 5.. etc.

50 ..
commands:?
construct a window. wherein a box moves randomly. and wherein a name alternately changed to many different names.

---

Tell me about the idea is ok and if you would like to support it. and finally, I will gather all the information in a file that can be used by new blitzmax users.


Jesse(Posted 2012) [#2]
The best way to learn is to get down and dirty. Think of something simple you want to make, if you are here to make games than make a small and simple game to start with. Most people start with a game like Space Invaders. whatever you decide to do, break it down and start to think what you are going to need to do to get it done then figure out how you are going to do each step. Aside from learning the commands the hardest part to learn to do is the logic. If you are making a space invaders game, these are things you are going to need to learn to do:

Learn to load an image, move it around the screen with the keyboard or mouse.
learn how to shoot bullets, animate images and create explosions.
learn how to keep score and display it.
Learn how to create, store and delete objects of "Type"s from "List"s.

below are commands you are going to have to lear for BlitzMax. Not a complete list but I think you can do just about do any type of game with those:
' ****** graphics set up *******
Graphics, Cls, Flip

' ****** variable and variable types
Byte, Short, Int,Long,Float,Double,String,Long,byte
[ ] <--------(array)
Local, Global, Const

' ********* math operators. *********
=, +, -, *, /, ^, Mod, Sqr, Sin, Cos,Tan, Atan2

'********output commands.
DrawImage, DrawText, DrawOval, DrawLine, DrawRect, Print

' ********procedure
Function, Return

' *********logic
If Then Else
'*******logic operators
<, >, =, <=, >=, Or, And, Not

'**********loops
While/Wend, Repeat/Until, For/Next

'******** type/structure
Type, Field, Method,

'output/display
LoadImage, LoadAnimImage

'*********input
KeyDown,KeyHit, MouseDown,MouseX,MouseY


' *object Management and storage.
List and [](Arrays)


'*****More advanced that you can do with out for now:

Abstract,Extends <----- advanced type commands
Var <-----for functins
Int Ptr, Byte Ptr <-----variable value address acces
OpenFile/CloseFIle <----- file manipulation.
OpenStream/closeStream <------file manipulation
Bank <-------------data manipulation
&, |, ~ <-------------bit Operators

Don't try to memorize them all at once. look at them have an idea of what they are used for. Only concentrate on what you think might be useful for the game you are going to be working on and most of all be patient. You wont get a programmer's state of mind in a week. It's going to take much much much..... longer than that.


ima747(Posted 2012) [#3]
I would say that everyone learns differently. Some people would certainly benefit from a micro lesson approach and I would encourage you to make it and post it in the tutorials section, I'm sure there will be people who gain from it, and certainly you will learn some more by making it (new ways to think about things, stumble across some new commands, etc.).

Personally I learn by doing. I get an idea and I bumble my way towards it. I think this is generally a popular way for people to learn programming, specifically game development. Few people get into game development (and my extension bmax) because they want to learn about code logic, they want to make a game. The consensus is that you use that motivation to drag yourself through the basics. But again, everyone is different, and at the very least it could possibly be an augmented reference for functions and basic program flow to help people get their thoughts in order.

It's like any development project, if you have an interest go for it, you'll learn something and if you see it through other people gain from the end product too!


hugblue(Posted 2012) [#4]
i came with the idea. because i come from another basic type of programming language. then i changed to this blitzmax and also bought blide.

but the problem is these hundreds of hundreds of extra new commands. and what way is the best to start.

the other problem is were to start. if i should choose :
blitzmax and oop.
then lua.

but in the other language it was based on procedures and also that i know that language quite well. so until now its easier to go back and do what i allways have been doing.

but then. i want to learn blitzmax and oop. but i need inspiration. small steps. small idears.

and here we are hundreds of people who could supplement with a little. it would suddently help me. but also all other newcomers coming.

with how it is now .. hmmmm. i think alot would quit this. :
bad codes every where. for earlier blitzmax versions.
no real super guide.
lots of pices everywhere. but not connected a single place.
lots of wasted time looking around.
bad written help file.
etc.

and to say. ohh. build a simple game to start with. hmm. i would rather have some help figuring the basic first. we are not all the same.

im here to learn. but not to stumble around in the dark for ages before figuring the command and logic. i hate wasting time. and until now. it have been a big waste.

so if not for me. it would help alot of starters. to get their first 100/200 steps. to get started.

but maybe its just me.
maybe all other people are that much smarter than me. maybe.

Last edited 2012


Jesse(Posted 2012) [#5]
it's true the information is scattered and that is just how this language is. mainly because most of the tutorials and detailed documentation is made by users who are very busy with their own projects. there are a couple of books out there that teaches how to program the language but it doesn't focus on proper or standardized techniques. There are a couple of tutorials about OOP in the tutorials section and that is about as close as you are going to get to a tutorial about OOP from here. Since you are familiar with programming, you are probably familiar with most of the commands I mentioned in the previous post and I am assuming you can already produce an executable with functions, if statements and loops. So, what you really need is a tutorial on logic and techniques. if that's what you are looking for then you either need to go to school for it or buy a few books on the subject.

there have been other programmers that have attempted to do something similar, such ideas are short lived because every body that really knows the language is busy with their own thing or don't bother with it. If you pay attention there are only a hand full of users that normally hang around here that really know their subject and I can tell you that most will not bother or even answering a question in the beginner's forum. Maybe because they don't have time or they don't have the patience. There have been Wiki Pages and other community projects started that never took off because of lack of cooperation by the community. just to give you a good example, look at the Blitzmax online manual:

http://www.blitzmax.com/bmdocs/topics.php

it was made so that the community would help in creating a well documented manual but If you look at it, it's no better than the one that's included in the IDE. I am sure it's the same with other languages that are not mainstream. Now and then you get somebody that is willing to take the time to teach or write a tutorial but is very rare so we count our blessings.

Many of these programmers that know how to code went 4 years or more to college and have degrees and are working in their field. They did not get a free ride to a programming career. trying to learn in a few semi professional tutorials over a few months is not going to replace the discipline thought by a college or university. You can read professional books as an alternative but as you say it's hard to keep motivated. I have been there.


I would recommend(and that is what I used to do when I started programming many years ago) to write your code and submit it for criticism. There, maybe you will get some help.

These two tutorials were helpful even even years after I had learned some of the basics of OOP

http://www.blitzmax.com/Community/posts.php?topic=42519
http://www.blitzmax.com/Community/posts.php?topic=78860

which I am sure you seen.

you can try your Idea and I will surely cooperate if you don't mind. But, my Opinion is that I believe it will just be another thread that will disappear with the hundred of other suggestions for tutorials and wiki pages started trough out the years.

On a side note, If you are trying to learn real OOP BlitzMax is good for the first steps but for real OOP you are going to find out that it comes out short.

Sorry If I sound too negative or too harsh. That is not my intention but it has been my experience with this community through out the years. BlitzMax is a good tool and there are programmers making a living with it but maybe it's just not for everybody.


hugblue(Posted 2012) [#6]
hi jesse ..

thz for your text. a little negative. ya. but its ok. at last one commented with something that gave meaning, but its a shame. that a language like blitzbasic is not suported in the right style.

for what you have wrote. it seems that blitzbasic will be a wast of money for many people.

and i didnt write my text. because i was directly irritated. but honestly. now it seems that my money was wasted. on a bad project. i am not the person who will stumble around for years before i am good enough. i dont want to waste my time on looking around forever after bits and pieces.

its just too bad that some people make a language like blitzbasic and only do a half job. then what is the point. it's beyond me. so maybe only one solution. get a refund and never look back at blitzbasic and maybe its time to find something better. something where i dont have to put all the pieces together.

in the end i was looking for a simple language well documented and supported. but then. i was very wrong in going this direction.

but i can only blame myself. should have used more time finding out. the real world of blitzbasic.


Dabhand(Posted 2012) [#7]

for what you have wrote. it seems that blitzbasic will be a wast of money for many people.



That is unfair really, there is a demo available, so it's not like anyone has been made to purchase it.


its just too bad that some people make a language like blitzbasic and only do a half job



The language has always been a bit bare on the documentation, but, the offset of that is that the community is here, and as such, if you want an example of how to use something, you would start with a thread asking for help, something like "How do I use OOP", someone will post an example, explain it, then it's up to you to wrap your head around it...

Also, the site contains a search feature, which has never failed me yet, okay, maybe once or twice, but, whatever you come upagainst, I'm 99.9% sure that someone else has too!!!


something where i dont have to put all the pieces together.



As a mostly hobbyist programmer, this is why I love it, the whole lot is a puzzle and when you knit it all together, and it works, it's great... You've got to understand that Blitz, as a language isnt one of them swishy game maker kits, it's all about the logic, your logic, no drag and drop, you have to write it...

The bottom line is, if you are'nt prepared to put in the graft to learn it, then, I'm afraid you'll be missing out on a great language, your loss really


The real world of blitzbasic.



Yeah, real world of blitzbasic probably doesnt fall inline with the defeatist attitute eh! ;) Hehehe (I'm kidding mind)

Good luck on your travels hugblue, just a shame you give up so early!

Dabz

Last edited 2012


matibee(Posted 2012) [#8]
On a scale of simplicity vs power BlitzMax is in a league of its own.

OOP is a stumbling block for many new users but you don't have to use it. Many don't to start with, some don't at all. OOP wasn't invented by BRL, if it's a problem for you in BlitzMax it'll be a problem for you in almost all other languages.

There's masses of code on these forums and in the code archives to help you learn. Look at the code you can find, run it and play about with it. There's not many languages out there where you can copy + paste code from a forum and do something really meaningful with it without a tonne of extra libraries or special configurations.

If you give up this easily I wouldn't just say BlitzMax isn't for you, but perhaps simply programming anything just isn't for you.


matibee(Posted 2012) [#9]
bad codes every where. for earlier blitzmax versions


Looking in the code archives? Limit your search to .bmx. eg:

http://www.blitzbasic.com/codearcs/codearcs.php?cat=6&order=&asc=&lang_id=2


Zeke(Posted 2012) [#10]
http://www.blitzbasic.com/Community/posts.php?topic=59233


hugblue(Posted 2012) [#11]
thz all for your posts.

ok ..

i came to blitzmax. not to make games at first. but because i thought blitzmax would be an easy language. well documented and much more powerfull than the previous language.

my last project contains around 4500 lines of code. spaghetti code. old procedural way. and when the program gets that big, then i need something more powerfull. something easy and something in oop style.

and its not that i dont like to stumble around. try something here and there. but to get the basic and to get started. in this i dont want to use 500 hours of basic stuff, when i could read a good up to date manual and get up into speed in minimum invested hours. i have had computers since 1981 and have grow tired of all the simi to low graded programming languages. when i could have choosen one that could have made me into speed in least amount of time. my own stupidity.

because i didnt choose the demo first. is that it looked quite professional. good webpage. big forum with lots of code and posts. everything looked really fine.

and thats were it hurts. i dont want to fiddle around with basic stuff. because noone have made a decent : " get into speed in least amount of time manual/guide".

i dont think i am wrong here. i am just not that patient. esspecially when i can another language. and then i go to try another one. and fount that in many areas i am at square one again.

honest. you see my point. this is and cannot be funny.

and yes. i love to program. love to fiddle around. love to make programs faster, make my code easier to read and faster. love everything with programming. but dang. to start almost from square one. honest. come on.

>>dabhand.. and yes i know about logic. within the computer world. and u are right in many things. but its extremely hard to go so many squares back.

>>matibee.. i love to program. use around 9+ hours every day programming. i just want something better. and thought blitzmax could be the right direction.

>> zeke.. i have read that one. super guide. agree. but its the fundamental in blitzmax i need first. but thz alot.


Dabhand(Posted 2012) [#12]

and yes i know about logic. within the computer world. and u are right in many things. but its extremely hard to go so many squares back.



But surely... It doesnt matter if you use A, then try B or C... trying something new always means taking a few steps back in terms of having to learn "how it works"... Or is that just me?

First and foremost, I use quite a few languages, Blitz (All of them), monkey, GLBasic, Cobra, C++, C# (XNA), Java... The list is endless, but, with every one, I've had to start again, their all different in how they do things, it's part of the game IMO!

If your looking for a perfect language that you expect to just drop into, then, I think your in for a slog finding one!

Which, in terms of you saying Blitzmax is not as good as the language you use now, you've never actually stated which language you use either?


and thought blitzmax could be the right direction.



But it could be, but it seems to me, you've just fired the IDE, realised you havent a clue whats going on, went into a huff, and as such, deemed it to be unusable, when in fact, it will probably provide you with everything you'll ever need, either making games or otherwise!


but to get the basic and to get started. in this i dont want to use 500 hours of basic stuff, when i could read a good up to date manual and get up into speed in minimum invested hours.




but its the fundamental in blitzmax i need first. but thz alot.



Aye!

Be a man/woman [select accordingly], stop whinging, roll up your sleeves, it'll take much less then 500 hours, so, just go learn it:-

http://www.truplo.com/blitzmaxbeginnersguide/wave1.html

I might sound harsh, and that isnt my intention, but, come on, at least have a go, your here now, so what have you got to lose?

:)

Dabz

Last edited 2012


hugblue(Posted 2012) [#13]
hi Dabhand.

you do not sound harsh. i like honest people.

and ya.. maybe i should just start.

and i cannot name programming language. reason : its related to my work.

but thz. dabhand.

and to all u others

Last edited 2012


Dabhand(Posted 2012) [#14]

and ya.. maybe i should just start.



That's better! :P

Dabz