<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Angry Moth</title>
		<link>http://www.allegro.cc/forums/view/607223</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Wed, 18 May 2011 19:31:23 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The Depot entry hasn&#39;t been approved yet, but I recently put a demo of my new game Angry Moth up on sourceforge. </p><p>Basically it&#39;s a 2D tribute to space battle games like Freespace 2 and Squadron. <br /><a href="http://www.youtube.com/watch?v=VibgHnbA-1Y">Video here:</a></p><p><a href="http://sourceforge.net/projects/angrymoth/files/">Files are here (Windows binary and source).</a></p><p>And a screenshot:<br /><span class="remote-thumbnail"><span class="json">{"name":"AMdemo1.png","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/7\/e\/7e2e6b4b0c884a9f13895398f37c7ae5.png","w":400,"h":300,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/7\/e\/7e2e6b4b0c884a9f13895398f37c7ae5"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/7/e/7e2e6b4b0c884a9f13895398f37c7ae5-240.jpg" alt="AMdemo1.png" width="240" height="180" /></span></p><p>It should be reasonably easy to work out what&#39;s going on, but here are a few hints:<br />- use slide a lot!<br />- support your fleet. You need each other<br />- generally, shields go down when their energy is reduced to zero and come back up when it&#39;s recharged to about 1/4 to 1/3<br />- the targetting display down the bottom left indicates which part of a warship has the shield generator<br />- don&#39;t forget to use the command button to tell your little squadron (of two) what to do. You can get them to attack your target, cover you (the default), form up or go back and defend the fleet<br />- hold the targetting key/button for a second to switch from manual targetting to automatic and back again</p><p>And some known issues:<br />- no music yet<br />- the sound in general is not so great<br />- the &quot;mission data&quot; menu option doesn&#39;t do anything<br />- sometimes fighters fly off into the distance if there&#39;s nothing for them to do (this is fixable but fixing it properly will require a bit of work)<br />- there is theoretical support for dual-stick analogue controllers (with the second stick controlling slide), but I understand that Allegro has some issues with the only one I&#39;ve tested this on (an Xbox 360 controller). It does work as an ordinary single-stick controller, though. I suggest mapping slide to the bumpers, using the &quot;set controls&quot; thing in the game</p><p>Let me know what you think!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Linley Henzell)</author>
		<pubDate>Thu, 05 May 2011 02:36:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I gave it a brief try, and it was very hard. I used the &#39;formation&#39; command, but the fleet didn&#39;t really seem to follow me.</p><p>I&#39;ll try it some more tomorrow.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Thu, 05 May 2011 15:53:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I also tried, I&#39;m not a big fan of this genre... But! I don&#39;t see anything wrong with this game in its current state. I didn&#39;t really screw around with your friendly AI system. So I don&#39;t have a comment on that. Just keep up the good work, with more content it will be very addictive.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jason perkins)</author>
		<pubDate>Thu, 05 May 2011 16:26:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><i>I used the &#39;formation&#39; command, but the fleet didn&#39;t really seem to follow me.</i></p><p>Sorry, I probably could have explained that better - the command function only affects the two fighters you have following you around. The fleet has its own ideas about where to go.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Linley Henzell)</author>
		<pubDate>Thu, 05 May 2011 17:44:33 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>This is extremely cool. On my 4th game I managed to beat mission 1, (50% casualties), it&#39;s when I &quot;got&quot; how to use weapons: Against fighters: lasers and launch a targetting missile as soon as your target is going straight &quot;up&quot; or &quot;down&quot;, don&#39;t necessarily insist against the same target. Against warships: keep your distance, one targetted missile, and hold fire3 to spam dumb rockets while it reloads.</p><p>I admire how you&#39;ve managed to make a balance: fast ships don&#39;t fear so much a big ship as they can flee and regenerate, so the player&#39;s ship has a real advantage in chasing the small bombers before they damage the fleet.<br />I also discovered very fast that when your warships are close to the enemies, it&#39;s better to attack from a different side: either they shoot the fleet so you&#39;re safe, or they shoot at you and this draws A LOT of fire away from your group, and it&#39;s up to you to retreat when the shields are low.<br />The multiple &quot;maps&quot; / &quot;sensors&quot; are intuitive, they remove the need for a separate map screen.<br />The visuals are very nice, with an attention to details.<br />If I have a critic, it&#39;s about the number of controls (keys). I think I&#39;m going to try a different setup: For the right hand only up down left right + targetting and command, for the left hand the strafe keys and fire keys.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Audric)</author>
		<pubDate>Fri, 06 May 2011 00:27:09 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Compiled from source on Linux + Allegro 4.2:
</p><ul><li><p>the package contains ebullet.c which doesn&#39;t seem to be used
</p></li><li><p>it crashes on non-debug versions upon starting the main gameplay</p></li></ul><p>Otherwise it works. No comments on the game itself, as I didn&#39;t actually play it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Fri, 06 May 2011 08:23:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Some further notes:<br />I forgot to mention that the &quot;sidekicks&quot;, in cover mode, are very good. They don&#39;t stay long in harm&#39;s way and quickly catch up when you retreat, they seem to team together against the fighter that you&#39;re targetting, and I saw them do &quot;hit-and-fade&quot; attacks against the warship I was targetting.<br />About the &quot;command&quot; key: I guess it requires practice to memorize which key runs each command. Maybe it would be easier to learn if the command menu was a cross that appears while you hold the command key : you push a direction and release command key to select a command.
</p><div class="source-code snippet"><div class="inner"><pre>   attack my target
           <span class="k3">|</span>
cover <span class="k3">-</span><span class="k3">-</span> cancel <span class="k3">-</span><span class="k3">-</span> ?
           <span class="k3">|</span>
    go defend convoy
