Archive for the 'Programming' Category

Page 3 of 4

Zinger! progress and stuff

New splash screen, the sunbursts are actually animated so they spin around… quite a trippy effect in full screen:
Arcadium Software

We made that for S & G’s. And now for a something completely different:

Chad started some clientside interpolation for our prediction. Our goal is to have a smooth and enjoyable multiplayer experience. Basically what happens is the client (you) doesn’t rely on the server 100% for exact values of visual things like, for instance, the position of a ball. If your screen rendered exactly what the server told you and the game happen to have a little bit of lag, you’d see the ball warp across the screen. Instead using prediction and interpolation, it smooths out the movement to look more realistic even though the lag is still there.

Additionally, Chad just barely started implementing the physics, BulletX. Really looking forward to see what he’s going to manage.

Me? I’ve been doing crappy shit like advancing our GUI library to include tools for building a settings menu and shit. It’s really boring and I can’t wait till its done. Even though I hate it so much, I know its really needed. Such a simple tool yet so necessary for any decent game. Some games missed out on this feature and it really shows the lack of attention to detail. Although Infiniminer is a wicked fun game, it really blows ass to have to exit the game and edit a text file to change settings… oh well.

I’ve also been reworking the audio system thus far. Mainly improving performance and moving away from the MediaPlayer library. That thing sucks all sorts of donkey anus and I won’t go into how laggy it can be (you play a song and it waits 3 seconds while it blocks the rest of the application before you can actually hear anything).

I also emailed Steam, which you can keep up-to-date with here.

XNA Color Chart

I don’t know if anyone needs this, but I sure as hell did:

http://www.foszor.com/blog/xna-color-chart/

Basically I made an app to generate the HTML code. Enjoy.

Zinger: Milestone 2

Zinger screenshot

Not going to bother reposting everything here, so visit this link.

Zinger! XNA

arcadiumlogo

Arcadium Software is well on its way into the Zinger! game developed in XNA.

Chad and I have had our struggles trying to create a game… mainly because we go “too big”. For two guys programming a game in their spare time, its a bit overwhelming to try and write a fully networked game engine from scratch… and then create a game for it. We gave it a shot but it was just a bigger undertaking than we had expected.

Seems like we couldn’t get our footing when it came to developing a stand alone game. We went back and forth on a “company” name (I use that term loosely, as its just a branding we’ve put on the software we develop), then it was the game engine itself, which we kept redoing and redoing from the ground up… ugh! What a mess!

We finally found the sweet spot. Not only do we have a name we love, but a game we love too! We said the hell with doing it all from scratch and use what tools are available to us out there. XNA has been a godsend! Sure its managed code and adds some prerequisites for the end user; like .NET Framwork 3.5 and XNA 3.0 Runtime, but it speeds up development time exponentially!

So far we have a working GUI, console and basic commands. Plus we’ve been able to connect to the server and transmit data back and forth (including syncing entities). We’re super excited!

One thing that’s really helped is we’ve set milestones for ourselves. Stuff like “compiling a level by tomorrow”, “connecting to the server in the next 6 hours”, “syncing the entity list by yesterday”. These are what keeps us driven and going in the right direction. We don’t always code the cleanest, but once its working we go back and sort it all out. SEEING our OWN progress has helped so much too, keeps us motivated.

If you want to see what we’ve got so far you can download it here. There’s no server to connect to right now, but enjoy anyways. Make sure you download the stuff I mentioned above.

Where the game engine went

The other day someone asked me why I haven’t really spoke about the game engine lately. The thing is, we’ve been doing plenty of work, and there’s a lot to talk about… but I’ve been sharing all the juicy details on our development blog, instead of this blog. We even have our own Twitter which is why much of my tweets about it are gone too.

He was right, I should sorta split it up. I’ll keep my personal tales about my work on this blog and save the big, more official updates for the development blog.

