Recent Forum Posts
From categories:
page »

OK, based on the comments in this thread, I'm going to propose that we run Competition 9 from 11 November 2016 to 11 December 2016, inclusive.

That still gives Marcus a week before finals start, while still giving us enough time to get prepared for the competition. (Still 3 weeks.) Marcus, if you feel the need to start a little early so that you can finish a little early, by all means, be a rebel and start and end a few days (or a week or whatever) earlier than everybody else.

Hey Everyone,

My wife made up some sprites for the collaboration.


Each of these tiles is 25x25 pixels. The 1986 version of blockade was 40 blocks wide x 25 blocks tall. So we should be able to fit the full grid nicely on a laptop screen with a little slop for a title or UI elements. (Nothing saying we cannot try a different sized map though.)

If there are any critiques, we will try to fix them tomorrow afternoon and then post the sprite pack. That way they will be available first thing on Saturday even if I sleep in a little. :) If RB has the repo/skeleton project built on Friday, I'll stuff them in the content, otherwise I can try to send them as a zip file in the Discord forum and hope for the best.

We plan to post the snakes as white images with gray accents. This way you could dynamically change the snake colors in MonoGame. If people prefer keeping it simple and prefer these player colors, we can just post the colored snake body versions.

Each player snake has a different design. In theory someone who was partly/fully color blind could play. No real testing to determine if this statement is actually true though.

Blockade Graphics Teaser by Brett208Brett208, 21 Oct 2016 09:13

Hey everyone,

I propose we just modify the Xevious settings deserializer for use in Blockade. This assumes the player manually edits the text document. We can write a simple serializer to edit the data if we get far enough into the UI programming.

It is called something like this:

private ConfigFileDeserializer configDeserializer = new ConfigFileDeserializer();

protected override void LoadContent()

    PlayerMode playerMode = parsePlayerMode(configDeserializer.GetSetting("PlayerMode"));
    GameMode gameMode = parseGameMode(configDeserializer.GetSetting("GameMode"));   

And here is the file's code

using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;

class ConfigFileDeserializer
    FileStream fileStream;
    StreamReader fileReader;
    Dictionary<string, string> ConfigParametersList = new Dictionary<string, string>();

    public string thisIP = "";

    // Open and parse the config file into a dictionary called ConfigParametersList. Method returns a bool indicating success or failure.
    public bool ParseConfigFile(string configFilename = "Settings.txt")
        fileStream = new FileStream(configFilename, FileMode.OpenOrCreate);

        if (!File.Exists(configFilename))

        fileReader = new StreamReader(fileStream);

        string lineOfText = "";

        while ((lineOfText = fileReader.ReadLine()) != null)
            string[] sTemp = lineOfText.Split(':');
            ConfigParametersList.Add(sTemp[0], sTemp[1]);


        if (ConfigParametersList.Count() > 0) return true;   // We have configuration parameters, so it was a success

        return false;                                         // If we get here it means the ConfigParametersList is empty...
                                                                  // return a false since something went wrong.

    public string GetSetting(string key)
        return  ConfigParametersList[key];

    private void buildDefaultConfigFile(string configFilename)
        StreamWriter fileWriter = new StreamWriter(fileStream);
Game Settings Deserializer by Brett208Brett208, 21 Oct 2016 06:40

I should be available for this time frame but unsure if I'll participate. Tunnel Lords is completed, and you all are probably tired of reading updates on it anyways. I'm not sure what project I would work on.

Now that Tunnel Lords is complete, I have been working on getting more comfortable in C++, but I don't think I want that to morph into a 30 day C++ game challenge.

Re: Competition 9 Time Frame? by Brett208Brett208, 21 Oct 2016 04:47

I don't mind if you get a head start on the networking and work on it during the competition.


Hmm … I think my vote goes to Choices this time around. Trying to incorporate that into a fairly simple project could lead to some interesting gameplay ideas, which I always love to think and hear about.

Re: Competition Theme? by Marcus42Marcus42, 21 Oct 2016 02:36

Sure, we can start even up to mid-November. My finals are relatively late in December (the week of the 19th), so while I will probably be getting slightly busier for a week or two before, that shouldn't be much of a problem. So yeah, we could definitely push the start date into November a bit.

Re: Competition 9 Time Frame? by Marcus42Marcus42, 21 Oct 2016 02:31

We've all been using Discord now for 10 days, and I think we all generally like it. It does seem like that's the direction we're going in the future. I think I want to keep Discord still in "unofficial" status until after the collab this Saturday, but I don't see any reasons right now why we wouldn't make a permanent migration to Discord. Everybody is there already anyway…

