Read an article on a site I frequent. It’s written primarily with 2D ORPG games in mind, since everyone on the site uses a variant of the same old engine, but I figured I’d share it none the less. Credits go entirely to the author, Spork.
Alright, I can give it to ya two ways, the intelligent way, or the Sleepy way…
Sleepy Way first…
Alright, I worked my royal arse off programming like a wombat for something up to 24 hours. Java program didn’t work, C# program didn’t work, VB6 worked with major setbacks. Don’t let anyone tell ya different, I’m awesome
Sekaru assisted with programming, did a good bit setting up the UI elements, as well as getting audio working.
Relly, bless his heart, made us three sprite frames! Oh, and his own game.
Carim offered side commentation on coding techiniques and failed emotional support.
Duders offered BBQ…
Now the Intelligent Way…
We originally started with an interesting, casual arcade game idea. We intended to use the most multiplatform language we could think of in order to reach the greatest audience, Java, with LWJGL and Slick2D.
We worked on that for a good 6 hours, and though the programming went relatively fine, we hit a road block on how to publish, as neither Sekaru or I could figure out how to run it outside of the IDE.
So when the other members came on offering ideas, we swapped over to C# in the process, thinking we knew that language better.
We didn’t. And worse, I honestly believe we reduced the quality of our game idea in the process, deciding to go with a generic platformer.
So after wasting another 4-6 hours getting no where with C#, we defaulted back to VB6, which we all know, but which also has little support from windows. And it sure as heck couldn’t play on other OS’s.
But progress went well with VB, we all knew the language, and we had some code prewritten which made our life easier. Issues arose of course, primarily with the camera and map system.
Both times, we (read, I) simply deleted the whole system and started fresh, and usually that cleared things right up.
We also ran into a problem, that I was programming late into the night, yet had no graphics support to keep up with me, so inevitably, I did my own graphics, which actually wasn’t so bad. They gave me a nice break from the head pounding.
The end product was a simple, generic VB6 program that seemed more like a demo flash game. But it was flashy.
We were also the only team to finish a game, and we finished 3 at that!
Final thoughts and advice:
K.I.S.S. - This was probably my favorite line, Keep It Simple Stupid. I repeated it over and over. Make sure you don’t shoot to high and risk never being able to make it on time.
Don’t get caught up. Problems arise, whole bits of code may break with little way to fix it. Don’t sit there and struggle with it, especially with a time frame like we had. If it doesn’t work, scrap it and get to working on something that does.
When working with a team, plan. This may seem silly, coming up with a plan for the next 48 hours only, but when you have so much to do, and so many people trying to help, making sure you have everything organized and everyone on the same path is vital.
Don’t be afraid to walk away for a bit. Having trouble with something that just isn’t going right? Just get up and walk away, come back in 30 minutes or so. More than likely, your head will have had a chance to clear and will know how to fix it by then.
<10:20pm> - Alrighty! Nearing up on the deadline now. Less than 2 hours to go I think. - I’ve managed to get Siloman as complete as I can without breaking it for another 3 hours. - Siloman can currently - Run, jump, and fall due to gravity. All movements are accelerated. - Collect radioactive powerups - You must collect all buy 1 power up to move on to the next level. - oh, and if your player hits the bottom of the screen, you die - I did manage to get something of a parallax screen in place. a nice little booster effect. - I also managed to get the character animations working sort of. - I’ve placed both Siloman and Relly’s Silhouette City in our Team folder awaiting deadline. They are marked as final. - Now with the time I have left, I’m going to try to make a third game. This one’s called “The Adventures of Siloman!” and is a text based puzzle game.
Sorry guys, I kinda missed an update earlier. Things are getting really heated with the deadline closing in on us.
<2:30pm> - Lot happening. Trying to get everything done on time. - Added interface items and graphcis for Continue, New Game, Options, Credits, and the Credits menu. - Writed up all the interfaces so that they work - Began working on mapping system. Very complicated, as the y rendering is inverted, meaning we render from the bottom of the screen up, and the map is stored as an array of stacks of tiles. My autogeneration algorithm seems to be working though. That’s a plus… - The camera system is royally f**cked though, I’m taking a break, hopefully one of the other’s can figure it out.
<4:25pm> - I’m started working on the map and interface systems again: - I wiped the entire map system from earlier and started fresh. This time, keeping it simple as possible, one step of a time. - While the generation algorithm is a lot simpler, it works just fine. With no headaches! - The camera system works for the most part, however, the player seems to move faster than the camera, even though the camera’s position is directly tied to the player position. - Redone the main menu, as a couple of the buttons didn’t really fit with our game. Instead, we now have Play, Options, Credits, and Exit. All updated with new button action graphics such as hover and click! - Oh, and Sekaru finally got music added in! Yippie!
<10:35am> - I’ve been working for about an hour and half now since I woke up. - I’ve managed to: - Fix the entire input code to better handle keystrokes and mouse input. - Added in a whole ‘nother section for handling the interface. Which is pretty slick. - Fixed a couple bugs. - I’ve also started working on game graphics again. - And a new Main Menu. ;) - Sekaru is hard at work programming in all the new interface pieces as well.
[4/3/12] <12:20am> - I made a game background. Kinda looks like smoggy smoke stacks. kinda cool. - IMPORTANT: I believe I remembered something about the DX8, all textures MUST be a power of 2, so texture sizes 720x480 or 28x30 don’t work… - I made a brick! It can be used for our map. It fits the background style pretty well. - I’m going to attempt to finish the main menu before I go to bed.
<11:00pm> - GameStates are implemented, for the most part. They currently don’t do anything, visible anyway, but they’re waiting to be used. - I’m starting to work on my own set of graphics, since I’ve hardly gotten anything from anyone else. - Creating: - Interface - Map Blocks - This should be enough for me to be able to start working on the maps and player stuff, as well as finish out GameState interfaces. - Methods and pieces that need to be programmed, I’ve left comment tags in their place where they will need to be executed from. Ex: ‘<DrawMap>
<10:05pm> - Just realized the input code i wrote for the frmMain earlier was totally screw ball. - I rewrote it all so that we don’t rely on form events, rather it just automatically checks it with each gameloop. - Fixed the form size so that it’s the agreed upon 720x480 - Began implementing gamestates, so that we will use the same form for both main menu, and game.
<9:45pm> - Been working on the engine some more. - Added a bunch of modules: modDatabase, modInput, modEnum, modGlobals, etc. - Input from keypresses on the form automatically goes through “HandleInput” updating values, which will be used in the game loop. - Bunch of other small stuff… - Moved graphics over so we have something to work with.
<7:35pm> - After lots of struggling with a language none of us really knew, we decided to start over once again, this time with VB6 and DX8, which we are all used to. Same game design this time though. - Set up the frame work for our VB project. All nice and clean and ready to work. - Sekaru is working on adding in audio. - Our three other members who joined us earlier (Carim, Relly, and Duders) are working hard on graphics and music and… stuff…
<1:30pm> - Complete overhaul. No more zombie flowers. - Now doing C# parkour platform game. - Complete direction change, details as follows: - Language: C# using XNA 4.0 - Style: Side scrolling platformer-ish - Gameplay: Get your character across the map by preforming parkour moves across skyscrapers - Art: Minimalist, red, black, white, silhouetted.
<8:30am> - Woke up. - Sekaru is up, so we quickly went over a design for our game. Here’s the spill: - You are Chuck the Water Bucket, your job is to protect your healthy flowers from evil zombie flowers. Use your
cleansing abilities to turn zombie flowers back into healthy flowers. - Sekaru is working on graphics. - I’m working on programming, using Java with Slick2D. - I’m also cooking a pizza… Yum.
Welp, here’s the first update on the GameJam/IndieJam. From here on out, I’ll simply upload my latest entry in my devlog from our project folder.
[3/3/12] <1:35AM> - Welp, the IndieJam has started. The theme is “modern.” - Since I seem to be the only team member up right now, I’m not going to work on any design or ideas. - Currently, I’m just setting up the project frame work. Files, folders, etc. - Creating the basic Java framework as well, I hope…
I recently worked on a web design project, and uhh… learned a few lessons from it. Here they are:
Make sure you are in practice before accepting a job. I hadn’t done web work in several months if not years. Not a good idea…
Make sure you get all the information you can squeeze out of the client about what they want their site to look like before starting. Nothing sucks more than getting what you thought was mostly done only for them to tell you that was completely wrong.
Constantly send mockups/previews/updates to the client to make sure they’re still happy with your work and that you’re going down the right path. See #2. Just don’t spam their inbox…
Modularity is key. Make sure you stylesheets and html are easily edittable with a few clicks to change out color schemes or graphics. Searching a 500 line stylesheet trying to find the one line that changes the background to a particular paragraph sucks.
ID and CLASS. To totally different things, and I’ve been using them wrong. CLASS applies a particular style to a piece of the page, but CLASS can be used on multiple pieces with no problems. ID is used for scripting purposes to located ONE particular piece. ID’s should never be repeated.
Sleep is good. Trying to work on a site while you’re dead tired generally just leads to more screw ups…
My boss Jake showed this to me today. Twitter has released their fancy front end CSS sheets, called Bootstrap. Let me tell you, it makes web development 50x easier, not having to dick around with bloody stylesheets all day.
Well, while it’s not quite a digital work, it is a picture of something I’ve been working on.
I’ve recently taken up on knife smithing, made a knife for my dad for Christmas, and just finished this bad boy up today for a family friend. Not gonna lie, it’s pretty fun and I wish I could make a living off of it.
Welp, now that that’s done, time to bust down on that website project. Looks like I’ll be up at midnight tomorrow, but not for a party. I’ll still be having fun though, I hope. o.0
Wow, been quite a while since I updated ANY of my tumblr blogs. Bout time I did too.
So, in my little work of digital chaos, I’ve been working on putting a little game together called… “The Terminus Project”. It’s just something small I’m working on to keep me sane while I’m attending school. It’s your classic Nazi scientist conspiracy storyline, that of course ends up with zombies. I’m not trying to win any prizes with it, just have some fun. Here’s a link to the WIP thread, and some screenies…