Wednesday, August 22, 2012

Where we are.

     Last week and this week so far has been kind of hectic. The last week, I was getting ready to go back to college, and then this week is the first week of classes, so I'm trying to get back into the swing of things here at school. So there really hasn't been a lot of progress this week and a half. 
     We are having a meeting soon to pickup work again, so game development should be full force at some point very soon. I'm trying to add in something "fun" to get back into it, and this screenshot should do it some justice:


VOIP, otherwise known as Voice Over IP, would be really something cool to have, granted I can make it work, and work well. Once we have our meeting and sort out what other things need to take priority, we will hopefully get back to the rhythm that we had going beforehand. 

Expect some more blogs to come in the near future!

Tuesday, July 24, 2012

Multiplayer!

The team has been working really hard these past 2 weeks. And to show that we have, here is a video!


We have multiplayer movement down! There is A LOT of underlying other work that has been done, but we are full steam ahead with things. All content in this video is still a WIP. We are very excited and proud to have things running pretty stable. We still have tons of work ahead but this is proof that things are working as they should! Till next time, Dave

Wednesday, July 11, 2012

Galaxy Gangs Updater Video

Note: This is still a WIP, very much so. I wanted a break from client/server code a bit, so I started working on this. I really want to show everyone the development process, so I made a quick video of just the program running. Whenever we get into gameplay of the actual game, expect videos then of the game and server. A lot of the stuff we are doing right now, isn't very visual because it's core functionality, and it's probably stuff that you don't want to see. But later down the road, there will be videos.

Saturday, July 7, 2012

Picture!

     Success connecting! Things are really shaping up here. Figuring out multi-threading with everything was a little bit of a pain, but it seemingly works :D (Which is a good thing). It's now just a matter of figuring out the order in which to send data again when a player connects. All that fun stuff again.
     This may seem like slow progress, but we are coding a lot of just core components, so that adding/using them later on is going to be a lot easier.
     I have a good feeling that we will be getting past the loading screen into a server soon(ish). That's mostly on my part. As long as I just be patient and figure out the logic and not rush it, it'll fit just right into existing code.

That's all for now :)

Dave

Wednesday, June 20, 2012

Progress

     So, we've acquired a couple new people. You can go check it out on the Dev Team page! We have been doing a lot of work the past couple of days. Sadly (I use that term loosely) we are still working to where we were in the C++ version. However, things are a lot faster now, and a lot cleaner. When I say a lot, I mean A LOT.
     We are writing code thinking into the future and making it flexible. Yes, bugs come up, but we figure them out pretty quick. Also, we have finally figured out the way to support multiple resolutions without making it look terrible! Trust me when I say this, that was no easy feat. It works nicely and it's all just a matter of development. I love the work that is going on between everyone. If we continue doing stuff like this, we will be having solid stable builds to try out. My dream is to have a playable version of a game in the future.
     Of course, that's awhile away, but it's always good to have goals in mind. A lot of the work has been in UI and server/client logic. .NET has its own quirks, some of which are really frustrating, but it's been bliss working in it and the DarkGDK engine. So expect us to keep working on Galaxy Gangs and hopefully we may have some stuff to show off at some point :)
     The best part about this now, is that working with a team makes things so much better. We all give our input and help each other out with one another's tasks. Seeing stable and consistent builds is such a nice thing and helps motivate us more to continue to work. Maybe I'll write another blog sometime this week with a screenshot showing where we are. So check back!

Monday, May 28, 2012

Some Interesting Stuff Going On...

     So, school is over. Eric and I are both done for the year. I've been working my summer job for the past 2 weeks and things have been mighty crazy. However, we have started to pick back up on the game. Eric and I had a lengthy conversation about what we are going to do and what our goals are.
     First thing is first. We are re-writing everything in a different language. C++ and the engine we are using was just a little too messy and I had to rely on a bunch of third party libraries to try and accomplish what we were doing. We are starting from the ground up (I'll explain more in a second), in .NET, C# specifically. I love C#, it is a beautiful language and is very clean. We made this decision for two reasons.
     Number one, was for my sanity. All the clutter and nonsense C++ has sometimes is just frustrating. C# is much more clean and clear-cut than C++. The second reason is that we feel that we can deliver a better product in .NET. We dished out some money to buy the .NET engine and it's license plus some wrappers to really put this game into the works. Everything is already flowing along nicely, and hopefully I'll even improve upon what we already had in the C++ version (Better GUI, threading, etc).
     Now when I say we are starting from the ground up, I mean that in work wise. We understand the logic behind the server and client and what needs to be designed and built. It's just a matter of building it and making improvements along the way.
     All in all, this is a good move. I can write C# code much faster than C++, and make it very elegant. It won't be long before we catch up to where we were with the C++ version. And just for your delight, here is the work in progress of the new server UI:


Reminds me of the old RCON tools/server for Call of Duty :)

-Dave

Thursday, March 15, 2012

Why we want to create games.

This is something that I've wanted to write for awhile now. It's also a good time to write this, because I'm downloading a game off of Steam, so I have some time. :)

People ask me all the time what I plan to do with my software engineering degree. My family asks me the same question. To me, this was a no brainer. I had been gaming even before I was interested in computers. I love gaming; I love how they connect people, how people can take your game and form communities around it, how it's a visualization of a concept in your mind that people can interact with. The list goes on and on.

