SpeedHack 2014 is this weekend!
Matthew Leverton

Just a reminder, SpeedHack 2014 is this weekend, starting Friday noon UTC and ending Monday noon UTC. If you plan accordingly, you should be able to get two good days of coding in without losing any sleep. >:(

http://speedhack.allegro.cc/

The site and registration will open later tonight.

In the meantime, you can add fresh rules to the Rule-O-Matic and rate the existing ones.

Vanneto

Can't wait. Hopefully I'll be able to finish something for the first time.

Love the nostalgic feeling I get when I visit the Speedhack site. Sweet 11. 8-)

GullRaDriel

I have to warm up my framework :p

MiquelFire

Have to miss this weekend. Too many distractions I can predict will take away too much coding time.

Dizzy Egg

I could enter and spend the first 20 hours making a workable framework from one of my half finished projects, but there's neuro-hop to be produced!

So....no, I wont be in. Not nuff skillz ::)

BAF

Why is everyone so obsessed with making frameworks for speedhack? What ever happened to just making a game in 72 hours? ???

Mark Oates

I'm thinking about a framework because I hope to actually make a game. ;) I don't want to spend too much time working on the logistics of the code structure which I tend to over-obsess about.

The code for Green Grappler was so purdy and clean, it made me jealous. >:(

Matthew Leverton

Sign up is available @ http://www.speedhack.allegro.cc/entrants

I'll finish setting things up tomorrow.

Please add new rules and check back once a day to give a thumbs up/down to the ones other people have added.

Edgar Reynaldo

I'm in!

Dizzy Egg
BAF said:

What ever happened to just making a game in 72 hours?

It grew up and started working 60 hours a week.

Gideon Weems

Screw it.

I have no qualifications. I've never entered a SpeedHack nor a TINS nor any other such programming event. I am also unfamiliar with the A5 API and have yet to even install it on my current machine. On top of all this, I start a new job next week.

... In other words, COUNT ME IN. All you pansies should sign up, too. Hell, if so much as "Hello World" comes out of this competition for me, it'll be a damn miracle... so what's your excuse???

This will be a SpeedHack for the ages.

Dizzy Egg

Sod it...I'm in, I'll have a good go! :D

Gideon Weems

That's the spirit!

Slartibartfast

so what's your excuse???

Well, first of all I work Sunday (and I have classes to go to as well), then there's the homework for Sunday...

I think I'll still sign up, but will be very likely not to submit anything. If I'll have a really cool idea maybe I'll prototype it some other weekend in 48h :)

Gassa

Is there an announcement with the exact dates and times anywhere? Seems there's none, neither on allegro.cc nor on Speedhack's dedicated site. How will people learn of the competition before it actually starts, then? Only few read the forums, you know.

Also, announcing just a day or two before the competition starts doesn't sound right. Was it ever this way? With TINS, the announcement usually came a few weeks before actual competition if I remember correctly.

Matthew Leverton

There have been several threads about it. There is a count down on the site. If people miss it then they will be able to enjoy a weekend at the park.

But even when people know the exact date a month in advance they still drop out because they had to go to the grocery store and buy cat food.

SiegeLord
BAF said:

Why is everyone so obsessed with making frameworks for speedhack? What ever happened to just making a game in 72 hours? ???

Personally, I get a little bit more enjoyment out of these things if I don't have to reimplement some basic functionality... that said, I actually had the chance to make a game without a framework for Ludum Dare and it wasn't actually that bad.

This time, though, I just want to also try a new programming technique which definitely does require some prep-work.

Matthew Leverton

Site is updated.

Blogs work now.

TinoR

do we have to use allegro 5? or will any version be ok

thanks!

Vanneto

AFAIK, any official version is allowed, though Allegro 5 is encouraged because it's just awesome.

Mark Oates

I just added 10 new rules! 8-)

Matthew Leverton

It must be source compatible with Allegro 4.4.x, Allegro 5.0.x, or the MOST RECENT version of Allegro 5.1.

Mark Oates

Are there binaries for the most recent 5.1.x? I'm on 5.1.7. :-/

Edgar Reynaldo

Use the source Luke!

Mark Oates