Where is this blog and Twitter? Well, oddly enough we’re not ready for people to be following our progress so we haven’t announced anything publicly yet (you could probably find them if you tried hard enough…). Which leads to another question you might ask: If no one is following your development blog or your Twitter, whats the point in having it? Its a fair question but our answer is simple: How many times do people come out publicly with some project their working on and have some website that you go and visit and all you find is “HEY WELCOME TO OUR NEW HOMEPAGE!”. Its pathetic really, there’s no point in going there at all.

What we’ve done is started populating it with information so when we’re ready to start discussing it, people will have some sort of content to read (plus the site itself isn’t really finished). In the next week we hope to do this, because we want to get a benchmark demo distributed. Our primary goal is to ensure what we’ve worked on so far works on everyone’s machines, not just ours.

Super excited

Working on the game engine has really got me pumped up lately. Yesterday I accomplished something I had previously thought I wouldn’t be able to do. When I finally did it I was so excited I couldn’t even sleep. I had to force myself to sleep before work but only ended up getting 3 hours of sleep.

I’ve always followed various Indie game developers, but lately reading their blogs and updates has meant a lot more to me. Instead of reading them and feeling like “I wish I could do that” I’m more inspired by it and excited to see what people manage to do.

Also, anyone know of a good antivirus that works well in Windows 7? My old one doesn’t want to update its virus definitions, seems jacked up by the new OS. Need something that doesn’t suck… willing to pay. (heh, most people are willing to pay for something that does suck… know what I mean? Wink, wink, nudge, nudge…? Termy’s mom? Ed’s mom… and dad)

Complete Overhaul

Imagine you’re driving a new car, and you go to work one of the controls for the air conditioning. You look down and figure out how it all works (because fuck the user manual) and you manage to figure it out. But there’s just one knob placement or setting adjuster that is just… strange in your opinion. You can use it the way it is, but if you’d designed it, it would have been somewhere else. Now imagine if someone reminded you that YOU designed that controller… and yet you don’t like it. Pretty stupid huh?

So we’ve brought our engine to a good place as far as progress, but neither of us liked the architecture! We both knew how to work everything, but we didn’t enjoy doing it like that. So it came to mind… WHY THE FUCK DO WE LEAVE IT THAT WAY? We have all the time in the world to make this the way we want to make it, so why rush through and not fix it. Plus its easier to fix now than later. So we created an empty project and we’re slowly moving stuff into a new design of the engine. I sound like a broken record but we’ve learned so much so far, we’re already trying to use this knowledge in the layout of the engine. It will be for the better and probably only set us a half day behind.

Oh and we’ve dropped the name “Gadget”. We don’t want to brand the game engine as a product, because its not. Its just a tool for us to make games with. So now its just “game engine”, which makes a lot more sense in the code as well because we had a class like CGadget and other shit like that, but when you look at the Source SDK you never (I might be wrong with “never”) see the term “Source” reference to the engine itself.

OH! For those of you who don’t follow me on Twitter… our game engine play its first sound yesterday! I was sooo fucking excited when I heard it I about shit myself. I know it seems like a small feature, but its like seeing your child take a first step.

And for those who haven’t picked up on it; after a bit of discussion we wanted to have our name be a little more unique and stick out. Previously I mentioned we were working under the name Backburner Interactive, but we’ve since changed it to Bakburner/Etc. Yes its missing a “C”, yes its a slash and yes its “etc”. It makes total sense in our heads and if you need more of an explanation let me know.

Audio and Oggs Vorbis

Just a quick blog for today. We’re going with Oggs Vorbis as our primary sound format instead of MP3. Mainly because MP3 requires a license anytime you write a decoder… yea fuck that shit. Fuck that shit royally in the butt. Plus once you have the libraries included in your project the files are pretty damn easy to work with.

As Chad keeps chipping away at the renderer, I continue work on the audio portion. I can’t say this enough but if nothing else this project has been such a learning experience for me. Little by little I’m grasping concepts of C++ programming I never even knew existed… totally awesome.