</pre></div></div><p>
I&#39;m eager to play more missions, even though the 2nd is still too hard for me <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /><br />This really brings back memories of Wing Commander (I didn&#39;t play a lot, but I found it amazing) I hope you plan to make some missions where the player can pilot a bomber ship, too slow to chase fighters (so requires his escort) and fires super-slow missile that can wipe a small warship in one shot. The generic 3-weapons system has a lot of potential, from player-aimed projectiles to auto-targetting turret like the warships, &quot;melee&quot; phasers, temporary shields (extra bonus if it&#39;s large enough to protect a nearby friend), temporary boosts (speed, rate of fire), deployable stuff (prox mines, ship carrier <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> )<br />So far the two missions are races against time (need to do enough damage before the fleets engage), with more types of game situations this can really shine.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Audric)</author>
		<pubDate>Fri, 06 May 2011 14:01:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks for the comments so far!</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607223/916387#target">Audric</a> said:</div><div class="quote"><p>I also discovered very fast that when your warships are close to the enemies, it&#39;s better to attack from a different side: either they shoot the fleet so you&#39;re safe, or they shoot at you and this draws A LOT of fire away from your group, and it&#39;s up to you to retreat when the shields are low.</p></div></div><p>

Absolutely. Getting them to fire their small guns at you also draws energy from their main guns and shields (I probably should have written a readme with things like this in it).</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607223/916480#target">Matthew Leverton</a> said:</div><div class="quote"><p>Compiled from source on Linux + Allegro 4.2:</p><p>    * the package contains ebullet.c which doesn&#39;t seem to be used<br />    * it crashes on non-debug versions upon starting the main gameplay</p></div></div><p>

You&#39;re right, ebullet is unnecessary. I knew I&#39;d forget to take something out. It&#39;s probably just the old Hellspider file.</p><p>As for the crashing: damn. Unfortunately I don&#39;t have access to a Linux machine to try to track down the cause as it doesn&#39;t happen in Windows. Hopefully this issue will show up in my dev environment sometime so I can find it and eliminate it.</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607223/916508#target">Audric</a> said:</div><div class="quote"><p>About the &quot;command&quot; key: I guess it requires practice to memorize which key runs each command. Maybe it would be easier to learn if the command menu was a cross that appears while you hold the command key : you push a direction and release command key to select a command.</p></div></div><p>

I considered that, but wanted to avoid using the directional controls so that you can keep moving while issuing a command. I agree that six movement keys, three fire keys and two others is too many, but I can&#39;t work out a way to reduce the number without dropping features or requiring awkward multi-key combination commands.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>I hope you plan to make some missions where the player can pilot a bomber ship, too slow to chase fighters (so requires his escort) and fires super-slow missile that can wipe a small warship in one shot.</p></div></div><p>

I&#39;m still thinking about this - whether you&#39;ll fly the Angry Moth the whole game, or sometimes get to use something else. Hm.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Linley Henzell)</author>
		<pubDate>Fri, 06 May 2011 17:33:29 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Fail - All Warships Lost X 2. I think I&#39;m getting better, but I&#39;m not good enough yet.</p><p>Re - Linux<br />Maybe tomorrow I&#39;ll see if I can get AngryMoth compiled on OpenSUSE 11.3 and see if it crashes / debug it for you. Is Allegro 4 the only library you used for it?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Fri, 06 May 2011 18:18:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Debugging help would be great, thanks!</p><p><i>Is Allegro 4 the only library you used for it?</i></p><p>Yep, just Allegro.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Linley Henzell)</author>
		<pubDate>Fri, 06 May 2011 19:18:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m only tossing ideas with enthusiasm <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> It&#39;s the easy part, I know. Ariesnl had started a similar project, I was sad to see that it stalled.<br />I expect that missions take a lot of time to design (the briefings! the contextual radio messages and scripted events!), so it&#39;s really up to you to define how generic/ambitious you want the engine.<br />In any case, you&#39;re making it open-source, so everybody wins.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Audric)</author>
		<pubDate>Fri, 06 May 2011 19:27:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I really like your games. This one seems very complex yet it&#39;s <s>relatively</s> easy to play (I have yet to get used to the slide controls).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kenmasters1976)</author>
		<pubDate>Fri, 06 May 2011 21:34:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607223/916544#target">Linley Henzell</a> said:</div><div class="quote"><p>
Debugging help would be great, thanks!
</p></div></div><p>

I&#39;m thinking I got more than I bargained for.</p><p>First, there&#39;s no &quot;pbullet.h&quot; to include from the file &quot;ebullet.c&quot;. I guessed and changed it to &quot;ebullet.h&quot; but then there were a ton of errors, so I skipped compilation of &quot;ebullet.c&quot;.</p><p>Second, you used the &#39;itoa&#39; function in input.c without including &lt;stdlib.h&gt;, so I included it, but guess what - my version of gcc must not have itoa anymore. It was deprecated anyway, so there&#39;s a looming &#39;implicit declaration of itoa&#39; that is bound to crash if I finish compiling it. Nix that - I substituted sprintf for itoa and #included &lt;stdio.h&gt; in input.c. After that it finished compiling.</p><p>Third, there&#39;s a truckload of warnings left over that I&#39;m not going to mess with. Some are about unused variables, but there are lots of warnings about possibly using uninitialized variables you might want to check out :
</p><pre class="terminal scroll">
-------------- Clean: Release in AngryMoth ---------------

Cleaned &quot;AngryMoth - Release&quot;

-------------- Build: Release in AngryMoth ---------------