God knows I can't compile Allegro 5. :'(

I suppose I could just build with 5.1.7 and pray the code is compatible. :-/

Gideon Weems

The latest version's 5.1.8, right? You should be okay.

20 hours till glory.

kdevil

I'm excited! I haven't made a game in ages, I think the last one I made was for TINS back in 2012. ::)

BAF

I haven't either. The weekend looks semi-clear for me, actually, so I'm going to give it a shot. I may lose a day, depending on the weather forecast... we'll see. :o

Mark Oates

I'm on China time, so it starts @ 8pm on Friday, and ends @ 8pm on Monday. I work Monday so I'll lose a good chunk of that day.

I'm still gonna win, though. >:(>:(>:(

Gideon Weems

Since becoming an actual contestant, my criteria for evaluating rules has changed from, "How interesting would this be?" to, "... How easy would this be to implement?"

Mark Oates

I'm more like, "how good will it look it look if I show it to other people?"

LennyLen

I'm working Friday from 2pm to around 1am, and then on Saturday and Sunday from 9am until about 1am. On Monday I start at 11am.

I think I'll sit this one out.

Elias

I work on Friday, then go to someone's party after work. Then I'm gone to Bavaria all Saturday and Sunday. And then work again on Monday.

So yeah, not much chance for me either :(

Gideon Weems

I'm more like, "how good will it look it look if I show it to other people?"

Haha, like you even have to worry about that... I've seen your pixel art before. >:(

Anyone sitting this one out should rest easy, as I will pick up the slack and then some. 8-)

Gassa

It's OK to try and use languages other than C and C++, right? The previous TINS saw two entries in D, and we had a (Windows) binary pack without too much trouble as far as I remember. This time, I would like to use D too, with SiegeLord's bindings - they were working for me last time I checked. And I believe SiegeLord himself may be going to use Rust since he moved on :) .

By the way, is there be a centralized place where the entries will be put after the contest, like this or that one?

MiquelFire

Here I assume.

Gassa

Here I assume.

Thank you, MiquelFire!

Matthew Leverton

You can use whatever language you want, but you should realize most people will have problems getting anything other than C/C++ to work.

Edgar Reynaldo

My library's source and headers fit inside a 173KB zip file! I didn't think I would be able to use them! Phew!

BAF

173KB of source? :o Is it a complete game already? :P

SiegeLord
Gassa said:

It's OK to try and use languages other than C and C++, right? The previous TINS saw two entries in D, and we had a (Windows) binary pack without too much trouble as far as I remember. This time, I would like to use D too, with SiegeLord's bindings - they were working for me last time I checked. And I believe SiegeLord himself may be going to use Rust since he moved on :) .

You can use whatever language you want, but you should realize most people will have problems getting anything other than C/C++ to work.

I'll be able to compile a binary for Windows and Linux for D (and Rust, but I'm the only one using it), so the only problem is Mac, as always.

Edgar Reynaldo
Quote:

173KB of source? :o Is it a complete game already? :P

No of course not, but it is something that makes my life seriously simpler so I don't have to spend all my time reimplementing the wheel over and over again. Lots of utility classes init routines logging input handler image and font classes gui stuff and lots more. It's totally fair game if it fits a 250KB zip file.

Thomas Fjellstrom

I thought they were only fair game if they have already been released publicly prior to the start of the compo.

Edgar Reynaldo

https://sourceforge.net/projects/eagle5gui/ Been up for a while now, but I can post a zip if anyone wants to try it. AS IS NO WARRANTIES EXPRESS OR IMPLIED NO DOCS USE AT OWN RISK. Just made a commit. And here's a zip file - Eagle5SHdistro.zip.

BAF

You forgot the button on the homepage, Matthew. 8-)

Fishcake

Didn't expect it to start so soon! I registered, but there's like 90% chance of my not making it, since I might have to work on the weekend to chase some deadlines. :(

We'll see about it.

Mark Oates

Looks like this is going to be a < 48 hour compo for most of us. :)

Dennis

Good luck and have fun everyone!

Mark Oates

Following Edgar, here's a dump of the code in my framework that may or may not make an appearance in my entry. Consider this the first public release. :)

What if we want to use boost, box2d, OpenCV, or any other library like that? It's fair game, right?

SiegeLord

