|
Post by stevep on Feb 6, 2006 15:24:08 GMT -5
Brutus, it is really coming along nicely! Here are some last items I'd like to request: Simple GUI. Purpose: so I can create something like a simple LOGO language for kids, kids game maker (like a shoot 'em up construction kit like they had on the Amiga), etc. If a simple GUI is implemented it would be nice to be able to set the handle to the intended graphics window. This would also be handy if I wanted to create a custom map editor that I'd would want to include with a game. Vector Graphics. Purpose: like the type used in Astroids, etc. Pivots. Purpose: Pivots are points that we attach child sprites to. When a pivot moves (in the similar way a sprite would be moved) all children sprites are also moved, even if they are individually rotated. It's also would be nice to set a rotation and the children sprites are rotated appropriately. Some uses for pivates are characters or ships that are made up of individual sprites (for example, armor, guns, etc.) or for the health status bars used on RTS games like Age of Empires. Streaming OGG Vorbis music. Purpose: Some of my music programs will not output to MP3 because of licensing issues. OGG is completely free. Brutus2D is almost the ultimate game programming language.
|
|
|
Post by Guilect on Feb 6, 2006 21:14:42 GMT -5
Hi Steve,
lets start at the top,
Simple GUI (graphical user interface): If you try to use standard windows buttons, for example, these controls only work in windowed mode, you can not use them in full screen mode. What most games use are literally "graphical" interfaces. (See the Brutus2D example "menu"). This uses images for places for the user to click on to "start new game", "exit" etc. I have look at other game programming languages and this seems to be the norm. I will toss the idea about and see what happens.
Vector graphics. You mean like the primative draw line function that is already in Brutus2D...?
Pivots: I have read and reread your description. If I understand you correctly you want to attach a sprite to another sprite. This surely could be done in code in Brutus2D by the user. Having Brutus2D have some function to automate this...hmmm...again more thinking.
Streaming OGG music: I think you were just trying to make me feel good because surely you knew that this is already in v0.0.22. (under example see folder "ogg"). ;D
Regards, Guilect
|
|
|
Post by stevep on Feb 6, 2006 21:47:00 GMT -5
Guilect, thanks for the response.
GUIs: I understand that it would be windowed mode only but for the uses I see for it, that would be fine. You are right, of course, that many use graphical controls but for text entry, etc, it is far more complicated.
Vector Graphics: similar to the primitives but kinda behave more like sprites (scaling, rotating, moving, etc.)
Pivots are used in other game programming languages and is just a way to automate something that would be more complicated if the user had to write code for it everytime it's needed.
As far as the OGG music, I must have clued out on that one and over looked it. I'm very glad you added that! ;D
|
|
|
Post by Guilect on Feb 8, 2006 8:03:01 GMT -5
Vector Graphics: Vector graphics are just lines. to make a vector bigger (scale it) you just make the objects associated lines longer. To rotate it you calculate the objects' lines new end points. (Yes you will have to do some math).
If you think you are going to group the lines into a single object (instead of a bunch of lines) then you have effectively drawn a bitmap image. So you can just draw your object out of lines in MSPaint and save it as an image. Then load this image into Brutus2D like any other image and scale and rotate it.
GUI: Got a working prototype up and running. (these controls will only work in windowed mode by the way) current syntax:
dim hbtnExit hbtnExit = GUI.CreateControl("BUTTON", "btnExit", 10, 10, 100, 40, "Exit")
sub btnExit_Click() MsgBox "This is a test" end sub
hbtnExit receives the windows handle (hWnd). Using this handle there will be commads to send and get text.
"BUTTON" is the type of control (others could be "EDIT", "LABEL", etc.)
"btnExit" is the name you give the control. This name is used with all of the events. (Click, Changed, etc...)
Then xpos, ypos, width, height, text
The controls are created on the one and only window that Brutus2D currently has. You can have just controls on the window so you can make a simple app. Or, you can have them on top of a DirectX window.
SteveP, comments...
|
|
|
Post by stevep on Feb 8, 2006 9:15:04 GMT -5
That is great that you added some GUI so fast! I'm just looking for the basics: textbox, combobox, button, list box, checkbox, etc. The list box, for example, could be used for listing files in a directory, the textbox (make sure it lets me make it multi-line or single line) for adventure games or simple languages like LOGO (this is an old simple language that used something called turtle graphics. The user would type in simple instructions and the turtle would respond by moving and drawing whatever it was told to.) As for the vector graphics, I pretty much figured I could do the same thing by creating a bitmap. That was no real big deal. Next suggestion: I need Brutus2D to implement an espresso and latte maker. Just kidding. Great work!
|
|
|
Post by OddChild on Mar 30, 2006 6:11:56 GMT -5
So was the idea for being able to anchor sprites together implemented? I havent seen anything on this idea for a while.
I like the idea of being able to set something up similar to HP on the go.
That would be super neat.
I have been having problems figuring out the Map Editor. I am sure that it will get easier. If you could include some tutorials that would be great.
BTY if anyone is reading this and hasnt registered... It is totally worth it!
|
|