TINS promotion
amarillion

Would you like to help me promote TINS?

I've prepared some generic posters (see attachments to this post). I'm going to hang these near the coffee machine in my office. Maybe somebody else wants to take this and do the same?

By the way, I could still use some bumps here: https://www.gamedev.net/forums/topic/692203-72h-speedhack-with-allegro-held-oct-20-23/

And does anybody know how to get a hold of Matthew nowadays? My Allegro.cc news post has been queued for months now...

Gideon Weems

And does anybody know how to get a hold of Matthew nowadays?

He responds to some topics in the Allegro.cc Comments section, suggesting he may receive some kind of activity notification.

If you really want to promote TINS, (ab)use the #LudumDare hashtag.

amarillion

Do you think Matthew has an email subscription to posts in Allegro.cc comments? Does that mean he gets an email for every post in the "Thread locks too soon" thread?

I'll give #LudumDare a try too

Specter Phoenix

I'll be interested in seeing if this pans out since most of the games I ever played during LD compos were created using Unity or GameMaker.

amarillion

I'll be interested in seeing if this pans out

Pans out? What do you mean?

bamccaig

Your posts[1] have inspired me to hack away at a game for the first time in years pretty much. >:(

video

Thank you. >:(

amarillion

Sure >:( How about the follow up on my blog >:( Does that inspire you as well? ???

;) ;) ;)

Specter Phoenix

Pans out? What do you mean?

To see if you get a lot of non-A.cc people joining.

amarillion

Ah, I get what you mean now. You want to see if there are any non a.cc people who can be enticed to use Allegro.

Well, I'm curious myself. When we discussed this a while ago, I proposed dropping the allegro requirement. But most people here considered this an essential feature.

bamccaig

Sure >:( How about the follow up on my blog >:( Does that inspire you as well? ???

It did. >:(

Specter Phoenix

I joined, but with my son's health there is no guarantee I'll get anything done.

bamccaig

Still motivated. >:(

video

This is an amusing bug. Here's what the diff looks like:

0001-Unify-the-timers-into-a-single-timer.patch#SelectExpand
1From 080311358811107848ffba0d8b5a57dade21e3c1 Mon Sep 17 00:00:00 2001 2From: Brandon McCaig <bam***********@*****il.com> 3Date: Sat, 30 Sep 2017 02:21:59 -0400 4Subject: [PATCH] Unify the timers into a single timer. 5 6--- 7 main.c | 57 ++++++++++++++++++++++----------------------------------- 8 1 file changed, 22 insertions(+), 35 deletions(-) 9 10diff --git a/main.c b/main.c 11index fdac40f..17bf5f4 100644 12--- a/main.c 13+++ b/main.c 14@@ -15,6 +15,7 @@ 15 #define magicpink (al_map_rgb(255, 0, 255)) 16 #define white (al_map_rgb(255, 255, 255)) 17 18+const int TICKS_PER_SECOND = 60; 19 const int GFX_FPS = 10; 20 const int GRAVITY = 1; 21 const int LOGIC_FPS = 1; 22@@ -85,11 +86,11 @@ typedef struct { 23 int redraw; 24 int respawn; 25 int status; 26+ int ticks; 27 28 ALLEGRO_DISPLAY * display; 29 ALLEGRO_EVENT_QUEUE * events; 30- ALLEGRO_TIMER * gfx_timer; 31- ALLEGRO_TIMER * logic_timer; 32+ ALLEGRO_TIMER * timer; 33 GAME_BOARD * game_board; 34 GAME_PIECE * current_piece; 35 LINKED_LIST * pieces; 36@@ -213,16 +214,13 @@ int main(int argc, char * argv[]) 37 goto exit; 38 } 39 40- al_start_timer(S.gfx_timer); 41- al_start_timer(S.logic_timer); 42+ al_start_timer(S.timer); 43 44 while(!S.quit) { 45 ALLEGRO_EVENT ev; 46 47 al_wait_for_event(S.events, &ev); 48 49- ALLEGRO_TIMER * source = NULL; 50- 51 switch(ev.type) 52 { 53 case ALLEGRO_EVENT_DISPLAY_CLOSE: 54@@ -249,16 +247,12 @@ int main(int argc, char * argv[]) 55 } 56 break; 57 case ALLEGRO_EVENT_TIMER: 58- source = ev.timer.source; 59+ process_logic(&S); 60 61- if(source == S.gfx_timer && S.redraw) { 62- S.redraw = 0; 63+ if(S.redraw) { 64 render_graphics(&S); 65- } else if(source == S.logic_timer) { 66- process_logic(&S); 67- 68- S.redraw = 1; 69 } 70+ 71 break; 72 } 73 } 74@@ -498,8 +492,7 @@ static int deinitialize(GAME_STATE * S) 75 ALLEGRO_BITMAP ** sprite = NULL; 76 ALLEGRO_DISPLAY ** display = &S->display; 77 ALLEGRO_EVENT_QUEUE ** events = &S->events; 78- ALLEGRO_TIMER ** gfx_timer = &S->gfx_timer; 79- ALLEGRO_TIMER ** logic_timer = &S->logic_timer; 80+ ALLEGRO_TIMER ** timer = &S->timer; 81 GAME_BOARD ** game_board = &S->game_board; 82 LINKED_LIST ** pieces = &S->pieces; 83 84@@ -520,14 +513,9 @@ static int deinitialize(GAME_STATE * S) 85 *events = NULL; 86 } 87 88- if(*gfx_timer) { 89- al_destroy_timer(*gfx_timer); 90- *gfx_timer = NULL; 91- } 92- 93- if(*logic_timer) { 94- al_destroy_timer(*logic_timer); 95- *logic_timer = NULL; 96+ if(*timer) { 97+ al_destroy_timer(*timer); 98+ *timer = NULL; 99 } 100 101 if(*display) { 102@@ -697,8 +685,7 @@ static int initialize(GAME_STATE * S) 103 ALLEGRO_BITMAP ** sprite = NULL; 104 ALLEGRO_DISPLAY ** display = &S->display; 105 ALLEGRO_EVENT_QUEUE ** events = &S->events; 106- ALLEGRO_TIMER ** gfx_timer = &S->gfx_timer; 107- ALLEGRO_TIMER ** logic_timer = &S->logic_timer; 108+ ALLEGRO_TIMER ** timer = &S->timer; 109 110 if(!al_init()) { 111 return 1; 112@@ -714,18 +701,12 @@ static int initialize(GAME_STATE * S) 113 return 3; 114 } 115 116- *gfx_timer = al_create_timer(1.0/GFX_FPS); 117+ *timer = al_create_timer(1.0/GFX_FPS); 118 119- if(*gfx_timer == NULL) { 120+ if(*timer == NULL) { 121 return 4; 122 } 123 124- *logic_timer = al_create_timer(1.0/LOGIC_FPS); 125- 126- if(*logic_timer == NULL) { 127- return 5; 128- } 129- 130 *events = al_create_event_queue(); 131 132 if(*events == NULL) { 133@@ -734,8 +715,7 @@ static int initialize(GAME_STATE * S) 134 135 al_register_event_source(*events, al_get_display_event_source(*display)); 136 al_register_event_source(*events, al_get_keyboard_event_source()); 137- al_register_event_source(*events, al_get_timer_event_source(*gfx_timer)); 138- al_register_event_source(*events, al_get_timer_event_source(*logic_timer)); 139+ al_register_event_source(*events, al_get_timer_event_source(*timer)); 140 141 if(!al_init_primitives_addon()) { 142 return 7; 143@@ -920,6 +900,8 @@ static void print_frame_diagnostics(GAME_STATE * S) { 144 } 145 146 static int process_logic(GAME_STATE * S) { 147+ S->ticks++; 148+ 149 apply_input(S, VERTICAL); 150 apply_gravity(S); 151 apply_movements(S); 152@@ -940,10 +922,15 @@ static int process_logic(GAME_STATE * S) { 153 // Reset movement for next frame. 154 reset_movement(S); 155 156+ if((S->ticks / TICKS_PER_SECOND) % GFX_FPS == 0) { 157+ S->redraw = 1; 158+ } 159+ 160 return 1; 161 } 162 163 static void render_graphics(GAME_STATE * S) { 164+ S->redraw = 0; 165 al_set_target_bitmap(al_get_backbuffer(S->display)); 166 al_clear_to_color(white); 167 al_draw_bitmap(S->game_board->sprite, 0, 0, 0); 168-- 1692.13.0.311.g0339965

I suspect the bug isn't necessarily in the patch itself, but the patch just happened to uncover it...

amarillion

The game just froze while the green block was dropping? Or is that not it?

bamccaig

No, if you pay attention to the console behind you can see that the game is still running. The piece appeared to have mysteriously triggered the collision detection and stopped moving. I appear to have some pretty serious memory corruption bugs going on here. Now it's to a state where the program runs to the point of building up a full tower all the way to the top where the collision is detected at "spawn", but then the program crashes in malloc(). I thought for sure valgrind would find the issue, but it doesn't appear to. So I'm at a bit of a loss.

Onewing

I wrote up my own little fun piece on my blog.

I signed up on gamedev and gave you an up vote on your announcement. We need more here to do that I believe if it's going to have any weight.

Specter Phoenix

Unless they changed their system, the up vote only gives the user a few points toward their reputation. Without replies the post just gets pushed down the page by new ones.

Onewing

I wanted to reply and say I was attending, but didn't see the option too. Maybe I need more reputation before I can reply?

Specter Phoenix

Hmm...I thought the restriction for new members was just for creating announcements and wasn't aware it applied to replying to the announcement threads too. It is interesting, it appears I joined A.cc a month before I joined GD.Net, never paid attention til now.

Back to Allegro, are there any decent A5 tutorials to help me ease into Allegro programming again? I've not really touched Allegro since 4.3 or earlier. Last version I actually used to make anything serious with was all the way back in Allegro 3.9.* WIP.

Edgar Reynaldo

If you want to get started with an OOBE, I suggest you use MinGW-W64 GCC and Allegro 5.2.2+ provided by mois. I also provide Allegro 4.4.3 if you're interested.

https://www.allegro.cc/forums/thread/616935

Then run through the tutorials for allegro on the wiki here :

http://liballeg.org/a5docs/trunk/getting_started.html

https://wiki.allegro.cc/index.php?title=Allegro_5_API_Tutorials

I replied to the gamedev thread by the way.

Specter Phoenix

I already have MinGW-W64 7.1 installed and your 5.2.2 binaries.
{"name":"611071","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/9\/5\/95e59e02d3ee6929e77bc018e4880002.png","w":877,"h":749,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/9\/5\/95e59e02d3ee6929e77bc018e4880002"}611071
Just wasn't sure if those tutorials were still valid or if aspects of the API had changed any since they were put on the wiki.

Edgar Reynaldo

A bunch of wiki pages got wiped out. Tomasu is looking into it.

As to using my binaries, make sure you're using the same version of MinGW as they were compiled with, like the one linked in that thread I linked.

Onewing

I still don't have an option to post a reply to the Game Dev thread. :(

I shared the TINS site on our developer (30-ish developers) slack channel at work. One guy is interested, but we'll see.

How else can we encourage more people to join? I didn't see us on the schedule here: https://itch.io/jams

amarillion

AFAICT The itch.io schedule is only for jams hosted on the itch.io platform. We did get added to the calendar here: http://www.indiegamejams.com/

Anyway, thanks to everybody who helped out with the promotion!

Specter Phoenix

Yeah.
https://itch.io/docs/creators/game-jams
Though, it seems to be a popular platform. I joined it a few months back when I noticed a lot of indies made use of it.

Neil Black

I convinced me to register for TINS. That counts as promotion right?

About a week now to figure out Allegro 5. It's fine, this is fine.

amarillion

Welcome!
No better time to learn :)

Neil Black

I will try. I might end up doing most of my learning by looking at the source code of other entries.

Edgar Reynaldo
Mark Oates

Ok, I signed up. Hopefully, I can game game it up!! 8-)8-)

How many people do we have competing?

Onewing

We're up to 16!

Elias

In binary we are up to 10000!

[edit:]

So what's everyone's shopping list for TINS? There is obviously no time to go to the store or cook so my plan is to get a large amount of caffeinated drinks and a lot of snacks to survive on exclusively over the weekend.

At least that was the original plan which included my wife spending the weekend at her parents' place - now she got strep-throat and will probably stay home. I'm also worried I'll get sick as well (I usually get whatever she gets with a 2-3 days delay) which would suck a lot since it probably would mean I'd have to miss out on this TINS :(

Gassa

I saw the list of Allegro languages linked in TINS rules. The list contains rather outdated information on D bindings (some allegro 4 bindings). I tried to edit in the current version by SiegeLord. But after registration, email confirmation and editing, the wiki thinks I am an abuser by the rule "phone number". No idea what that even means, nothing on the page - let alone my one-line edit - looks like a phone number.

Not exactly encouraging. Can something be done about this, on Wiki side, TINS rules side, or otherwise?

Thomas Fjellstrom

I'll look into the error. My awesome regex skills may be too awesome for mediawiki.

Neil Black

I've been working through the tutorials, but any time I call al_draw_bitmap() the program crashes. I'm not sure why. Might go start a thread in Programming Questions about it.

amarillion

Gassa, it would be good to get that page updated, but it doesn't affect TINS - that list is just an illustration. Any language binding that works for you is allowed.

Gassa

Thomas, I'm looking forward to that.

Martijn, thank you for the clarification.

I'm off to make some sense of the "silly morphing dancing doctor on Youtube" rule set.

Edit: And, sorry, I'm out this time. Turned out to be much stuff going on for me locally this weekend. Kudos to those who will make it (4 entries already)!

bamccaig

Regarding the comment in the email about the competition being so small this year, I wonder if efforts should be made next year to contact past participants that are no longer active in the Allegro community. Maybe they'd come back for a special occasion to participate, and it might help get the numbers up. Sort of like a reunion. I'm not sure how to contact them though. Might have to rely on individuals having external contact info and spreading the news to peers. Just a thought..

Thread #617059. Printed from Allegro.cc