I thought they were only fair game if they have already been released publicly prior to the start of the compo.

It's a TINS thing. Anything goes for Speedhack (you have to make it clear what was pre-written, however, in the Readme).

Mark Oates
SiegeLord said:

It's a TINS thing. Anything goes for Speedhack (you have to make it clear what was pre-written, however, in the Readme).

Crap! >:( Now I spilled all my sekrits!

...

One hour to go!! :D:D:D

pkrcel

Now I spilled all my sekrits!

I wish I'd only understand half of what you've written you dang code obfuscator :'(

Mark Oates

Only 10 minutes to go!!!

{"name":"608612","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/8\/7\/871234adde88749181569d87cf376c8a.gif","w":360,"h":240,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/8\/7\/871234adde88749181569d87cf376c8a"}608612

BAF

wooooooooooo

Mark Oates

Rules are up.

Cool rules. 8-)

Gideon Weems

Yeah, I agree. These rules work well together.

Good luck and have fun, guys!

GullRaDriel

Rules are OK to me too.

Good luck :-)

Dizzy Egg

What exactly must our 250Kb zip contain....not the actual libraries I'm guessing, just a note of what ones we used??

pkrcel

The makefiles should get in there too, so I guess at least how to build your game should as well.

Matthew Leverton

The source code to your game and to anything that can't fairly be called a third party library. And of course any binary resources (images, music) that are required to play the game.

Dizzy Egg

Cool, thanks Matthew.

Thomas Fjellstrom

Ah, see I thought that was the case with SpeedHack as well... its been so long :o

I think its a good idea though, to have it out there.

Slartibartfast

The rules require too complicated a game to complete in the small amount of time I have to spare, and so as predicted I will not be making a game for SpeedHack.

Thomas Fjellstrom

You are allowed to be "creative" with the rules.

Mark Oates

Yea, you could type the letter "E" to have your player gain experience.

Derezo

Those rules are pretty sweet. I missed the registration window, but I don't have a lot of time to spare this weekend :-/

Blast!

Good luck everyone!

Matthew Leverton

There are always simultaneous complaints of "the rules are too lenient and they don't give me any ideas" and "the rules are too strict and I cannot implement my month old plans."

It just depends on how you approach it.

Slartibartfast

There are always simultaneous complaints of "the rules are too lenient and they don't give me any ideas" and "the rules are too strict and I cannot implement my month old plans."

It just depends on how you approach it.

The problem for me isn't really the rules, its the date. However, if the rules were favorable for me (i.e. allowed for something simple enough to fit the time frame and yet still enjoyable for me to make) I would have tried making a simple game. The same rules but a month from now would also see me making a game.

Mark Oates

The source code to your game and to anything that can't fairly be called a third party library. And of course any binary resources (images, music) that are required to play the game.

Quote:

The source code to your game and to anything that can't fairly be called a third party library. And of course any binary resources (images, music) that are required to play the game.

What about downloadable content?

Dizzy Egg

Yay! I'm underway! It's 3am here now though, and I'm tired and inebriated so am calling it quits for tonight; I think my original idea of 100 screens might be a little far fetched, so I'm sure I WILL finish and submit an entry, but it'll probably be like 10-15 screens or summat. Anyhoo, here is a snippet of my progress so far, I'm enjoying myself!:

video

Matthew Leverton

What about downloadable content?

Downloading resources to get around the size limit is against the spirit of the rules.

You can upload a second 10MB zip with better graphics, etc, and if people want to judge you on that, it's their prerogative.

Edgar Reynaldo

Why is al_get_default_mixer() returning 0? Does allegro not supply one? I thought it had to for al_play_sample...

Matthew Leverton

You have to reserve samples first, or call al_set_default_mixer()

Edgar Reynaldo

Still don't have sound playing (and its stuck in the al_rest(0.016) below) :

   global_mixer = al_create_mixer(44100 , ALLEGRO_AUDIO_DEPTH_FLOAT32 , ALLEGRO_CHANNEL_CONF_2);
   al_set_default_mixer(global_mixer);
   al_set_mixer_playing(global_mixer , true);
   
   PlaySoundWait("sounds/Hello.ogg");
   PlaySoundWait("sounds/Hello.ogg");
   PlaySoundWait("sounds/Hello.ogg");
   PlaySoundWait("sounds/IsThisThingOn.ogg");
   PlaySoundWait("sounds/WelcomeToRogueSalesman.ogg");

