Allegro.cc - Online Community

Allegro.cc Forums » The Depot » Announcing Fire Starter (Speedhack 2005)

This thread is locked; no one can reply to it. rss feed Print
 1   2 
Announcing Fire Starter (Speedhack 2005)
Marcello
Member #1,860
January 2002
avatar

http://www.speedhack.allegro.cc/blog/post/9658

Fire Starter

No one knows how the city of devils, Endsville, was born.
As soon as it was created, it prospered,
And then it slowly ate up the world.
You serve Cantido, god of the black flame,
And must hinder its growth by setting it afire.
Trick the fire fighters, hide from the police,
And torch the city to purge it of its devils.
But you mustn't burn everying.
If the entire city burns down, you will have no place to stay.
You will not be able to live.
There can be no final victory.
The only thing you can do is burn the city.
Your only hope is to receive the blessing of Cantido, god of black flames.

~FLCL, Gainax

9658-1-small 9658-2-small 9658-3-small 9658-4-small

Download windows binary (and source):
http://files.cellosoft.com/marcello/firestarter010.zip

Enjoy.

(Made for Speedhack 2005)

kentl
Member #2,905
November 2002

Looks really nice! But what's up with the screenshot to the right? Is that "square" some intense fire or? (I will download later and check it out in depth)

Sirocco
Member #88
April 2000
avatar

Looks good.

-->
Graphic file formats used to fascinate me, but now I find them rather satanic.

Gideon Weems
Member #3,925
October 2003

It plays pretty well too! The scorching sound is especially satisfying.

Marcello
Member #1,860
January 2002
avatar

Oh, and since it's not super clear, this game is based on a little fictitious hand-held game from the anime FLCL by Gainax.

9347-1-small

The graphics (by Zack "Toasty" Fowler) were drawn to make the look and feel of the game in the show. And both sound tracks in the game were remixed for this game.

Ultio
Member #1,336
April 2001

Quote:

But what's up with the screenshot to the right?

I think that would be the "map."

---
"It's nice knowing that someday, the software I write will just be pirated by millions of people." :-/
http://loomsoft.net | Zep's Dreamland | Allegro Newbie Tutorials

kentl
Member #2,905
November 2002

Quote:

I think that would be the "map."

Doh! :)

I can see clearly now, the rain is gone,
I can see all obstacles in my way
Gone are the dark clouds that had me blind
It's gonna be a bright (bright), bright (bright)
Sun-Shiny day
It's gonna be a bright (bright), bright (bright)
Sun-Shiny day

Marcello
Member #1,860
January 2002
avatar

Can anyone compile mac/linux versions?

kentl
Member #2,905
November 2002

I tried it now. It's polished graphics wise and has nice music as well. As for gameplay something is still lacking, a bit more GTA feeling would be nice. Still, impresive! You got skillz man!

/ Kent Larsson AKA Napoleon Dynamite

Rodrigo Monteiro
Member #4,373
February 2004
avatar

Very impressive entry, especially considering it was started halfway through Speedhack.

The idea to actually make the game from the FLCL episode is really awesome, and it plays well enough for the time that was spent on developing it. It's my second favorite entry so far.

_____________________________
a.k.a amz, a.k.a. ArchMage ZeratuL
[Aegisub] - [TINS05: Lord of the Stars] [SH05: Bunkermaster] [SH07: Fury of the Sky God] [TINS08: All Yar Base Arr Belong To Us (with codnik)] [SH09: Xtreme Programming: The Literal Game]

Michael Faerber
Member #4,800
July 2004
avatar

Linux compile: Some flaws, then it runs good:

-Had to make directories obj_debug and obj_debug/partypack
-In the "LIBS=..." line of Makefile I had to replace "-lalleg" with "`allegro-config --libs`"
-Had to change "c:\allegro\tools\dat" to simply "dat"

Then, when the program compiled, the Makefile tried to start Firestarter, but it couldn't!
I started it manually with "./firestarter_debug.exe".

The first time the game started superb and I could play, but then I looked up the keys (::)) in the readme.txt, and when I tried to restart the game, it crashed all the time. I used the debugger to see where it crashes: In MainGame.cpp, line 20: gSys->maingame->paused = false;

This is because maingame seems to be NULL.

EDIT: The game seems to run again sometimes if I wait some time, but then it crashes again.

--
"The basic of informatics is Microsoft Office." - An informatics teacher in our school
"Do you know Linux?" "Linux? Isn't that something for visually impaired people?"

Ultio
Member #1,336
April 2001

I tried compiling libpng under OSX in order to compile this, and it flipped out. I'm not sure if I should have tried it on the source instead of building it as a lib (the docs said to do this).

---
"It's nice knowing that someday, the software I write will just be pirated by millions of people." :-/
http://loomsoft.net | Zep's Dreamland | Allegro Newbie Tutorials

deps
Member #3,858
September 2003
avatar

Got Fire Starter to compile, but I think something is terrible wrong. See attachment.

---
Layers are good, all good things have layers, like onions. Good things also stink. - Trezker
I now have a page and a blog!

Ultio
Member #1,336
April 2001

How did you get it to compile with libpng? Tossing it into the source area instead of using it as a standalone library?