Gaming is the compilation of every expressive medium of all times, in which you can interact with. That in itself is just amazing. Building games is my passion. Granted, this is my first step into this, but I know this is where I want to be. There's nowhere I would rather be than making games. I want to take the concept I have and encapsulate it in this great interactive experience, so you can experience it too. I want to spread this joy that I have making and designing the game with you, so that you may experience my ideas and the world that is locked up inside my mind.

Eric is in the same boat with me. We are both determined to make games and we make games because we can. Making games becomes an obsession with us. We get so involved with what we are doing, that's all we can see sometimes. I literally lie in bed and our game is just running through my mind. It's almost as if this is just burned onto my eyelids. Eric always wakes up every morning and has something new he wants to put into the game. When I say it's sometimes all we can see, I mean it's all we can see.

A game allows you to be something you aren't, be something that takes on this epic adventure to save the princess in the lost kingdom. A game allows you to experience something that you normally can't. To Eric and myself, that is something very precious to us. There's this wonderful world of games and we have to somehow make ours stand out from the rest. That's a very overwhelming task, but we believe that somewhere in our future, we can do that. Granted it may not be this game, or the next, or the one after that, but we plan on making an impact. We love this too much for us not to give 110%.

-Dave

Wednesday, March 14, 2012

We Aren't Dead

I haven't posted a blog in awhile. There is a reason for that. Eric and I have been super busy with college and getting work done. Everything has been crazy and I'm just always doing school work. I know that's how college works, but it explains why I haven't had time to work on the game in a little while. However, I hope to try and get back into things. This is just a quick update, and by no means have we stopped working on the game. It's just that real life has to come first, so that I actually make it through college :)

-Dave

Tuesday, February 14, 2012

A little update (but very exciting)

Client getting current round time from server
     After fixing the timeout bug, I went on to create the sendSnapshot portion of the server. It essentially takes a "snapshot" of the world on the server and sends that to all of the currently connected clients. Right now, every tick it takes a snapshot of the whole world and sends it. However, in the future, I am going to try and stay true to that Valve paper and add delta compression to the data being sent. I would need to keep track of where each client is and only send the data that has changed since the last tick and not everything, all the time.
     The screenshot on the right shows proof that the sendSnapshot code is actually working. The round time is sent during each snapshot and the client is correctly receiving it. Hopefully now that I have the correct structure down, adding other data to the game to send back and forth won't be that hard. I don't foresee it being much of an issue. The issue is figuring out what exactly to do with the data once it gets to the client.
     Coding a game isn't an easy task; finding and remembering all of the little things that can sometimes slip your mind. For instance, I have to remember that if the server clears out before a round is over, then I have to not allow the next round to start. That means I have to check for players existence each round. That isn't very hard, but I just have to remember it, and it's one of those things that can seem to just slip out of your mind.
     Now if I could only find another C++ programmer . . .

-Dave

Thursday, February 9, 2012

Where we are

     My computer had a hardware malfunction last week, as in, my onboard sound died. I had to order a sound card in order to have any sound again. So while waiting for that, and on top of school work, the past week has been hard to get any game work done. However, I have started  up again, going through the code and making the code more readable and organized with comments, etc. So far, everything looks much more professional and readable, which is a good thing.
     Now it's time to fix that bug that I mentioned last time. Eric and I narrowed it down to a very specific test case, and so we at least no what triggers the bug. That said, it's very confusing because in the code that triggers the bug right now, does a very simple task and "shouldn't" effect anything else. In the world of programming though, that means nothing, so I'm going to tear that code apart until I find this bug.
      After that, it will be sending player movement back and forth, just so we can see each other and feel that we are moving forward. I'm motivated to find this bug, because it is super annoying and frustrating. But, after I find it and get everything working, it's only up from here.

Dave

Thursday, January 26, 2012

Working Diligently

   The picture of the coffee is there to remind me (and you), what I will be drinking for the next couple of days while I fix some bugs.
  I've been playing Star Wars: The Old Republic. Yes, I know, but as the initial euphoria of the game starts to wear off, I'm getting back into the swing of coding again. Eric and I actually tested the server and client again last night to see if everything was working properly. We did run into a bug, so I need to run over the flow of data between the client and server once more to make sure that the data is being delivered and received in the correct order.
     I knew that this was not going to be an easy task, but we are getting closer and closer to basic player movement. Once I fix this bug, I can re-write the sendSnapshot() function which sends out a server snapshot to the clients. After that, it's only a matter of writing the code that deals with the data. The problem with the way the server works, is that it is run on multiple threads all running side by side. That creates race conditions unless I code it smart to only do certain operations after other operations are done.
     So that is what I will be working on after I do all this nonsense college work I have to do.

Thursday, January 12, 2012

Red Flare Offical



It has been done. The above image sets it in stone. We are officially Red Flare Games. After a long period of time trying to figure out what name to go with, we finally settled on one that we are both happy with. This marks the first major hurdle that we have conquered of the new year, and here is to hoping that this year is a stellar year for progress on Galaxy Gangs.

E

Thursday, January 5, 2012

Boid Algorithm/Flocking Behavior

I took a little break from the core structure of the game and server. I coded something a little fun the past two days. It simulates the flocking behavior of birds mainly, but any animal that can flock. I posted this, because I may end up using this in Galaxy Gangs for special effects.