void PlaySoundWait(std::string file) {

      ALLEGRO_SAMPLE* sound = al_load_sample(file.c_str());
      if (!sound) {return;}

      ALLEGRO_SAMPLE_INSTANCE* instance = al_create_sample_instance(sound);
      al_attach_sample_instance_to_mixer(instance , al_get_default_mixer());
      al_set_sample_instance_playing(instance , true);
      while (al_get_sample_instance_playing(instance)) {al_rest(.016);}
      

      al_destroy_sample(sound);
   }

Can anyone see what I'm doing wrong still?

SiegeLord

Do the regular Allegro examples work?

Gideon Weems

Skip al_create_sample_instance and whatnot and go straight to al_play_sample. That works for me.

For "big" stuff, I create a stream and attach it to a mixer that is attached to a voice.

Day 2 has begun. 8-) SpeedHack is fun but a lot of pressure. The programming itself is simple, straightforward stuff--but bringing it to coherent whole is a completely different story.

I have nothing but respect for anyone in the competition who produces a working game.

Mark Oates

I've run into a few "oh crap" moments myself. Like when there's a bug somewhere and it takes a bunch of steps to solve it, and along the way I lose track of where I am.

I'm attempting a 3D game, and there's a bunch of concepts and stuff that I've never done before. My #1 concern now, at this point, is that I can make a fun-to-play game.

GullRaDriel

Pfiou.

I'm fighting with movement issues.

Good luck guys.

Edgar Reynaldo

I forgot to use a voice. That's why there was no sound. :/

Mark Oates
typedef void (ProgramMaster::*collision_response_func_t)(Entity *, float, CollisionMesh::Face *, float);

...

(this->*collision_response_func)(colliding_entity, collision_time * time_left_in_timestep, colliding_face, face_collision_stepout);

Yea, I just did that. 8-)

Dizzy Egg

Nice!

I've done so much today that I'm 85% sure I'll get a playable entry in....my only worry now is that it wont have any sound! :-/

Thomas Fjellstrom
Dizzy Egg said:

I've done so much today that I'm 85% sure I'll get a playable entry in....my only worry now is that it wont have any sound! :-/

No sound or musc in The Egg's entry? That's.... Unexpected!

Dizzy Egg

It's not like the melodies and noises are not flowing from my psyche, but I'm going to be so stretched to get a decent amount of puzzles in that just setting up voices etc (after Edgars earlier posts) in A5 is asking too much! Another 24 hours and maybe, just maybe....! :P

SiegeLord

Here's a minimal example of how to play a sample (without using the simpler, but more limited al_play_sample API), just in case somebody runs into the same difficulty:

#SelectExpand
1#include <allegro5/allegro.h> 2#include <allegro5/allegro_audio.h> 3#include <allegro5/allegro_acodec.h> 4#include <stdio.h> 5 6int main(int argc, char** argv) 7{ 8 al_init(); 9 al_install_audio(); 10 al_init_acodec_addon(); 11 al_reserve_samples(1); // to create the default mixer/voice 12 13 ALLEGRO_SAMPLE* sample = al_load_sample(argv[1]); 14 ALLEGRO_SAMPLE_INSTANCE* instance = al_create_sample_instance(sample); 15 al_attach_sample_instance_to_mixer(instance, al_get_default_mixer()); 16 al_play_sample_instance(instance); 17 18 while(al_get_sample_instance_playing(instance)) 19 { 20 al_rest(0.1); 21 } 22}

Dizzy Egg

Nice!...Thanks a lot for that, should at least have a nice piano melody going on in the background!

...getting late here now but....couple more hours!!