Compiling: briefing.c
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/briefing.c: In function ‘report_text’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/briefing.c:2585:6: warning: unused variable ‘dest_rank’
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/briefing.c:2583:6: warning: unused variable ‘elost’
Compiling: bullet.c
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/bullet.c: In function ‘bullet_explodes’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/bullet.c:1002:22: warning: unused variable ‘speed’
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/bullet.c:1003:6: warning: ‘target_x’ may be used uninitialized in this function
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/bullet.c:1003:16: warning: ‘target_y’ may be used uninitialized in this function
Compiling: cloud.c
Compiling: display.c
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/display.c: In function ‘draw_convoys’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/display.c:697:9: warning: unused variable ‘j’
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/display.c: In function ‘draw_final_details’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/display.c:1852:15: warning: unused variable ‘col’
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/display.c: In function ‘draw_HUD’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/display.c:2105:20: warning: ‘select_y’ may be used uninitialized in this function
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/display.c: In function ‘draw_pshield_circle’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/display.c:4918:14: warning: ‘d’ may be used uninitialized in this function
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/display.c: In function ‘draw_bullets’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/display.c:3368:49: warning: ‘x3’ may be used uninitialized in this function
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/display.c:3368:53: warning: ‘y3’ may be used uninitialized in this function
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/display.c: In function ‘draw_a_ship’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/display.c:803:8: warning: ‘angle_draw’ may be used uninitialized in this function
Compiling: display_init.c
Compiling: eclass.c
Compiling: game.c
Compiling: input.c
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/input.c: In function ‘get_input’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/input.c:79:7: warning: unused variable ‘istr’
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/input.c: In function ‘run_player_secondary’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/input.c:1408:9: warning: unused variable ‘i’
Compiling: level.c
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/level.c: In function ‘setup_player_wing’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/level.c:2664:6: warning: ‘angle’ may be used uninitialized in this function
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/level.c:2664:13: warning: ‘dist’ may be used uninitialized in this function
Compiling: main.c
Compiling: menu.c
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/menu.c: In function ‘menu_command’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/menu.c:620:7: warning: unused variable ‘p’
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/menu.c: In function ‘player_joystick_input’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/menu.c:702:6: warning: unused variable ‘j’
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/menu.c: In function ‘run_controls_setting’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/menu.c:1051:7: warning: unused variable ‘button’
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/menu.c:1050:8: warning: ‘inputted’ may be used uninitialized in this function
Compiling: message.c
Compiling: palette.c
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/palette.c: In function ‘blend_function’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/palette.c:460:9: warning: ‘output’ may be used uninitialized in this function
Compiling: ship.c
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c: In function ‘carrier_launches’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c:278:10: warning: unused variable ‘e3’
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c: In function ‘ship_explodes’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c:3965:6: warning: unused variable ‘y’
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c:3964:6: warning: unused variable ‘x’
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c: In function ‘wship_starts_breaking_up’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c:4070:6: warning: unused variable ‘y’
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c:4069:6: warning: unused variable ‘x’
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c:4068:6: warning: unused variable ‘c’
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c: In function ‘jump_clouds’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c:4415:9: warning: unused variable ‘i’
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c: In function ‘destroy_ship’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c:5008:13: warning: unused variable ‘tar’
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c: In function ‘turret_find_target’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c:2234:13: warning: ‘actual_dist_fighter’ may be used uninitialized in this function
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c:2234:34: warning: ‘actual_dist_wship’ may be used uninitialized in this function
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c: In function ‘wship_part_explodes’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c:4571:9: warning: ‘x’ may be used uninitialized in this function
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c:4571:12: warning: ‘y’ may be used uninitialized in this function
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c: In function ‘run_ships’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/ship.c:346:6: warning: ‘target_dist’ may be used uninitialized in this function
Compiling: sound.c
Compiling: stuff.c
Compiling: text.c
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/text.c: In function ‘generate_message’:
/home/edgar/ctwoplus/progcode/allegro/AM_demo_Source/text.c:46:6: warning: unused variable ‘i’
Linking console executable: AngryMoth
Output size is 681.49 KB
Process terminated with status 0 (0 minutes, 26 seconds)
0 errors, 35 warnings (0 minutes, 26 seconds)
 </pre><p>