---
"It's nice knowing that someday, the software I write will just be pirated by millions of people." :-/
http://loomsoft.net | Zep's Dreamland | Allegro Newbie Tutorials

deps
Member #3,858
September 2003
avatar

Already had libpng installed. I don't remember how/when I installed it. :P
Maybe using Fink, or prebuilt binaries.

About the strange colors bug, I looked in log.txt but I saw no errors.
Edit: And I hear music too.

---
Layers are good, all good things have layers, like onions. Good things also stink. - Trezker
I now have a page and a blog!

Ultio
Member #1,336
April 2001

The strange colors looks to me like the pallete is messed up and the transparency isn't being masked out at all. This might have to do with OSX's weirness in dealing with color depths (for instance: it doesn't like 16bit, but rather prefers 15bit. It's also picky about color depths in fullscreen mode as opposed to windowed mode. Some it can do, some it cannot. I've never tried anything that was in 8bit)

---
"It's nice knowing that someday, the software I write will just be pirated by millions of people." :-/
http://loomsoft.net | Zep's Dreamland | Allegro Newbie Tutorials

Matthew Leverton
Supreme Loser
January 1999
avatar

I got similar results as deps. The title screen worked fine, but after pressing the button I got garbled colors. Music worked fine.

Marcello
Member #1,860
January 2002
avatar

Quote:

The first time the game started superb and I could play, but then I looked up the keys (::)) in the readme.txt, and when I tried to restart the game, it crashed all the time. I used the debugger to see where it crashes: In MainGame.cpp, line 20:
gSys->maingame->paused = false;

This is because maingame seems to be NULL.

Curious, this should be impossible. Here's my reasoning:
1) that line is from inside my alt tab detection code:

static void switch_in() {
  gSys->maingame->paused = false;
}
static void switch_out() {
  gSys->maingame->paused = true;
}

2) those functions are 'initialized' using the following lines, from the constructor of the MainGame class (MainGame.cpp:26):

MainGame::MainGame() {
  set_display_switch_callback(SWITCH_IN, switch_in);
  set_display_switch_callback(SWITCH_OUT, switch_out)

3) MainGame class is only constructed in one place in the entire game. (A file search finds only one call to new MainGame, and no stack-based instances of the class.) That constructor is in FireStarter::setupGame() (FireStarter.cpp:74):
maingame = new MainGame;

4) Additionally, the global pointer, gSys, points to a FireStarter class, and is initialized in FireStarter's constructor (FireStarter.cpp:18):

FireStarter *gSys;

FireStarter::FireStarter() {
  gSys = this;
  game = 0;
  mp = 0;
  datafile = 0;
}

5) So with all that in mind, gSys is clearly valid before any MainGame's are constructed, and gSys->maingame is set as soon as a MainGame class is constructed. So my conclusion is if somehow a switch-in/out happens in the middle of MainGame's constructor, then I guess the pointer could be invalid. That seems highly improbably, but if that is the case, moving the lines for setting the callback (MainGame's constructor):

  set_display_switch_callback(SWITCH_IN, switch_in);
  set_display_switch_callback(SWITCH_OUT, switch_out);

To MainGame's setup() function, which should only be called after MainGame has been constructed properly (and the gSys->maingame pointer is set), should fix the problem.

--

Would 24/32bit be better? Edit FireStarter.cpp and change line 32:
virtual int getScreenBPP() { return 16; }

Michael Faerber
Member #4,800
July 2004
avatar

Thanks for your reply, Marcello! Now it runs flawless! :D

A cool game!

EDIT: I've noticed that when the program quits there is a segmentation fault - again at the gSys->maingame->paused place.

--
"The basic of informatics is Microsoft Office." - An informatics teacher in our school
"Do you know Linux?" "Linux? Isn't that something for visually impaired people?"

deps
Member #3,858
September 2003
avatar

Tried changing getScreenBPP to 15,24 and 32 but the game still looks like the image I attached earlier. :/

---
Layers are good, all good things have layers, like onions. Good things also stink. - Trezker
I now have a page and a blog!

Marcello
Member #1,860
January 2002
avatar

michael: probably linux does weird crap with the switch in/out stuff. you can just take out the two lines that set the callback and it'll be fine... I'll have to think about a better solution to that.

deps: Fun, any clues mac users?

Richard Phipps
Member #1,632
November 2001
avatar

Looks great, very nice gfx and also polished. :)
Adding more to the gameplay would help, but I do understand this was started half-way through a speedhack. Impressive!

Evert
Member #794
November 2000
avatar

Thomas Harte reported problems with 8 bit modes in MacOS X a week or so ago. I don't have the link handy, but it's in my mailbox somewhere.

GullRaDriel
Member #3,861
September 2003
avatar

i'm loving the game-boy style of this entry. I must say that i spend more than half an hour to burn , burn , BURN ! (burn baby burn , mwwahahaha i'm the shadow warrior ! )

"Code is like shit - it only smells if it is not yours"
Allegro Wiki, full of examples and articles !!

Paul whoknows
Member #5,081
September 2004
avatar

Looks great!, good pixelwork!, nice music too.
The only problem that I had is a very little slowdown(music stops too) every ~5 seconds, I don't know what can it be.

____

"The unlimited potential has been replaced by the concrete reality of what I programmed today." - Jordan Mechner.

 1   2 


Go to: