10.03.2019 - Round 1 results of our "A Love Letter For FreeBASIC" game dev competition have been published. Please be sure to check the results thread: http://games.freebasic.net/forum/index.php?topic=629.0. Don't forget that the competition is continuing with a round 2, lasting till 29th of April, 300 USD first prize. Stay tuned!

Author Topic: Ultrabreaker: My Awesome Breakout Game  (Read 42683 times)

KristopherWindsor

  • Forum Sage
  • *****
  • Posts: 363
  • The Thirsty Smiley
    • View Profile
    • Reddit/r/pics
    • Email

KristopherWindsor

  • Forum Sage
  • *****
  • Posts: 363
  • The Thirsty Smiley
    • View Profile
    • Reddit/r/pics
    • Email
Re: Ultrabreaker: My Awesome Breakout Game
« Reply #31 on: August 29, 2008, 01:31:49 AM »
I've been working on the level editor, although it's not much to look at. ;)

I had made this file by hand:

Code: [Select]
Ultrabreaker (Tallys font!!??)
version 1
paddlesize 1
paddlesides bottom
// ycollapse
brickset 12 15 ycollapse
[w42][x42][y42][w42][x42][x42][x42][x42][y42][w42][x42][y42]
[w42]               [x42][x42][x42][x42]               [y42]
[w42]     [F82]     [x42][x42][x42][x42]     [F82]     [y42]
[w42]               [x42][x42][x42][x42]               [y42]
[w42][x42][y42][w42][x42][x42][x42][x42][y42][w42][x42][y42]
[w42][x42][y42][w42][x42][x42][x42][x42][y42][w42][x42][y42]
[w42][x42][y42][B42][B42][B42][B42][B42][B42][w42][x42][y42]
[w42][x42][y42][w42][x42][y42][w42][x42][y42][w42][x42][y42]
[C42][C42][C42][C42][C42][742][642][C42][C42][C42][C42][C42]
[w42][x42][y42][w42][x42][y42][w42][x42][y42][w42][x42][y42]
[z42][x42][z42][w42][z42][y42][w42][z42][y42][z42][x42][z42]
[w42][z42][y42][z42][x42][z42][z42][x42][z42][w42][z42][y42]
[142][x42][y42][w42][x42][y42][w42][x42][y42][w42][x42][y42]
[142][x42][y42][w42][x42][y42][w42][x42][y42][w42][x42][y42]
[w42][x42][y42][w42][x42][y42][H42][x42][z46][z42][440][442]
background 888888 turbines
minscore 8000000
ballspeed 1.4
ballsize 2
ballmultiplier 3
bonuslives 4
special shooter
mousegravity 1
timelimit 10 30
tip boom!

'item 100 100 bonusbutton
'item 50 50 bonusbutton 0
item 5 5 brickmachine 30
'item 50 50 portal_out 1
'item 0 100 portal 1

// note: change % for item and abrick to bricknumbers ie (7,7)

And when I opened it and saved it through the level editor, it produced this file:

Code: [Select]
Ultrabreaker (Tallys font!!??)

// Generated with UB Leveler .2 (00:12:01 on 08-29-2008)
VERSION 1.0

// Introduce a new feature in the levelpack
TIP boom!

// Settings, part I

PADDLESIDES bottom

// Layer 1

BRICKSET 12 15 ycollapse
[w42][x42][y42][w42][x42][x42][x42][x42][y42][w42][x42][y42]
[w42]               [x42][x42][x42][x42]               [y42]
[w42]     [F82]     [x42][x42][x42][x42]     [F82]     [y42]
[w42]               [x42][x42][x42][x42]               [y42]
[w42][x42][y42][w42][x42][x42][x42][x42][y42][w42][x42][y42]
[w42][x42][y42][w42][x42][x42][x42][x42][y42][w42][x42][y42]
[w42][x42][y42][B42][B42][B42][B42][B42][B42][w42][x42][y42]
[w42][x42][y42][w42][x42][y42][w42][x42][y42][w42][x42][y42]
[C42][C42][C42][C42][C42][742][642][C42][C42][C42][C42][C42]
[w42][x42][y42][w42][x42][y42][w42][x42][y42][w42][x42][y42]
[z42][x42][z42][w42][z42][y42][w42][z42][y42][z42][x42][z42]
[w42][z42][y42][z42][x42][z42][z42][x42][z42][w42][z42][y42]
[142][x42][y42][w42][x42][y42][w42][x42][y42][w42][x42][y42]
[142][x42][y42][w42][x42][y42][w42][x42][y42][w42][x42][y42]
[w42][x42][y42][w42][x42][y42][H42][x42][z46][z42][440][442]

ITEM 05.000 05.000 brickmachine 30

// Settings, part II

BACKGROUND 888888 turbines
BALLMULTIPLIER 3
BALLSIZE 2
BALLSPEED 1.4
BONUSLIVES 4
MINSCORE 8000000
MOUSEGRAVITY 01.000
PADDLESIZE 1
SPECIAL shooter
TIMELIMIT 10 30

KristopherWindsor

  • Forum Sage
  • *****
  • Posts: 363
  • The Thirsty Smiley
    • View Profile
    • Reddit/r/pics
    • Email
Re: Ultrabreaker: My Awesome Breakout Game
« Reply #32 on: September 01, 2008, 03:35:16 AM »
Here's some screenshots of my level editor.
It is almost finished! :D

The level editor allows multiple layers, so the pictures are:

1) Layer A
2) Layer B
3) Layer A and B shown together
4) The level played in UltraBreaker


KristopherWindsor

  • Forum Sage
  • *****
  • Posts: 363
  • The Thirsty Smiley
    • View Profile
    • Reddit/r/pics
    • Email
Re: Ultrabreaker: My Awesome Breakout Game
« Reply #33 on: September 04, 2008, 05:03:08 PM »
Lachie said I didn't have enough screenshots, so...:




:D

Lachie Dazdarian

  • Double dipper
  • Administrator
  • Forum Sage
  • *****
  • Posts: 1308
    • Yahoo Instant Messenger - lachie13
    • View Profile
    • The Maker Of Stuff
    • Email
Re: Ultrabreaker: My Awesome Breakout Game
« Reply #34 on: September 04, 2008, 05:06:07 PM »
Perverse. :P
"Things like Basic and Free Basic provide much-needed therapy and a return to sanity and a correct appreciation of people. The arrogant folk really hate a word like 'Basic' - fine, and good riddance." ~ pragmatist

KristopherWindsor

  • Forum Sage
  • *****
  • Posts: 363
  • The Thirsty Smiley
    • View Profile
    • Reddit/r/pics
    • Email
Re: Ultrabreaker: My Awesome Breakout Game
« Reply #35 on: October 01, 2008, 03:07:37 AM »
I probably should have posted this 3 weeks ago since I haven't had time to work on the game in that long... but here's the belated first preview! :)
http://www.youtube.com/watch?v=zzBh56GM-O4

codezer0

  • Novice
  • ***
  • Posts: 53
    • View Profile
Re: Ultrabreaker: My Awesome Breakout Game
« Reply #36 on: October 04, 2008, 02:30:41 AM »
Doesn't look like you can alter the course of the ball at all? By wrenching the mouse and imparting spin on the ball? Or some games do it by the position the ball hits the paddle (maybe not as good imo). Are these options?
« Last Edit: October 04, 2008, 02:37:36 AM by codezer0 »

KristopherWindsor

  • Forum Sage
  • *****
  • Posts: 363
  • The Thirsty Smiley
    • View Profile
    • Reddit/r/pics
    • Email
Re: Ultrabreaker: My Awesome Breakout Game
« Reply #37 on: October 04, 2008, 02:30:15 PM »

vdecampo

  • Forum Howler
  • ****
  • Posts: 140
  • Apocalypse is Forever!
    • View Profile
    • Easton Computers
Re: Ultrabreaker: My Awesome Breakout Game
« Reply #38 on: October 04, 2008, 03:31:40 PM »
I love the preview. BTW you may have answered this before, but are you using SDL or HGE as a gfx engine?

-Vince
Cheers!
-Vince

KristopherWindsor

  • Forum Sage
  • *****
  • Posts: 363
  • The Thirsty Smiley
    • View Profile
    • Reddit/r/pics
    • Email
Re: Ultrabreaker: My Awesome Breakout Game
« Reply #39 on: October 04, 2008, 03:57:55 PM »
Just FBGFX. ;)
I also use FBPNG (Yetifoot), ABFont (Leonheart), Multiput (DJ Peters), and my high quality image scaler.
The main trouble with FBGFX is getting speed with a large screen, so I allow different screen resolutions, with fonts for sizes 320 * 240 to 1024 * 768. :)
The slowest computer I have tested it on is 600MHz, and that can handle 320 * 240 very smoothly (and 640 * 480 is OK), so I'd imagine the game could be played on 400MHz just fine. ;D