Fourth, and I have no idea why this is happening - it compiled and ran - but when it finished loading, the up and right keys were stuck down and it kept scrolling through the menu changing settings. If I held down the down key it stopped moving up, but kept cycling through the option. If I held down the down and left keys then it stopped cycling and scrolling. It sucks, but the game is unplayable for me due to this bug. It&#39;s possible that it is because I am running OpenSUSE through a VirtualBox VM, but the up and right keys aren&#39;t stuck anywhere else in the OS, so I still have absolutely no idea why this is happening. It happens in both Debug and Release mode.</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607223/916559#target">kenmasters1976</a> said:</div><div class="quote"><p>
I have yet to get used to the slide controls
</p></div></div><p>
I set my controls for sliding left and right to A and S, cannons to L Shift, Fire 1 and 2 to Z and X, command to C, and target to space, along with Up, Down, Left, and Right to move. It feels pretty natural and you can use one finger on the left hand to slide and two others to fire.</p><p>And in other news, I finally finished Stage 1. Yay for me!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Fri, 06 May 2011 21:44:29 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607223/916560#target">Edgar Reynaldo</a> said:</div><div class="quote"><p> It&#39;s possible that it is because I am running OpenSUSE through a VirtualBox VM
</p></div></div><p>That&#39;s probably the problem. Allegro doesn&#39;t work well under a VM.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p> First, there&#39;s no &quot;pbullet.h&quot; to include from the file &quot;ebullet.c&quot;. I guessed and changed it to &quot;ebullet.h&quot; but then there were a ton of errors, so I skipped compilation of &quot;ebullet.c&quot;.
</p></div></div><p>Should have read my post. <img src="http://www.allegro.cc/forums/smileys/cool.gif" alt="8-)" /></p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p> Second, you used the &#39;itoa&#39; function in input.c without including &lt;stdlib.h&gt;, so I included it, but guess what - my version of gcc must not have itoa anymore.
</p></div></div><p>Yes, I forgot to mention that. Use <span class="source-code"><a href="http://www.delorie.com/djgpp/doc/libc/libc_732.html" target="_blank">snprintf</a></span> when not on Windows, at least. (Windows uses <span class="source-code">_snprintf</span>, so either way you&#39;ll probably need to use some <span class="source-code"><span class="p">#define</span></span>s.)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Fri, 06 May 2011 22:33:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I did read your post, but I thought I&#39;d try to compile it anyway. You know, <span class="cuss"><span><span class="cuss"><span>shit</span></span></span></span>s and giggles. <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /></p><p>Why should I use snprintf when I know an integer can&#39;t possibly be longer than 10 characters and I use a buffer more than large enough to handle it with sprintf? <img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Fri, 06 May 2011 22:47:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I have tried your game, it&#39;s pretty cool, I would prefer to see moving only the ship instead the whole world, though. But... To each his own <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (AMCerasoli)</author>
		<pubDate>Sat, 07 May 2011 01:30:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks Edgar for the control setup suggestion. It definitely feels easier to control with both hands (although some shmup addicts might find the one-hand setup easier).</p><p>I finished mission 1 but lost some ships. I wonder if it&#39;s possible to beat it with no ships lost. Anyway, on to mission 2.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kenmasters1976)</author>
		<pubDate>Sat, 07 May 2011 03:07:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607223/916573#target">Edgar Reynaldo</a> said:</div><div class="quote"><p>Why should I use snprintf when I know an integer can&#39;t possibly be longer than 10 characters and I use a buffer more than large enough to handle it with sprintf?</p></div></div><p>

L O L what about 64bit?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (m c)</author>
		<pubDate>Sat, 07 May 2011 07:23:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Compiles OK on mingw-gcc 4.4.1 and the Allegro 4.2.3 package from a.cc, but only if I link statically (alleg_s).<br />For reasons that I don&#39;t understand, and apparently unrelated to the code, with alleg I had unsolvable errors.
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span>gcc.exe briefing.o bullet.o cloud.o display.o display_init.o eclass.o game.o <a href="http://www.delorie.com/djgpp/doc/libc/libc_472.html" target="_blank">inp</a>
<span class="number">  2</span>ut.o level.o main.o menu.o message.o palette.o ship.o sound.o stuff.o text.o  <span class="k3">-</span>o
<span class="number">  3</span> <span class="s">"AngryMoth.exe"</span> <span class="k3">-</span>W <span class="k3">-</span>Wall <span class="k3">-</span>mwindows <span class="k3">-</span>lalleg <span class="k3">-</span>ldsound <span class="k3">-</span>lwinmm <span class="k3">-</span>lgdi32 <span class="k3">-</span>lcomdlg32
<span class="number">  4</span><span class="k3">-</span>ldinput <span class="k3">-</span>lole32 <span class="k3">-</span>lddraw <span class="k3">-</span>ldxguid
<span class="number">  5</span>Info: resolving _key by linking to __imp__key <span class="k2">(</span>auto-import<span class="k2">)</span>
<span class="number">  6</span>Info: resolving _screen by linking to __imp__screen <span class="k2">(</span>auto-import<span class="k2">)</span>
<span class="number">  7</span>Info: resolving _joy by linking to __imp__joy <span class="k2">(</span>auto-import<span class="k2">)</span>
<span class="number">  8</span>Info: resolving _color_map by linking to __imp__color_map <span class="k2">(</span>auto-import<span class="k2">)</span>
<span class="number">  9</span>Info: resolving _font by linking to __imp__font <span class="k2">(</span>auto-import<span class="k2">)</span>
<span class="number"> 10</span>Info: resolving _allegro_error by linking to __imp__allegro_error <span class="k2">(</span>auto-import<span class="k2">)</span>
<span class="number"> 11</span>Info: resolving _num_joysticks by linking to __imp__num_joysticks <span class="k2">(</span>auto-import<span class="k2">)</span>
<span class="number"> 12</span>Info: resolving _three_finger_flag by linking to __imp__three_finger_flag <span class="k2">(</span>auto-import<span class="k2">)</span>
<span class="number"> 13</span>Info: resolving _key_led_flag by linking to __imp__key_led_flag <span class="k2">(</span>auto-import<span class="k2">)</span>
<span class="number"> 14</span>c:<span class="k3">/</span>msys<span class="k3">/</span>mingw<span class="k3">/</span>bin<span class="k3">/</span>..<span class="k3">/</span>lib<span class="k3">/</span>gcc<span class="k3">/</span>mingw32<span class="k3">/</span><span class="n">4</span>.<span class="n">4</span>.<span class="n">1</span><span class="k3">/</span>..<span class="k3">/</span>..<span class="k3">/</span>..<span class="k3">/</span>..<span class="k3">/</span>mingw32<span class="k3">/</span>bin<span class="k3">/</span>ld.exe: warning: auto-importing has been activated without <span class="k3">-</span><span class="k3">-</span>enable-auto-import specified on the command line.
<span class="number"> 15</span>This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.
<span class="number"> 16</span>fu000001.o:<span class="k2">(</span>.idata$<span class="n">2</span><span class="k3">+</span><span class="n">0xc</span><span class="k2">)</span><span class="k2">:</span> undefined reference to `lib_mingw32_liballeg_a_iname<span class="s">'</span>
<span class="number"> 17</span><span class="s"></span>
<span class="number"> 18</span><span class="s">fu000004.o:(.idata$2+0xc): undefined reference to `lib_mingw32_liballeg_a_iname'</span>
<span class="number"> 19</span>
<span class="number"> 20</span>fu000005.o:<span class="k2">(</span>.idata$<span class="n">2</span><span class="k3">+</span><span class="n">0xc</span><span class="k2">)</span><span class="k2">:</span> undefined reference to `lib_mingw32_liballeg_a_iname<span class="s">'</span>
<span class="number"> 21</span><span class="s"></span>
<span class="number"> 22</span><span class="s">fu000006.o:(.idata$2+0xc): undefined reference to `lib_mingw32_liballeg_a_iname'</span>
<span class="number"> 23</span>
<span class="number"> 24</span>fu000007.o:<span class="k2">(</span>.idata$<span class="n">2</span><span class="k3">+</span><span class="n">0xc</span><span class="k2">)</span><span class="k2">:</span> undefined reference to `lib_mingw32_liballeg_a_iname<span class="s">'</span>
<span class="number"> 25</span><span class="s"></span>
<span class="number"> 26</span><span class="s">fu000008.o:(.idata$2+0xc): more undefined references to `lib_mingw32_liballeg_a_iname'</span> follow
<span class="number"> 27</span>nmth000000.o:<span class="k2">(</span>.idata$<span class="n">4</span><span class="k3">+</span><span class="n">0x0</span><span class="k2">)</span><span class="k2">:</span> undefined reference to `_nm__key<span class="s">'</span>
<span class="number"> 28</span><span class="s">nmth000088.o:(.idata$4+0x0): undefined reference to `_nm__screen'</span>
<span class="number"> 29</span>nmth000121.o:<span class="k2">(</span>.idata$<span class="n">4</span><span class="k3">+</span><span class="n">0x0</span><span class="k2">)</span><span class="k2">:</span> undefined reference to `_nm__joy<span class="s">'</span>
<span class="number"> 30</span><span class="s">nmth000252.o:(.idata$4+0x0): undefined reference to `_nm__color_map'</span>
<span class="number"> 31</span>nmth000256.o:<span class="k2">(</span>.idata$<span class="n">4</span><span class="k3">+</span><span class="n">0x0</span><span class="k2">)</span><span class="k2">:</span> undefined reference to `_nm__font<span class="s">'</span>
<span class="number"> 32</span><span class="s">nmth000260.o:(.idata$4+0x0): undefined reference to `_nm__allegro_error'</span>
<span class="number"> 33</span>nmth000266.o:<span class="k2">(</span>.idata$<span class="n">4</span><span class="k3">+</span><span class="n">0x0</span><span class="k2">)</span><span class="k2">:</span> undefined reference to `_nm__num_joysticks<span class="s">'</span>
<span class="number"> 34</span><span class="s">nmth000269.o:(.idata$4+0x0): undefined reference to `_nm__three_finger_flag'</span>
<span class="number"> 35</span>nmth000271.o:<span class="k2">(</span>.idata$<span class="n">4</span><span class="k3">+</span><span class="n">0x0</span><span class="k2">)</span><span class="k2">:</span> undefined reference to `_nm__key_led_flag<span class="s">'</span>
</div></div><p>

Mission 2 complete <img src="http://www.allegro.cc/forums/smileys/cool.gif" alt="8-)" /> I mostly hunted all fighters, attacking small warships only when the fleet was in contact with several of them and no fighter in sight. When the dust settled, I saw that group A had been wiped and group B was unharmed, the target base (which I hadn&#39;t even seen) destroyed.</p><p>About the code, -W and -Wall spit a lot of warnings. When it&#39;s about unused parameters or variables it&#39;s certainly harmless: only reminders of unfinished stuff. The &quot;missing initializer&quot;s have no consequences when the arrays are global, because the C standard guarantees initializations to zero on all platforms. But these two types cause a lot of &quot;noise&quot; that make it difficult to see important warnings.</p><p>By the way, you can avoid a lot of &quot;extern&quot; redundancies by using the following technique:
</p><div class="source-code snippet"><div class="inner"><pre><span class="c">// in display_init.h</span>
<span class="k1">extern</span> <a href="http://www.allegro.cc/manual/FONT"><span class="a">FONT</span></a><span class="k3">*</span> small_font<span class="k2">;</span>

<span class="c">// in display_init.c</span>
<span class="p">#include "display_init.h" // This will make compiler catch mismatching definitions/declarations</span>
<a href="http://www.allegro.cc/manual/FONT"><span class="a">FONT</span></a><span class="k3">*</span> small_font<span class="k2">;</span>

<span class="c">// in .C that need it</span>
<span class="p">#include "display_init.h" </span>
</pre></div></div><p>

<b>edit:</b><br />I can&#39;t believe I hadn&#39;t seen the other weapons!! (menu &quot;mission data&quot; after briefing) Torpedo seems promising even if it&#39;s very hard to aim. Single rockets seems always slightly worse than the default anti-ship missile. Charged rockets are my kind of shotgun <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> Heavy cannon seems useless for chasing fighters, so it has to compare with the missiles against warships. Tracking cannon didn&#39;t seem to track, but the scatter can be useful when chasing fighters.</p><p>The two demo mission require hunting fast ships, and I find the default weapons the most efficient. Even the anti-warship missiles do a lot of damage against fighters that run into them,
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Audric)</author>
		<pubDate>Sat, 07 May 2011 21:13:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607223/916560#target">Edgar Reynaldo</a> said:</div><div class="quote"><p>Third, there&#39;s a truckload of warnings left over that I&#39;m not going to mess with. Some are about unused variables, but there are lots of warnings about possibly using uninitialized variables you might want to check out :</p></div></div><p>

Thanks for testing this, and for the compiler output. I actually forgot about the uninitialised variable thing because my compiler (MingW) seems to automatically initialise them to zero unless certain optimisation options are turned on, and without those -Wall apparently doesn&#39;t give this warning. Next time I put the source up I&#39;ll get rid of all the warnings first.</p><p>My guess with the crash bug is that it&#39;s some kind of out-of-bounds array reference that in my dev environment ends up referring to something harmless. Stupid lazy Windows memory protection.</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607223/916731#target">Audric</a> said:</div><div class="quote"><p>Compiles OK on mingw-gcc 4.4.1 and the Allegro 4.2.3 package from a.cc, but only if I link statically (alleg_s).</p></div></div><p>

I&#39;ve only ever tried to link it statically. There&#39;s a &#39;#define ALLEGRO_STATICLINK&#39; (or similar) at the start of config.h that I guess may cause problems with non-static linking.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>By the way, you can avoid a lot of &quot;extern&quot; redundancies by using the following technique:</p></div></div><p>

Thanks, I will try that.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>Tracking cannon didn&#39;t seem to track</p></div></div><p>

Okay, this is my fault for not explaining anything <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />. Whenever you start pressing its fire button, the tracking cannon locks onto the closest enemy in front of you. You can tell which one because lines appear on either side of it. The cannon can only track things almost directly in front, though.</p><p>Thanks for the comments so far, everyone! (especially Audric and Edgar Reynaldo)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Linley Henzell)</author>
		<pubDate>Sun, 08 May 2011 04:02:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Compiling on Mac OS needed 2 fixes:<br />There&#39;s no itoa function so I needed to make my own.<br />In display.c line 2995, &#39;comstring&#39; is not big enough to contain &quot;Command: cover me&quot; so it overwrites memory and aborts. I changed the definition of comstring to <br />char comstring[20];</p><p>Pete
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Hull)</author>
		<pubDate>Sun, 08 May 2011 18:13:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607223/916820#target">Peter Hull</a> said:</div><div class="quote"><p> In display.c line 2995, &#39;comstring&#39; is not big enough to contain &quot;Command: cover me&quot; so it overwrites memory and aborts. 
</p></div></div><p>And this is why you should simply be in the habit of using <span class="source-code"><a href="http://www.delorie.com/djgpp/doc/libc/libc_732.html" target="_blank">snprintf</a></span> for all buffers, whether you technically need to (e.g., for integers) or not.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sun, 08 May 2011 22:42:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Further gameplay comments:<br />Torpedo angle is affected by the inertia of the player&#39;s ship when firing. This makes it very inaccurate because any strafing or sliding makes it drift to a side : In order to shoot straight, you must be totally stopped. It doesn&#39;t compare well with the anti-warship missiles that seem to do the same damage per second (50 vs 180, but they are like 3x faster) and allow you to dodge like crazy while requiring almost no aiming. Maybe it&#39;s because you mean the torpedo for bombing tactics (fly straight into target) but there&#39;s the delay before warhead arms, and I think I&#39;ve also seen torpedoes shot down by enemy cannons.</p><p>Charged rockets look efficient against a single warship protected by fighters, because you stay on the move and you reload while turning around.</p><p>The random element in missions is great for creating new situations, but it makes the difficulty very random. In mission 2 I played a game where I obliterated all fighters and bomber, but the enemy reinforcements, a group of like 6 warships, tailed the assault group B : it followed it one screen away; I had 1 minute to attack it (alone) but couldn&#39;t do much damage, as soon as group B stopped in contact of the enemy base,  this squad closed the distance and caught it in a perfect crossfire.<br />For scenarios that are complicated like 2, you may want to limit the placement randomness, or at least compute a starting position and speed that give a fixed &quot;time of arrival&quot; . Two groups that attack at 1 minute interval are a kind of threat, but if they attack at the same time it&#39;s 2x more dangerous.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Audric)</author>
		<pubDate>Mon, 09 May 2011 13:44:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>A string buffer overflow? Seriously?? I am so embarrassed. Thanks for tracking it down, Peter. I need to learn how to use these mysterious &quot;printf&quot; functions.</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607223/916899#target">Audric</a> said:</div><div class="quote"><p>Torpedo angle is affected by the inertia of the player&#39;s ship when firing.</p></div></div><p>

Sort of - like most bullet types it takes on the player&#39;s velocity plus some forward velocity once launched, but once its engine has started it only accelerates straight ahead, in the direction the Moth was facing when it was fired. It just doesn&#39;t accelerate very fast.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>Maybe it&#39;s because you mean the torpedo for bombing tactics (fly straight into target) but there&#39;s the delay before warhead arms</p></div></div><p>

That&#39;s right. The torpedo is supposed to be difficult and risky to use but very powerful, and the bombing tactics can be safer than hovering and firing AWS missiles if there are lots of fighters around. It may be that the torpedo is just not powerful enough to justify the difficulty and risk, though - this is all good feedback for balancing.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>and I think I&#39;ve also seen torpedoes shot down by enemy cannons.</p></div></div><p>

Sadly my collision detection routines aren&#39;t really up to handling something like this. Torpedos should only explode when they hit something or run out of fuel.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>For scenarios that are complicated like 2, you may want to limit the placement randomness, or at least compute a starting position and speed that give a fixed &quot;time of arrival&quot; . Two groups that attack at 1 minute interval are a kind of threat, but if they attack at the same time it&#39;s 2x more dangerous.</p></div></div><p>

Hm, mission 2 is actually not supposed to have random enemy placement. There is code in level.c for random placement but it&#39;s not used in mission 2 - mission 2 is the one that&#39;s known internally as (arena.stage == 3), for various stupid reasons. That assault group should behave the same way every time. The only real potential for variation comes in either when Alpha group is destroyed (which causes the warships that were attacking it to move in to guard the base) or when all carriers are disabled (which causes Alpha group to move in to attack the base). Plus of course all of the chaos with fighters and bombers flying around.</p><p>(this is all very useful feedback, by the way - thanks!)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Linley Henzell)</author>
		<pubDate>Mon, 09 May 2011 18:42:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Torpedo: Yes, they never nullify the initial momentum, so any amount of strafing has huge consequence over distance. Really not designed for long-range aiming, which contradicts a little the speed of one shot every 2 seconds. (too short to run into ship, turn around, run into ship...)<br />I&#39;d even prefer if the total shooting frequency was 2x slower, as it means I have to be very accurate 1 time every 4 seconds instead of 1 time every 2 seconds.</p><p>IMO, the 1-second buildup + 1-second cooldown mechanism would play better with an instant-hit weapon like the base&#39;s ray: you hit fire, and you know that in 1 second exactly, you must be facing a target; no matter your current momentum and distance. </p><p>As I mentioned (more or less clearly) the multi-rocket can already serve as a very nice series of bombs as you dive into a warship: it entices you to go straight ahead while they shoot one by one, but if a big blob of fire is fired agaisnt you , you can turn early and miss some shots, and while dodging and turning around you can can start reloading so it&#39;s not wasted time.</p><p>randomization: Ah my bad, I had read the source code for mission 1 and I had assumed the variations in mission 2 were due to the kind of random convoy placement or timing.</p><p>By the way I have never actually seen the &quot;carriers&quot;. There&#39;s a lot of chaos for the player and it&#39;s very &quot;busy&quot;, so I never could go sightseeing  <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /><br />It&#39;s extremely satisfying to get in the 6&#39;o&#39;clock of group of bombers as they line up toward a convoy, when you have fast projectiles like rockets.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Audric)</author>
		<pubDate>Mon, 09 May 2011 19:41:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Okay, I&#39;ve just uploaded a revised version of the demo to sourceforce. <a href="https://sourceforge.net/projects/angrymoth/files/Revised%20Demo%20%28May%29/">Here&#39;s the link</a>.</p><p>Changes:<br />- Optional fixed camera angle mode - go to &quot;options&quot; on the main menu.<br />- 2-stick controls can be turned off (also in the options menu).<br />- A string buffer overflow error that caused crashing on Linux has been fixed.<br />- Various rebalancings. Tracking cannon is better. Torpedo takes longer to recharge.<br />- Two little lines indicate the direction and distance of your current selected target.</p><p>Also, I&#39;ve removed the ability to accelerate backwards. I just don&#39;t think it was working; it encouraged a particularly cautious and not that interesting attack style (in me, anyway). In the full game it will probably be available as an upgrade or something. Sideways slide is still there.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Linley Henzell)</author>
		<pubDate>Sat, 14 May 2011 18:07:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607223/917490#target">Linley Henzell</a> said:</div><div class="quote"><p>
Also, I&#39;ve removed the ability to accelerate backwards. I just don&#39;t think it was working; it encouraged a particularly cautious and not that interesting attack style (in me, anyway). In the full game it will probably be available as an upgrade or something. Sideways slide is still there.
</p></div></div><p>
<img src="http://www.allegro.cc/forums/smileys/cry.gif" alt=":&#39;(" /> Reverse thrust is my favorite. <img src="http://www.allegro.cc/forums/smileys/cry.gif" alt=":&#39;(" /></p><p>It&#39;s going to be a lot harder without reverse thrust. Now to avoid incoming fire, you are forced to strafe, and if you want to retreat you have to turn away and strafe or fully turn away. Bring reverse thrust back!</p><div class="quote_container"><div class="title">Linley Henzell said:</div><div class="quote"><p>
Tracking cannon is better.
</p></div></div><p>
Yay! It&#39;s one of my favorites for taking out enemy fighters. That, and getting lucky with multi-rockets and fighters crossing in front of you.</p><p>One thing, it&#39;s fairly difficult to chase down fighters, they&#39;re much faster and more maneuverable than the Angry Moth.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 15 May 2011 04:13:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Fixed camera is a nice experiment, but probably not worth keeping. It wastes a lot of screen space, I tried to uncomment the lines that adapt the ship position, and I even modified starfield to position accordingly, but it&#39;s still very confusing in middle of battle, too difficult to see our ship in battle. </p><p>I regret the suppression of ability to fly backward... When facing a warship, it&#39;s no longer possible to strafe in 4 directions in order to dodge, so if you&#39;re too close you have to turn away.</p><p>Here I attach a version where I have implemented a bomb weapon (replaces torpedo) It&#39;s a projectile that uses only the ship&#39;s momentum, has no collision while flying, and damages only at the end of its flight. You can press and hold fire to see a target reticle, and release to launch. It&#39;s rather accurate, just remember that the warships are in movement.<br />I tried to make an area-of-effect damage on explosion, but I failed (I don&#39;t understand the system of pixel collision) so I made it launch a small rings of 8 bombs instead. This is really an anti-warship weapon, because the precious projectiles won&#39;t be stopped by the fighters buzzing around.</p><p>I may try a &quot;minefield&quot; weapon, that leaves explosions behind to hit fighters that chase you.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Audric)</author>
		<pubDate>Sun, 15 May 2011 04:24:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607223/917542#target">Edgar Reynaldo</a> said:</div><div class="quote"><p>It&#39;s going to be a lot harder without reverse thrust. Now to avoid incoming fire, you are forced to strafe, and if you want to retreat you have to turn away and strafe or fully turn away. Bring reverse thrust back!</p></div></div><p>

I&#39;m afraid that now I&#39;ve taken reverse thrust out I prefer playing without it. It&#39;s more difficult but a bit more exciting. Sorry <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607223/917543#target">Audric</a> said:</div><div class="quote"><p>Fixed camera is a nice experiment, but probably not worth keeping. It wastes a lot of screen space, I tried to uncomment the lines that adapt the ship position, and I even modified starfield to position accordingly, but it&#39;s still very confusing in middle of battle, too difficult to see our ship in battle. </p></div></div><p>

I agree that it doesn&#39;t work very well, but it was the #1 most-requested feature after the first demo so I think I&#39;ll leave it in. Camera follow will always be the default and the mode around which the rest of the game is built. I tried a modified version of fixed camera that repositioned the Angry Moth around the screen depending on its angle, so that you could always see a fair way ahead, but I found it incomprehensible and it actually made me feel a bit seasick (gamesick?).</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>Here I attach a version where I have implemented a bomb weapon (replaces torpedo) It&#39;s a projectile that uses only the ship&#39;s momentum, has no collision while flying, and damages only at the end of its flight. You can press and hold fire to see a target reticle, and release to launch. It&#39;s rather accurate, just remember that the warships are in movement.</p></div></div><p>

Hey, that actually works really well. I&#39;ll think about implementing something like it, although one change I&#39;ll make is to have the reticle always visible. Thanks! (and I&#39;m impressed that you managed to untangle my terrible code well enough to add a feature like this.)</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>I tried to make an area-of-effect damage on explosion, but I failed (I don&#39;t understand the system of pixel collision)</p></div></div><p>

Yeah, the collision system for warships (which is based on special collision mask bitmaps) doesn&#39;t work very well for area-of-effect weapons. I&#39;ll see if I can think of a good work-around.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Linley Henzell)</author>
		<pubDate>Mon, 16 May 2011 19:46:21 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607223/917683#target">Linley Henzell</a> said:</div><div class="quote"><p>I&#39;m afraid that now I&#39;ve taken reverse thrust out I prefer playing without it. It&#39;s more difficult but a bit more exciting. Sorry</p></div></div><p>
<img src="http://www.allegro.cc/forums/smileys/cry.gif" alt=":&#39;(" /> I had a second win of mission 2, using aw missile and charged rockets, and I noticed it&#39;s now much harder to fight a convoy of warships that is going forward : Impossible to stay before them.<br />By the way, did you entirely remove the ability to decelerate? I had the impression there was only one speed of &quot;slowing down&quot; - when going into stationary enemy ships, I felt I had to anticipate much earlier to decelerate.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p> it was the #1 most-requested feature after the first demo so I think I&#39;ll leave it in.</p></div></div><p>
I would have requested it too, but after testing ... yuck <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> An earlier version of AriesNL&#39;s game had similar feature, where there also was a delay to smooth out the direction changes. (the change was kinda &quot;elastic&quot;) It was very impressive to turn at high speed (180° with mouse control) and see the stars zoom by, but it was only viable because there was a much reduced &#39;population&#39; on screen - and player ship was quite distinct.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>I tried a modified version of fixed camera that repositioned the Angry Moth around the screen depending on its angle, so that you could always see a fair way ahead, but I found it incomprehensible and it actually made me feel a bit seasick (gamesick?).</p></div></div><p>
Yes it&#39;s what I uncommented. I had adapted starfield position accordingly, but it wasn&#39;t sufficient: starfield doesn&#39;t move as fast as the player&#39;s ship so the &quot;plane shift&quot; isn&#39;t very clear (at first I thought I had made it negative), and all ships have same color scheme, so the player gets really lost.</p><p>The code: There are things I still can&#39;t determine without heavy debugging, like the color numbers in these bitmap masks, the &quot;units&quot; for all these integer variables (some are in pixels, some are in 2^9 or 2^10 pixels).<br />Also I don&#39;t understand the behavior of damage values; they don&#39;t seem linear...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Audric)</author>
		<pubDate>Mon, 16 May 2011 20:30:19 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>On linux I had to comment out the part that used the &#39;itoa&#39; function because its not in a standard library.</p><p>Anyway its a nice game but pretty hard. It would be cool if I could switch from playing as a little ship to managing the fleet like an RTS, or even to play as an arbitrary ship in the fleet. Currently management seems sort of useless because I&#39;m usually too busy flying around trying not to die to send any meaningful commands.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kazzmir)</author>
		<pubDate>Tue, 17 May 2011 03:19:21 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607223/917691#target">Audric</a> said:</div><div class="quote"><p><img src="http://www.allegro.cc/forums/smileys/cry.gif" alt=":&#39;(" /> I had a second win of mission 2, using aw missile and charged rockets, and I noticed it&#39;s now much harder to fight a convoy of warships that is going forward : Impossible to stay before them.</p></div></div><p>

All part of the plan. The Angry Moth shouldn&#39;t really be taking on whole convoys by itself.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>By the way, did you entirely remove the ability to decelerate? I had the impression there was only one speed of &quot;slowing down&quot; - when going into stationary enemy ships, I felt I had to anticipate much earlier to decelerate.</p></div></div><p>

Yes. The down key doesn&#39;t do anything at all right now.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>The code: There are things I still can&#39;t determine without heavy debugging, like the color numbers in these bitmap masks, the &quot;units&quot; for all these integer variables (some are in pixels, some are in 2^9 or 2^10 pixels).<br />Also I don&#39;t understand the behavior of damage values; they don&#39;t seem linear...
</p></div></div><p>

The colour numbers (if you mean the ones in the collision masks) indicate what a bullet at a certain point in or around a ship&#39;s sprite (with the relative positions of the ship and bullet translated to coordinates on the bitmap) has hit: shield, a particular warship part, or nothing. </p><p>The units should pretty much all be in 2^10 pixels for the actual location of objects in the game, translated to pixel values in the display functions. I&#39;m not sure what&#39;s 2^9; that&#39;s probably just an obfuscated way of dividing something by two while converting it to a pixel value.</p><p>Damage values are just as they&#39;re written, so a torpedo really does do about 60x as much damage as a cannon shot. The point is to establish a clear distinction between light anti-fighter weapons and heavy anti-warship weapons.</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607223/917732#target">kazzmir</a> said:</div><div class="quote"><p>Anyway its a nice game but pretty hard. It would be cool if I could switch from playing as a little ship to managing the fleet like an RTS, or even to play as an arbitrary ship in the fleet. Currently management seems sort of useless because I&#39;m usually too busy flying around trying not to die to send any meaningful commands.</p></div></div><p>

Letting the player manage the whole fleet would be fun, but the game&#39;s ship AI and level scripting systems aren&#39;t really set up for that. Maybe next game. As for issuing orders to your fighters, most of the time it&#39;s not really necessary. I just leave them set to &quot;cover me&quot; all the time, changing to &quot;defend&quot; occasionally if I want them to go away for a while (so they don&#39;t get shot down while I do something risky).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Linley Henzell)</author>
		<pubDate>Wed, 18 May 2011 19:31:23 +0000</pubDate>
	</item>
</rss>
