Inventive Dingo forums

Mayhem Intergalactic => Features & Bugs => Topic started by: Chris on February 02, 2009, 01:06:24 pm



Title: Change log - feature additions and bug fixes in active development
Post by: Chris on February 02, 2009, 01:06:24 pm
This thread is to keep everyone more directly informed about the implementation of new features and bug fixes, right after I add them to my local development copy. Think of it as a public "change log" of sorts. Extra, extra! Piping hot development news from the programmer's keyboard delivered directly to your screen!

Please note that these changes will take some time to make their way into your hands, since I have to release an update first. Update releases happen periodically, after I've accumulated enough changes to make them worthwhile (it takes about a day to assemble everything, do some sanity checking, and push out announcements in all the relevant places). When I do a release I'll post here, on the news blog, and in the official Steam community (http://steamcommunity.com/games/MayhemIntergalactic) (join please!), among other places.

---

To kick things off in style, here's a much-requested feature:

It's official - the ability to whisper (send private messages) to other players in the game will be available in the next patch (ETA unknown). I just spent a few hours thrashing out the basic functionality. At present, the only way to use it is to use the chat function as normal, and also type /msg PlayerName before your message. Like so:

/msg Minus Thanks for suggesting this feature!

As a handy shortcut, pressing / will bring up the chat box as well as entering / as its first character, since the chat box doubles as a console entry box and / prefixes all console commands. (This functionality has existed, largely undocumented, for a while. There are some existing console commands, mostly only of use to game hosts. Type /help to see.) So you can just start typing /msg Chris ... without having to worry about bringing up the chat box first.

I intend to add other aliases for /msg (/whisper and /tell at least). It would also be nice to have a way of triggering it through the GUI; at the moment I'm thinking of adding a right-click menu to the player list, with a "Send message" entry. And, um, not much else. :)  "Kick" and "ban" for the host I guess, since those already exist as console commands.

For now, though, it's past midnight and I'm tired enough to start making mistakes. :)  G'night.


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on February 05, 2009, 11:12:35 am
In addition to the above, I've been asked to post a list of the bugs fixed locally since the last release (6 days ago), so here's a quick summary, in no particular order:

- Fix: Rifts sometimes aren't visible to remote clients.
- Fix: Observers were being assigned starting planets on custom maps, and could attempt to send orders to the ships on those planets (without success). The error "ArrayBoundsError net.packets.server.battleround(91)" which some people were seeing was probably a symptom of this bug.
- Fix: Players in disconnected state don't get sent to newly-connecting observers
- Fix: mayhemig.exe sticking around using 100% CPU after exiting the game
- Fix: /ban command was crashing server in presence of non-networked players
- Fix: Can't see your own ping.
- Fix: Removed grey "e" under End Turn button
- Made chat box stay open permanently during pre-game settings screen. If it's empty when the game starts, then it closes itself.
- Changed feature: If only AIs are left in a multiplayer game (including if all human players are in disconnected state), end the game.
- Fix: A mistyped console command shows up as chat
- A bunch of errors, console messages, and other miscellaneous pieces of text have been moved into strings.txt so that they can be localised (thanks to Alexandre Fonseca for tracking many of these down, and also for contributing a Portuguese translation, which will be included once I've figured out how Steam localisation is put together)
- Added aliases for /msg command: /whisper, /tell
- Improved console /help command
- Invalid map errors now just kill the game session rather than crashing the whole client. (Still bad, but less ugly.)


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on February 06, 2009, 01:07:15 pm
Work of tonight and last night:

- Fixed some bugs arising from new features (e.g. if a player shared the first word of their name with another player, e.g. Commander Minus and Commander Bob being in the same game, then you couldn't whisper to them since only the first word was interpreted as being the name; now you can use quotation marks to specify names with spaces in them, like /msg "Commander Minus" I really need to pick on someone else in these examples for a change. Of course, if Commander Minus is the only Commander in the server, you can just do /msg comm Paging Commander Minus! for the same effect.)

- Fix: Could /kick yourself.

- Fix: /ban command crashed in presence of non-networked players.

- Bit of fun to keep my motivation up after all those bug fixes: Transparent chat background! The level of transparency is customisable, and I spent a little time implementing some totally sweet fading-out effects for the background for when chat messages themselves fade out. While I was at it, I also sprinkled some magic salt (http://sol.gfxile.net/interpolation/#c4) on the existing full-screen fades so that they look a little smoother.

This weekend is going to be scorching hot so we'll see how far I get. I may run away and hide in a public building with air conditioning again, in which case very little work will get done. (Curse the inadequacy of my laptop!)


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on February 07, 2009, 12:42:42 am
This weekend is going to be scorching hot so we'll see how far I get.

Fun fact: Today's predicted top temperature is 40°C (104°F).


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on February 08, 2009, 03:36:44 am
Yesterday I mostly took a break, except for trying to debug Joshkun's network problem; as part of that I made the following changes:

- Error checking tweaks to socket classes
- Critical errors are now logged in log file regardless of debug status

Today has been Chat Interface Improvement Day:

- Added scroll buttons to message log on infobar, and upped maximum message count to 100 to take more advantage of that feature. This means you can scroll back through the last 100 chat and battle messages, which should help in strategising.
- Reduced the maximum message count for the main chat area from 10 to 6, to prevent it from taking up too much space (though it does still do that if there are long messages)
- Formatting tweaks to infobar to make better use of space and increase readability

What next? I have only the following two features on my list for the next release (and nothing else - in the interests of releasing early and often, many other worthy suggestions have been left for later). However, I am considering cutting those features and just going ahead and releasing a patch ASAP.

Quote from: Not yet implemented
- "Start game" has a 5 or 10-second countdown after being pressed. During the countdown, the player who initiated it (and only that player) can cancel it, in case it was pressed by accident or someone modified a setting immediately prior.
- Voting system whereby a majority can vote to reset a multiplayer server, *if* "allow others to manage this server" is enabled. Votes are limited to one per IP address as well as one per unique nickname (underscored suffixes, e.g. _2, don't count as unique nicknames for this purpose).


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Kumlekar on February 08, 2009, 08:59:51 am
- Voting system whereby a majority can vote to reset a multiplayer server, *if* "allow others to manage this server" is enabled. Votes are limited to one per IP address as well as one per unique nickname (underscored suffixes, e.g. _2, don't count as unique nicknames for this purpose).

I hope this will not include bots as part of the majority.


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on February 08, 2009, 09:04:13 am
Don't worry - the day has not yet come when artificial intelligences are given the right to vote. :)


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on February 08, 2009, 11:14:26 am
Assuming all goes as planned, expect a v1.2.3 release tomorrow. I have cut the "start game" countdown and the voting system from this release in order to bring you the other changes sooner.


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on February 08, 2009, 11:43:07 pm
Make that tomorrow... I forgot it's still the weekend in America land! :-[

Although I guess this post and my previous post are technically on the same day for many of you, despite the fact that I posted them "last night" and "this morning" respectively in Aussie-time, so from that perspective I'm in the clear...

Time zones. Honestly.


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Kumlekar on February 09, 2009, 12:09:50 am
its a 5 hour time difference.


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on February 09, 2009, 02:19:07 am
Actually it's 19 hours (24 - 5), in the opposite direction. Which is why it's craaaazy.


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on February 10, 2009, 03:25:01 am
Assuming all goes as planned, expect a v1.2.3 release tomorrow.

Done! Check it out. :)

Full list of changes is in the news post (http://www.inventivedingo.com/news/2009/02/10/easy-as-123-mayhem-intergalactic-updated/).


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on February 15, 2009, 05:25:53 am
Back to the code!

Remember: These changes will take some time to make their way into your hands, since I have to release an update first.

- Right-clicking on a destination planet, and dragging from one planet to another, have always been shortcuts for the "send ships" command. Holding down Ctrl while performing these actions now lets you set rally points instead.
- Blip sound when someone speaks [Minus] (thanks Duncan!)
- In-game music levels rebalanced so the music isn't totally drowned out by explosions (thanks again, Duncan!)
- Modifications made to Steam code in an effort to make it retry if retrieving achievements fails (not actually tested yet)


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Kumlekar on February 16, 2009, 04:29:04 am
- Modifications made to Steam code in an effort to make it retry if retrieving achievements fails (not actually tested yet)
Can you explain this?  Also, have you made any decisions about what your going to do with achievements when the improved AI comes out?


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on February 17, 2009, 12:49:19 am
It's intended to help in the case of intermittent connectivity to the Steam servers. That way, if it initially fails to connect in order to retrieve achievement data, it won't simply give up; it'll keep re-trying.

Also, have you made any decisions about what your going to do with achievements when the improved AI comes out?

No final decisions, besides "something reasonable". I'll probably either deprecate the old achievements (so nobody can achieve them unless they already have them; they'll then continue show up on Steam profiles, but not in-game), or adjust their descriptions to "Defeat the AI at the Medium level" or whatever the closest equivalent to "Highest" ends up being. (Either way, I will probably also add new "Highest" achievements, though perhaps not for Perfect since that's hard enough already...)


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on March 01, 2009, 03:44:29 am
Since my last post, I have:

  • Put my to-do list into an Excel spreadsheet with priority scores to help me prioritise the most important Mayhem Intergalactic work.
  • Worked on the upcoming strategy guide.
  • Fixed some achievements-related code which I'd modified since the last release.
  • Installed a new hard drive and put Windows on it. Still getting all my apps installed (network card driver, Firefox, Thunderbird, graphics driver, and TextPad were first, in that order!) so my productivity will be slightly lowered temporarily. As I type this, I'm copying Mayhem Intergalactic's development files from my backup CD and installing TortoiseSVN - all I need now is a build environment and I can start developing again. Oh, and Steam. I haven't put Linux on this hard drive yet either.
  • Driven around for hours in a fruitless search to find someone to help me with the lodging requirements for IRS form W-7 so that Valve can send me a percentage of the money which all you really cool people gave them for Mayhem Intergalactic*. :) I may have to do something drastic like pay an accountant. Gasp.

* It goes without saying that those of you who paid Fastspring or SoftCartPro or BMT Micro rather than Valve are also really cool people. 8)


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on March 02, 2009, 12:05:28 pm
I've finished installing my build environment and libraries, and can now compile the game again. It crashes though on startup, since I have the newest version of the SDL include files but haven't updated the corresponding DLLs yet. :P  Easy enough fix. Will do it tomorrow, since I'm falling asleep in my chair here.

Heh - just realised I can't read the fancy new Excel spreadsheet version of my to-do list, since I haven't installed Excel yet. And I thought there was no need to find a decent plain-text spreadsheet format to save it in - so much for that notion. I'm pretty sure my metal detector is picking up a smidgen of irony around here someplace.


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Kumlekar on March 03, 2009, 04:37:11 am
hm, at least you have a metal detector, I have to detect it by guess work.  I believe open office should be able to use excell files.


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on March 03, 2009, 04:51:39 am
Yeah, it can. I've now installed Excel though, so it doesn't matter.


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on March 04, 2009, 01:49:29 am
I can now compile and run the game on my new system, and I believe I've fixed the two crash bugs reported by Kumlekar here (http://www.inventivedingo.com/forums/index.php?topic=130.0).

I'm noticing some popping in the music though. I've had one person report this before but have never been able to reproduce it, so on balance this is probably a good thing. :) 

Edit: OK, I just needed to double the size of the audio buffer and the music is all smooth again. That was easily fixed. (Technical note: Audio buffer size is also configurable now, in case anyone ever needs to change that; put buffersize=X into options.ini under [sound3]. X must be a power of 2; e.g. 512, 1024, 2048, 4096 are all acceptable values. The default is 2048; previously it was 1024. Higher values fix popping, but increase the latency between sounds being issued and actually played. So if you set it too high, explosion sounds will occur after you see the explosion on-screen! The same problem occurs for all other sound effects, including button-pressing, chat messages, and battle noise.)

I also had a small bug in my new achievements code for the non-Steam version, which I hadn't tested yet. It works now. That makes a grand total of four bugs fixed today. :)


Title: Re: Change log - feature additions and bug fixes in active development
Post by: PLAYLIFE on March 08, 2009, 01:16:10 pm
What are you working on now?


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Kumlekar on March 08, 2009, 06:17:44 pm
lol, its only been 5 days, give the guy a break.


Title: Re: Change log - feature additions and bug fixes in active development
Post by: PLAYLIFE on March 08, 2009, 09:08:11 pm
lol, its only been 5 days, give the guy a break.

I'm just asking. It's not like he NEEDS to answer. I actually don't know if this game has any development left in it or just bug fixing and that's it.

I do also wish that you'd give ME a break. You are attacking every post I make in this forum. Seriously!


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on March 09, 2009, 12:33:53 am
It's a fair question. Five days is a long time on the internet, after all. :)

I have been taking a bit of a break from dev work. University is starting to intrude (how very rude of it!), and what time I have been spending on Mayhem Intergalactic has been minor stuff - some necessary server administration to make the site more stable, a few website tweaks, and putting together some infrastructure to help me track conversions better (in indie gamedev lingo, a "conversion" is a demo download that results in a sale). Better conversion tracking means that I'll be able to make more informed marketing decisions, which is important if MI is ever going to sustain the boost (in terms of player numbers etc.) that Steam has given it.

Here are the top items from my to-do list, in their current loosely-defined order of priority (which is no guarantee of completion in this order, or even of completion at all):

1. Sort out tax forms (yeah, this is still not done - I need to find some spare time during the week to ring the embassy, as a next step)
2. Work on strategy guide (I need to incorporate Kumlekar's and Jp's excellent feedback and then iterate on it some more before final proofreading and formatting)
3. Better conversion tracking infrastructure (been working on this a bit)
4. Linux port (shouldn't be difficult, just tedious; I need to extend my build system a bit and do compatibility testing)
5. Mac port (a little hairier, since Objective-C and D are not on direct speaking terms)
6. Improve AI

Adding the contributed translations is close to the top of the remaining items.

I haven't yet decided whether to leave 4 and 5 where they are or let them slide a bit. There's something to be said for having improved AI already in place before launching on additional platforms.

Fun data point: There are currently 171 items on the to-do list. Most of those will never be implemented. :)


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on March 22, 2009, 01:43:07 am
Let it be known that I hate having to pay this much exclusive attention to university. :'(


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Kumlekar on March 22, 2009, 02:00:10 am
trust me, I kow the feeling, between teaching 7th grade english, and my classes, the last thing I want to do when I get home is play mayhem or work on maps for it.  I'll probably do something next week.  I'm eagerly awaiting seneraio functionality!


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Kumlekar on April 05, 2009, 06:40:26 pm
Just wondering what you've been doing.  I know you said you've been busy with school, but has there been any progress towards the next update?


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on April 06, 2009, 12:07:30 pm
Just more conversion tracking work I'm afraid. This normally wouldn't take so long, it's just been spread out so much!

After this week I have two weeks of lecture break. I still have plenty of assignments to be getting on with, but without the distraction of lectures I might be able to get something done, so watch this space.


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Kumlekar on April 12, 2009, 07:12:09 pm
Watching as ordered Sir!


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Kumlekar on June 21, 2009, 11:17:12 pm
The watching has taken place but nothing has been reported from the front lines sir!

(Translation: anything happening? I just finished my finals, wondering if anyone has been online.)


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on June 22, 2009, 01:21:51 am
I have an exam and a major deadline on Friday. After that, I hope to take a weekend break and get some Inventive Dingo work of some kind done. This is my Honours year, so I'm not going to be truly free until sometime in November, but I'll try and squeeze little bits in when I get sick of iterating on my Honours project.


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Jp on June 22, 2009, 07:13:06 am
Quote
I have an exam and a major deadline on Friday. After that, I hope to take a weekend break and get some Inventive Dingo work of some kind done. This is my Honours year, so I'm not going to be truly free until sometime in November, but I'll try and squeeze little bits in when I get sick of iterating on my Honours project.

I know that pain all too well. In the middle of exams at the moment, too.

It'd be nice to get some MI gaming in at some point.


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Minus on June 22, 2009, 08:45:59 am
Still got the game installed! Never left my hard drive.


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on June 22, 2009, 11:12:35 am
Cheers guys. I'm glad that my temporary hiatus hasn't completely turned you off. :)


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on June 28, 2009, 09:58:26 am
I have an exam and a major deadline on Friday. After that, I hope to take a weekend break and get some Inventive Dingo work of some kind done.

My deadline got postponed by a week (phew), which means I also need to postpone my weekend of Inventive Dingo work until next weekend. :(  It will happen though!

Quote
This is my Honours year, so I'm not going to be truly free until sometime in November, but I'll try and squeeze little bits in when I get sick of iterating on my Honours project.

Speaking of my Honours project - in case anyone's interested, my project is basically entering this contest (http://www.botprize.org/), and the above deadline is for its qualifying round. I'll either do OK or crash and burn, depending on whether the technique I'm investigating turns out to be a good one or not. (I had to try something new enough to be Deemed Worthy of Academia, rather than picking something tried-and-tested.) I'm hopeful, but getting the bot's aiming behaviour right is proving tricky; and the turnaround time for tweaks is about a day (thanks to having to recompute a ton of data), so it's hard to iterate on! On the plus side, I can use the computation time to e.g. write this post.

Hmm, maybe I can use Psyco to speed up the turnaround time... (Edit: Psyco doesn't seem to do much for this case, but I managed to speed the code by a factor of x2 with a really simple optimisation, so that helps!)


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Kumlekar on July 03, 2009, 03:31:16 am
That contest sounds awesome! I would think the hardest part would be the pathing and aiming for the ultra-accurate guns.  You've gotta reduce the accuracy somehow, and pure randomization will give it away in a second.  Whats your method?  Also, will you let the bot go for shock combos?


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on July 03, 2009, 04:04:11 am
I'm keeping my methods secret for now, since I have a novel approach which I hope will be fairly successful. I'll tell you after the competition. :)  (Or after this qualifying round, if I don't qualify... I'm reasonably confident I will though.)


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on July 08, 2009, 11:52:58 am
OK, so I did end up spending the weekend on Mayhem Intergalactic stuff, and bits of Monday and Tuesday, but didn't get much code work done. Mostly ended up spending the time on accounting and business development stuff. Which is good, just not very exciting. :)

I did review what I've done so far towards the next version, and then half-fixed a bug. I would have completely fixed it but I got a little distracted with some much-needed refactoring. I will finish fixing it soon.


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Kumlekar on July 11, 2009, 07:51:34 am
Ok, but you can't at least answer the shock combo part?    :(


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on July 14, 2009, 04:04:41 am
No, it doesn't deliberately go for shock combos.


Title: Re: Change log - feature additions and bug fixes in active development
Post by: Chris on July 14, 2009, 10:10:56 am
Oh, and I forgot to mention - I qualified (http://botprize.org/teams.html). ;D  I came first by a reasonably healthy margin, too; so evidently my method is indeed worth keeping secret, for now. I look forward to divulging it after the finals in September! :)