KristopherWindsor

  • Forum Sage
  • *****
  • Posts: 363
  • The Thirsty Smiley
    • View Profile
    • Reddit/r/pics
    • Email
Re: Ultrabreaker: My Awesome Breakout Game
« Reply #40 on: January 05, 2009, 05:59:52 PM »
The game now saves replays, which can be watched at any speed.
And when you are watching replays, you can save a video with avicapture (see the FB forum)!
I'm working on the server-side part now.
 :D :D ;D ;D :D :D ;D ;D :D :D

EDIT: Here's the game trying to get the level list, and getting a 404 instead. :P
« Last Edit: January 06, 2009, 08:25:56 PM by KristopherWindsor »

KristopherWindsor

  • Forum Sage
  • *****
  • Posts: 363
  • The Thirsty Smiley
    • View Profile
    • Reddit/r/pics
    • Email
Re: Ultrabreaker: My Awesome Breakout Game
« Reply #41 on: January 16, 2009, 06:42:44 PM »
I made a picture to level converter!!!
The code is below.
Also, there is a new video posted: http://www.youtube.com/watch?v=-7kWDrHyYNk








Code: [Select]
' Convert a 800 * 480 bitmap (pic.bmp) to a brickset
' Is saved to the test pack, so open leveler after this is run
' By Kristopher Windsor

Const sx = 800, sy = 480, px = 48, py = 72
Const As Integer fx = sx / px, fy = sy / py
Const alphabet = "abcdefghijklmnopqrstuvwxyz"

Dim As Integer c, r, g, b, total, brick

Screenres sx, sy, 32

Bload "pic.bmp"

Open "data/levelpacks/test/1.txt" For Output As #1
Print #1, "Untitled"
Print #1, "VERSION 1.0"
Print #1, "PADDLESIDES bottom"
Print #1, "BRICKSET " & px & " " & py & " ycollapse"

For y As Integer = 0 To py - 1
  For x As Integer = 0 To px - 1
   
    'get rgb color for this tile
    r = 0: g = 0: b = 0: total = 0
    For x2 As Integer = x * fx To (x + 1) * fx
      For y2 As Integer = y * fy To (y + 1) * fy
        total += 1
        c = Point(x2, y2)
        b += c And &HFF
        g += (c Shr 8) And &HFF
        r += (c Shr 16) And &HFF
      Next y2
    Next x2
   
    'find best matching tile / palette color
    r = Int((r / total) * (3 / 256))'*85
    g = Int((g / total) * (3 / 256))'*85
    b = Int((b / total) * (3 / 256))'*85
    brick = b + g * 3 + r * 9 + 1
    If brick = 27 Then
      Print #1, "     ";
    Else
      Print #1, "[" & Mid(alphabet, brick, 1) & "45]";
    End If
   
  Next x
  Print #1,
Next y

Print #1, "BACKGROUND FF888888 default"
Print #1, "BALLMULTIPLIER 1"
Print #1, "BALLSIZE 1"
Print #1, "BALLSPEED 1"
Print #1, "MINSCORE 1000000"
Print #1, "PADDLESIZE 1"
Print #1, "PADDLESTYLE normal"
Print #1, "TIMELIMIT 10 0"
Close #1

BadMrBox

  • Forum Sage
  • *****
  • Posts: 411
    • View Profile
    • BadMrBox.com
Re: Ultrabreaker: My Awesome Breakout Game
« Reply #42 on: January 16, 2009, 10:23:18 PM »
Hah, awesome :)

Lachie Dazdarian

  • Double dipper
  • Administrator
  • Forum Sage
  • *****
  • Posts: 1308
    • Yahoo Instant Messenger - lachie13
    • View Profile
    • The Maker Of Stuff
    • Email
Re: Ultrabreaker: My Awesome Breakout Game
« Reply #43 on: January 17, 2009, 10:57:35 AM »
This is witchcraft.

:)
"Things like Basic and Free Basic provide much-needed therapy and a return to sanity and a correct appreciation of people. The arrogant folk really hate a word like 'Basic' - fine, and good riddance." ~ pragmatist

rolliebollocks

  • Novice
  • ***
  • Posts: 75
    • View Profile
    • Email
Re: Ultrabreaker: My Awesome Breakout Game
« Reply #44 on: January 20, 2009, 05:53:51 AM »
Kris,

Are these pixel maps you're loading? And if so... Do you assign a color scheme to the map before you parse the pixmap or is that too coded within the file?

Anyway, this is really impressive.