{"name":"608615","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/2\/0\/20c441ed3b48c0cefcfb02482568a092.png","w":1040,"h":806,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/2\/0\/20c441ed3b48c0cefcfb02482568a092"}608615

Gideon Weems

Are there any caveats with directory separators and the loader functions? For example, would loading "Data/Music/Something.ogg" work on Windows?

Edit: Dizzy's game looks fun. :)

Dizzy Egg

Yeah that's fine; it's what I'm using now, so "/gfx/tile_water.png" etc etc

edit:

it's hard, I just died twice whilst debugging!

Gideon Weems

Thanks!

Dizzy Egg

Hello guys, my game is finished (well, I have a couple of hours left before I submit it) and there's a few things I want to check:

In my .zip, I have the main source, header, graphics, font and audio. I've used only libraries from Allegro 5, which of course are not included in the .zip....

...do I have to include a makefile, or is it enough just to list what libraries to link against? I've always used IDE's, so wouldn't know where to start with a makefile...unless Code::Blocks can auto generate one?

Please be really specific on what EXACTLY needs to go in my .zip, I know I've already asked but I want to get it right! :D

Gideon Weems

Phew, I'm done, too! Congrats!

I think the important thing is just to upload it before the deadline. If there are any problems, they can be sorted out after the fact.

SiegeLord

I think the important thing is just to upload it before the deadline.

Hopefully you'll go through with this yourself... only 50 minutes left :o:o:o.

Gideon Weems

Houston, we have a problem.

I don't have a way of generating a ZIP file without pulling in about 700 MB of dependencies. :P I'd do that, but there's that whole time issue.

I'll upload a tar.gz file for now and hope that it's better than nothing. Please let me know how to proceed.

Edit: Made it! :o

SiegeLord

Upload it somewhere (e.g. here) and I'll convert it for you.

EDIT: Woohoo!

Gideon Weems

:D You'd do that? Thanks!

It's all right, though, as I dug out an old laptop and converted the gzip file there. (The laptop's version of Allegro is 4.03, by the way.)

Time for bed. Here's looking forward to this week's slew of new games!

Mark Oates

Hey, I swear I hit submit at 11:59 for v0.4. The 0.3 I submitted seconds before doesn't compile.

This is the one I submitted RIGHT before the buzzer: Here

Gassa

I had an issue with the combination "D programming language and Allegro timer" that took a bit of time. Looks like when a timer is created but not started immediately (more or less), or otherwise spends some time in stopped state, the subsequent attempts to start it don't work. Though al_get_timer_started reports true, the timer events are not being generated. An equivalent program in C/C++ does the job just fine.

Now that the competition is over, I'll investigate further and perhaps construct a minimal example. For now, here's what works for me and what doesn't: the difference is that I move the start_timer call above or below display creation. I'm using SiegeLord's bindings.

Edit: here is the equivalent C/C++ code, I took it straight from the tutorial.

GullRaDriel

I didn't made it in time, but I'll submit the entry on the forum.

And I'll try all the submitted entry, fear my review !!

Not enough time, but that was good to have a nice excuse for a night coding session like when I was 15 ^^

:-)

Gideon Weems

I spent a day recuperating and now feel much better.

Congrats to everyone who finished! And if you didn't finish, I honestly can't blame you. I was a hair away from not finishing, myself.

So what do we do now? I'm gonna download and compile some games today, but are there rules concerning the review process?

MiquelFire

Keep an eye on the SpeedHack site. Matt will post the needed info to start the judging.

Karies

Please, post Speedhack binaries not only source code.

Matthew Leverton

Voting for winners will be open on Saturday assuming I have time on Friday to put everything together.

Onewing

Congrats all on making it through speedhack! I was inspired by seeing this effort revived. 8-)

Dizzy Egg

I loved it! Never imagined I'd finish, but it was proper old-skool scrappy code no comments mammoth sesh with litres of coffee and I can't wait for the next one! ;D

Gideon Weems
Karies said:

Please, post Speedhack binaries not only source code.

Check the depot. Folks have been posting binaries.

Neil Roy

I had no ideas for a game based on these rules, then I see the entries and am wishing I had entered now. Next time.

I'll have to start work on some sort of framework for the next one so I am ready next time. ;)

Gideon Weems
NiteHackr said:

I'll have to start work on some sort of framework for the next one so I am ready next time. ;)

This way of thinking is the very reason I missed out on every SpeedHack up until now.

MiquelFire

I never used a framework, I just used what I had on hand, and worked from there. There's been times I wasted on stuff that a framework would help with, but whatever, that's the nature of SpeedHack.

Thread #614273. Printed from Allegro.cc