Re: More modern chat client by rbwhitakerrbwhitaker, 20 Oct 2016 01:27

If we're serious about doing a competition in November, it's definitely time to get a theme picked for the competition!

Here's the list we had from last time, minus the asymmetry theme that we actually went with. If you like any of these or dislike any of these, it's time to vote! But also, if you want to throw any additional ideas into the mix, please post them and I'll get them added to this main list at the top.

1. Circles, Arcs, and Curves. In one form or fashion, your game includes circles, arcs, curves, ellipses, spheres, etc. This may be a circular playing area, things that travel in circles, circular playing pieces, or something else. Just something that isn't a straight line as an important piece of the game.

2. Choices. Some aspect of the game involves choice, whether it be in playstyle, in story progression, or purely visual appearance.

3. The Button. Perhaps your game is a one-button game. (Making a game where you've only got one button is an interesting thought to begin with.) Maybe the game controls a ship, and all you can do is choose when to fire. Maybe you have lots of buttons, but one that does something spectacular. Maybe it's a trivia game or a reflex game where it takes skill to push the button at just the right time to beat your competition. Maybe it's a thematic/storytelling element with a button that detonates a nuclear weapon. Whatever it is, somehow a button is key.

4. Overkill. Have something happen that is overkill for what it intends to accomplish. Like using a nuclear bomb on an ant, putting a gallon of hot sauce on salad, slicing a man into hundreds of pieces when just one or two slices would have been plenty.

5. Alternate. This word has two meanings. First, to switch back and forth between two (or more) things. Second, a substitute or backup. This could be like switching between characters in Donkey Kong Country, blue and orange portals in Portal, Player 1 and Player 2 taking turns like in many classic arcade games, alternative paths through the game like Castlevania, or alternate endings. This is admittedly somewhat closely related to the Choices theme, but I think there are enough differences that it will inspire a different set of game ideas.

6. Change. Something (or things) in your game is in constant flux that affects how you play or needs to be taken into account when playing. In a stealth game, this could be enemy guards going through periods of extra attentiveness or incredible inattentiveness that may need to be waited for before moving, or in an action game, the final boss' shield constantly changes in its strength, which will either block or let attacks through.

7: Stars. Maybe a space themed game, maybe it's movie stars, maybe you collect or earn stars, or maybe it's a thematic element in an RPG of some sort. Stars seem to simultaneously represent something unattainable, yet also seem to represent achievement.

Competition Theme? by rbwhitakerrbwhitaker, 20 Oct 2016 01:24

Sounds like we are off to a good start. I'm on board with everything so far.

Once again, I'd like to attempt the networking since I already have a little framework set up. At least for the basic connection stuff, and networking architecture. That being said, one of the things that held me up last time around was the configuration of the server, the actual data channels, and the structure of the communications in general.

I think with a little preplanning on that part and correcting the server to hold the game state we can get this done. So, I'm going to try and spend a little time before we get started ironing out those details. One kind of neat thing I did already figure out though, was that the game state can be started and maintained with a small packet. The transmission would consist of the block the player is moving to next, along with those same positions of each player. The server only needs to track the next move for updating and collision detection for each player, as the past moves can be maintained in an array. Each system would maintain a history of each players move and could use predictive collision detection to ask the server if a collision has actually occurred. It would cut down on latency quite a bit, I believe.

At any rate, I need some votes on this. If you guys are good with me tackling networking and using the client/server set up as we did last time I'll need to go ahead and get started.

"May the mercy of His Divine Shadow fall upon you." - Stanley H. Tweedle, Security Guard class IV, The League of 20,000 planets

Nobody has said much of anything, so I'm going to go ahead and say I think we should do our usual month-long competition this time around. There's still time to change it if there's a consensus for another length, but I think the 30 day thing is a pretty solid length.

It actually does sound like there's some interest in getting a competition going in November, based on what I heard in the chat room earlier today.

I'm still concerned about the time frame. But perhaps we can simply get started in November, rather than start on the 1st of November. For example, suppose we started on November 4th or 5th. Or perhaps the week after, with the 11th or 12th. It really does depend on when your finals are. Mine were always on about the 10th to the 15th, which would be pushing it on that later start date.

Do we have any wiggle room on your end, Marcus? Or does running into December at all mess with your finals schedule?

Since it looks like we are going for Blockade, I thought we should start laying some foundations to work on. Here are some of my higher level thoughts.

Game Programmer Art
My wife is willing to make a 2D PNG tiling wall piece, tiling snake piece, and tiling background piece. It will probably be a little more colorful then the 1980s version of Blockade. I was thinking a metallic looking wall, with a 80's orangish background. If there are other sprites we want, let me know.

If someone wants 3D or some other 2D art, let me know fairly soon!

Gameplay Modes
I'm assuming we will shoot for local multiplayer and networked multiplayer. As a stretch goal, we could work a snake AI so you could play single player, or some combo of human and AI players. I think a co-op mode where you work with another player to kill 2 enemy AI snakes would be awesome. That being said, I'd rather see the networked code looking good before the AI.

User Interface
I think we are looking at a pre-game configuration screen, a high score/victory screen, and some sort of lost connectivity screen. Maybe we should expand in a separate thread what all we want in the UI. Are we looking for mouse control or just keyboard control for the UI?

Here is what RB dug up on the original game:

Networking Code
I think it would be nice to flesh out our plan with the networking. It didn't really come together during Xevious (which is fine as it was our first attempt I think?). I know there are 2 basic protocols we can choose from, but I need to research to remember what they are.

Here is the page with a lot of implementation thoughts from Xevious:

After the discussions this weekend on the forum, I believe we all came to the conclusion to work Blockade with Network play and a UI.

Re: Collaboration Game? by Brett208Brett208, 18 Oct 2016 07:30

I would not be opposed to November, though that is coming up very soon, and doesn't give us a whole lot of time to prepare.

Anybody else for or against November?

Of course the other part of all of this is we really should all sit down and talk some day and establish a more formal repeating pattern for these competitions. We probably shouldn't have to negotiate every single one, every single time. That way everybody knows what to expect.

Personally, I'm feeling slightly impatient for the next competition - that's probably because I stopped work so early (relatively early, that is) in the last one, so it's been a while since I've really gotten deep into coding. Given that, my vote would be for a November competition. That's only a couple weeks away, but a November time frame has the added bonus that it won't conflict with my school finals in December (although I could definitely work around that if you'd all prefer December).


Re: Competition 9 Time Frame? by Marcus42Marcus42, 17 Oct 2016 05:03

Networked Blockade with a UI sounds like a solid choice to me as well.

I wouldn't mind staying 2D art in order to focus on the UI and networking.

Re: Collaboration Game? by Brett208Brett208, 17 Oct 2016 01:19

Hey everyone,

I'd like to propose the following tools/frameworks for us to use:

Framework: MonoGame 3.5.1
Workflow management: Trello
Repository: BitBucket
Version Control: HG*

*I wouldn't mind learning more in GIT if others want to as well. This would probably cut in on our results a fair amount since there would likely be new problems associated with version control.

I'm open to trying different things if others would like though.


I'm going to cast my vote for Blockade.

Xevious would be cool to continue actually.. but I'm not quite ready to tackle that mess at the moment. Xevious has a lot of promise, but it was actually never designed for network play. There's nothing wrong with that. I think the results are still pretty danged awesome!

Before continuing on it though, I think the entire code base needs to be gone through and organized with some structural efficiency in mind. If we don't do that, then we will lose out on it's full potential.

Blockade would coincide nicely with my plans to get my server(s) back online - if we do it with the 3D and network play. Any networking aspect would be good. So, I'd say that's a major target for this collaboration.

Given the mixture of networking and simplistic art, it seems Blockade would be a great goal. If we pull that off, I'll be very impressed.

"May the mercy of His Divine Shadow fall upon you." - Stanley H. Tweedle, Security Guard class IV, The League of 20,000 planets

Re: Collaboration Game? by PiscesMikePiscesMike, 16 Oct 2016 11:00

I'm definitely on board with any of these.

Continuing with Xevious may make less sense if we have a lot of new people. I'd hate to throw them into the mix of an existing codebase, but based on last time, I'd say there's a reasonable chance we won't have a ton of new people. Perhaps I should make a sign-up list and see who's actually coming.

I lean a little towards Blockade because I think we could get a lot done there, but I think doing a more complicated game like the tank game could be more exciting to people. (After all, we've done both Blockade and Xevious before.) It is more complicated, especially because we have nothing to clone. We'd be doing some game design on the fly, on top of coding.

With respect to the UI conversation that was happening earlier, I don't know which one would use UI the most, if that's where we want to go. I'm guessing that maybe the smaller the game, the more we can put UI to work, because we'll just get further into it.

At any rate, I don't have a strong preference for anything, but if you were thinking about posting other suggestions, do it now because we've only got about 10 days left!

Re: Collaboration Game? by rbwhitakerrbwhitaker, 12 Oct 2016 23:00
page »