Speaking of audio; Bakburner/Etc has grown a bit. I recently found out Brock aka Edward the Retarded Medic or DoctorMowinckel is an amateur sound editor. Fortunately for him we’re a couple of amateur game developers so he fits in perfectly. We’re still looking for 2D and 3D artists. Hit us up.

A game engine

Yea so its finally starting to look like a fucking game engine, woohooo! No we’re not even into the 3D stuff yet but Chad has taken the renderer to the next level… its actually rendering stuff now! Plus he got the first implementation of materials working, which is a huge leap on its own. I’ve been working on the world manager and base entity, and learning a lot as I go.

About three weeks ago we were discussing different aspects of Gadget and I found an article on one of them. I immediately began reading it with full enthusiasm only to close it 45 seconds later due to complete fucking confusion and a total lack of understanding of what was going on. Just today I came across that VERY SAME article and was able to read it start to finish with a 90% understanding of what the author was trying to explain… I shit you not.

I’m very much a visual learner; rarely to do I bother to read anything other than the very minimal I need to get started. Directions to putting some Ikea furniture together? BLASPHEMY! Instructions for a new TV? Hobbosh! Installation steps for software?! ARE YOU KIDDING ME?? I just do it and figure it out as I go, ’nuff said.

The other half of Bakburner/Etc probably feels like an adult teaching a Jerry’s Kid to cross the street, but its finally starting to pay off. This is for you Chad:

Borat thumbs up

Also, media related:

gadget screenshot

Derailed!

I’ve been so fucking derailed from my normal tasks lately. The other day I was browsing an old website backup and I found the LuaBin folder.. which totally made me laugh. That thing worked well but was wrote like shit. Since it disappeared I’ve had a few (well more like several) people ask me what happened to it. I didn’t pay much attention to the subject until I found the code and realized how much better I could have made it. And so began my week long derail.

LuaBin has been revived. I rewrote it from scratch and restored the snippets I had in the backup. I went for a clean and easy interface and maximized the syntax highlighter. I still use Geshi but I’ve utilized it to its full potential and extended the keywords…

Oh…! I have to derail this blog about being derailed with a short derail: Is it just me or are some people complete fuck-faces and overuse the vote kicking in Left 4 Dead? I joined a verses server the other day on the infected team and spawned as a hunter at the start of No Mercy. The survivors ran down the stairs (of course) and I jumped down the glass sunroof. They encountered the other infected and killed them all. So this one douche is like:

WHAT ARE YOU DOING FOSZOR? ATTACK THEM! ATTACK THEM NOW!

So I’m trying to get to them but they’ve shut a few doors so I have to beat them down. What happens? I get vote kicked! They didn’t even give me time to explain the fact that they were stupid cunts… err… I mean that I was stuck behind some doors and wanted to maul their faces off like a pet chimp… err… was trying trying to get to the action. I could have explained myself quicker but my mic was broken…

Oh…! Time to derail this short derail with a different derail: So the other day my mic just randomly stopped working… I can’t figure out what happened. I tried messing with my system settings but I’m pretty sure its a problem with the mic itself because of the weird feedback I get and I tried my DJ mic and it worked fine. Fucking hell! So I went to order an identical headset (because I heart mine so much) only to realize the god damn things are still almost $100! WHRY!! They were $100 like four years ago. How can they still be that much? I mean I got these for free as a promo gift but still…

Battlefield HeroesOh…! This is a short derail to the previous derail: Speaking of free, have you guys tried the new Battlefield Heroes beta? They said they focused on the backend but its still pretty crappy at the moment. The game itself works decent. I mean I get a black screen when I join a game 50% of the time, and the matchmaking is worse than the Left 4 Dead system… but for a beta its cool. Seems like no one wants to be Royal Army and everyone is a National.

To sum it all up:

LuaBin == done
L4D players == idiots
mic == broke :(
BFH == cool + needs work
me == brack to wok on gadget

</derail>