binary zoo
Welcome, Guest. Please login or register.
Did you miss your activation email?
January 21, 2018, 01:02:49 AM

Login with username, password and session length
Search:     Advanced search
30178 Posts in 1158 Topics by 195 Members
Latest Member: dianeanderson
* Home Help Search Login Register
+  binary zoo
|-+  Game Development
| |-+  Guest Dev Blogs (Moderator: JDog053)
| | |-+  TMC's Shoot Em Up Construction Kit - Dev Diary
Pages: [1] 2 3 4 Go Down Print
Author Topic: TMC's Shoot Em Up Construction Kit - Dev Diary  (Read 21263 times)
T_M_C
1000 XP
*
Offline Offline

Posts: 3000

TMC


View Profile Email
« on: April 05, 2012, 06:44:38 PM »

TMC's Shoot Em Up Construction Kit - Dev Diary
==================================

First Post.  Gulp.

Windows PC project started on 01.04.12 and i expect it to last about 2 years.  ( i'm a slow coder  Tongue ).

I've started off learning the Blitzmax GUI system.

Which has been an absolute nightmare so far.   Shocked

Purely because of the lack of documentation and tutorials.

The good news is that Max GUI ( the GUI System, graphical user interface, windows, buttons, sliders ect ), is now included with the latest release of Blitzmax and not a seperate purchase and download.

So, i've upgraded to the latest version in the hope it will be the most stable.

But although the GUI commands are extensively documented within Blitzmax, the examples are very few and far between and they often assume knowledge of other GUI functions and commands.

Although i've had limited experience with the GUI system in the past, i now need to do a much more complex GUI system and i'm really a newb when it comes to GUI.

There is only one Max Gui tutorial that i can find.  Which is pretty good, but it's only for beginners.

If it doesn't cover the topics i'm interested in then i'm really stuck and left browsing the forums for possible clues to a solution which is a very slow and painfiul process.

But, i'm making slow headway and it's gradually taking shape.

But i've had a lot of frustration so far.


The screenshot attached is one of my first few windows.

The background editor window.

It's pretty basic at the moment.  With not much functionality.

I expect to add more features as time goes by.

But it shows the window where the backgrounds to the game can be designed.

The black square window is the canvas where the background will be drawn.

I've decided to use a fixed number of layers for this editor.  10 in total, which each can have seperate parallax scroll speeds.

Layer 10 is the deepest layer and gets drawn first as it's farthest away.

With layer 1 being the nearest.

The layer system is different to the system used in Zytron II.

In my shooter i used individual parallax and depth values for each image.

Which made it very flexible.  But in practice i found i didn't need that flexibility.

So, i've decided to go for a much easier route and use a fixed number of layers this time round which i think users would prefer.

Static backgrounds are also possible simply by setting the parallax speeds to 0.

As in my Zytron II background level editor, to create the backgrounds the user simply scrolls around the level and hitting return places an image in the level.

As with Zytron II, i'm using a sprite based background system and not tiles.

Which means background images of different sizes can be used.

Each background image will again have loads of attributes that will affect the way it's rendered.

Scale, color, rotation, ect which makes for a pretty flexible system.


Now that i've got the basic background editor written i'll make a start on the Background Image Library editor window next.

This editor will allow users to scroll through a list of background images and select the ones they want to use in the level.

Once thats coded, i'll return to the background editor and add the code that places and edits the images in the level.


TMC


* seuck_background_editor.jpg (81.42 KB, 1024x734 - viewed 361 times.)
« Last Edit: April 06, 2012, 05:59:22 AM by The_Masked_Coder » Logged
Prime_8
1000 XP
*
Offline Offline

Posts: 1438



View Profile WWW
« Reply #1 on: April 06, 2012, 02:30:11 AM »

so it begins ....

cool
Logged

fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #2 on: April 06, 2012, 01:45:31 PM »

lol.  Yeah equal parts enthusiasm and dread. Smiley

I assume this is the Max GUI tutorial you found Masked?  It's for beginners, but still much better than any proper documentation I've seem from TGC or BR. 

http://www.2dgamecreators.com/maxgui/

Quote
As with Zytron II, i'm using a sprite based background system and not tiles.
Will there still be an option to use tiles if the user prefers as they make sense for a lot of game types.  (In essence all you need add is a "snap to grid" option)
Logged

T_M_C
1000 XP
*
Offline Offline

Posts: 3000

TMC


View Profile Email
« Reply #3 on: April 06, 2012, 03:12:50 PM »

Yeh, thats the tutorial i've been following.

I've got some horror stories to tell with Max Gui.   Shocked

It doesn't come with spinners at all.

These are the data boxes with up and down arrows so users can input data.

I had to trawl the blitz code archives and found a user had hacked together a function to do them.

I've had several, 'Deal Breaker' moments where i thought i'd have to ditch the system, but i've managed to keep going.

And am making steady progress.

It's shocking the lack of tutorials and documentation for the system.


Quote
Will there still be an option to use tiles if the user prefers as they make sense for a lot of game types.  (In essence all you need add is a "snap to grid" option)

I actually implemented a snap to grid system in the Zytron editor, so i'll do the same for this version.

It made image placement a lot easier and quicker.

TMC
Logged
JDog053
Moderator
1000 XP
*
Offline Offline

Posts: 2421


View Profile
« Reply #4 on: April 06, 2012, 04:54:32 PM »

Sounds like a great idea Masked! I'll be following closely Smiley
Logged
Prime_8
1000 XP
*
Offline Offline

Posts: 1438



View Profile WWW
« Reply #5 on: April 06, 2012, 09:43:27 PM »

dose blitz let you use c++ dll / S

if so try FLTK gui . it's what i use.
Logged

T_M_C
1000 XP
*
Offline Offline

Posts: 3000

TMC


View Profile Email
« Reply #6 on: April 07, 2012, 06:18:39 AM »

Quote
Sounds like a great idea Masked! I'll be following closely

Cheers.   Cheesy


Quote
if so try FLTK gui . it's what i use.

Ahh, thats interesting.

Looking in the Bliztmax Folders, i see there is an FLTK gui mod folder, stuffed full of files.

So, i'm assuming it's already supported by max.

Which is great news.   Smiley

I havn't got a clue how to use it though.   Sad

Again there are no tutorials on how to implement it.

I'll stick with the system i'm currently using at the moment.

But if i come up against any serious issues, i'll have a look at changing over.

FLTK is a nice looking Gui.

I like the way you have a different table color to your panels.  Looks great.

I think i'll try something similar.

Thanks for the heads up.

TMC

Logged
Prime_8
1000 XP
*
Offline Offline

Posts: 1438



View Profile WWW
« Reply #7 on: April 07, 2012, 01:25:23 PM »

yeah i just saw b-max uses fltk for mac and linux .


if you can use a c++ dll 's   then you can use fltk .
you just need to wrap the header some how . lol

i like teh older 130 fltk

 http://www.fltk.org/doc-1.3/index.html

« Last Edit: April 07, 2012, 01:37:57 PM by Prime_8 » Logged

T_M_C
1000 XP
*
Offline Offline

Posts: 3000

TMC


View Profile Email
« Reply #8 on: April 12, 2012, 02:44:09 AM »

A couple more screenies of my background editor.

I've added a lot of new features to it.

Most of it is blank data at present.

Theres not much more i can do to it until i have the Image Library written.

So thats what i'm about to start on.

TMC


* tmc_background_editor v2.jpg (88.74 KB, 1024x735 - viewed 323 times.)

* background_editor_sub_menus.jpg (106.78 KB, 1024x727 - viewed 322 times.)
Logged
fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #9 on: April 12, 2012, 09:36:09 PM »

Options a plenty Smiley

When you say images do you really mean static images or does that include animations as well?
Logged

Prime_8
1000 XP
*
Offline Offline

Posts: 1438



View Profile WWW
« Reply #10 on: April 13, 2012, 01:32:21 AM »

clicky clicky ... macro gui to my micro style . lol

looks to be fun , if not a boat load of work .
Logged

T_M_C
1000 XP
*
Offline Offline

Posts: 3000

TMC


View Profile Email
« Reply #11 on: April 13, 2012, 07:25:45 AM »

Quote
When you say images do you really mean static images or does that include animations as well?

Yep, both.

Animated and static images for the backgrounds.

Means i'll need to write a seperate animations editor too.

TMC
Logged
fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #12 on: April 13, 2012, 09:28:34 PM »

Quote
When you say images do you really mean static images or does that include animations as well?

Yep, both.

Animated and static images for the backgrounds.

Means i'll need to write a seperate animations editor too.
Thought there would be. Smiley

Do you treat static images differently from animations in your engine?  One of those menus seem to suggest you do.  I just handle everything as an animation with static images just having a single frame.
Logged

T_M_C
1000 XP
*
Offline Offline

Posts: 3000

TMC


View Profile Email
« Reply #13 on: April 14, 2012, 05:59:55 AM »

Quote
Do you treat static images differently from animations in your engine?  One of those menus seem to suggest you do.  I just handle everything as an animation with static images just having a single frame.

Yeh i will be treating them differently.

Each image will have a set amount of data assigned to it.

The Image Type specifies static or animated.

The Static Image data specifies the static image filename to use.  ( i prefer to use image filenames rather than numbers )

And the Animated Image data specifies the animation sequence to use.  ( again a name string instead of a number )

And this animated sequence will be a list of image filenames making up the animation. ( defined from the animations editor )


In fact Zytron II used your technique of using animation sequences for all images, but since they were all static, they all had animation length of one.

It was functionality i didn't use.


Update
----------

I've modified the background editor slightly ( see image ), i decided to place all the relevent data on the left of the screen in a scroll panel.

This was because displaying the editor at low resolutions ( 800 x 600 , 1024 x 768 ) lost some buttons .

Using a scroll panel simply allows the user to scroll up and down to get the option they want.

Also means i can use a larger canvas for drawing the actual background.

Unfortunately, although this scroll panel solves one problem, it raises another.

It looks like the scroll panel impementation in Blitzmax is slightly buggy.   Tongue

Label text gets drawn with a default black background instead of transparent ( see attached image ) and when scrolling the panel, text that scrolls off screen and then back on reappears with this black background.

I've tried several workarounds, which partialy work, but it looks like i'll have to wait for a Maxgui bug fix.

I hope this does get fixed because i intend to use scroll panels for future editors.


I've also decided to rename my project slightly, to, 'The Shoot Em Up Game Maker', instead of 'The Shoot Em Up Construction Kit'.

To give a slightly different name to whats currently available.

TMC


* seuck_background_editor_2.jpg (78.16 KB, 1024x737 - viewed 290 times.)
« Last Edit: April 14, 2012, 06:29:01 AM by The_Masked_Coder » Logged
fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #14 on: April 14, 2012, 11:40:44 AM »

In fact Zytron II used your technique of using animation sequences for all images, but since they were all static, they all had animation length of one.

It was functionality i didn't use.
lol.  I've always done exactly the same.  Everything is an animation....with one frame.  Tongue


Unfortunately, although this scroll panel solves one problem, it raises another.

It looks like the scroll panel impementation in Blitzmax is slightly buggy.   Tongue

Label text gets drawn with a default black background instead of transparent ( see attached image ) and when scrolling the panel, text that scrolls off screen and then back on reappears with this black background.

I've tried several workarounds, which partialy work, but it looks like i'll have to wait for a Maxgui bug fix.

I hope this does get fixed because i intend to use scroll panels for future editors.
Going back to an earlier discussion, how about splitting tose functions between two tabs, "Basic" & "Advanced"?  That way you hide the scary stuff away from beginners and you can also lose the scrolling window.  Just a thought.
Logged

Pages: [1] 2 3 4 Go Up Print 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines
Simple Audio Video Embedder
Valid XHTML 1.0! Valid CSS!