About BlackBird (twitter: @@timbeaudet)
Ludum Dare 23
Ludum Dare 22
Ludum Dare 21
October Challenge 2010 - More
Well, it is time for LudumDare 23, and I am IN. I am also handicapped from my normal 3 monitor + TV for media. Down to 2 monitors and the TV for media, I think I will live but I am annoyed with the amount of real-estate lost. Mostly the left most monitor that is not existing would be used for the web-browser and thus documentation. This now has to share with the right monitor which is primarily the “chatting and socializing” monitor with double duty of file exploring on the HDD for assets and such. Center remains the environment for programming and debugging the application. The TV off to the side is mostly for media/movies/tv … I need to listen to noise while working.
Last weekend was Ludum Dare 22: Alone, obviously why else would hundreds of people gather to make no less than 891 games not including those that were not submitted? I took part of this awesome gathering for the second time, with Ludum Dare 21: Escape being the first. During that entry I had the following postmortem of which after reading I realize I didn’t put in all the things that went wrong. I feel to that list should have been “pick a smaller idea”, although I suppose that previous idea was very flexible in size.
What went right:
I had the weekend to myself, with no interruptions or responsibilities.
I picked a framework I was familiar with, and had tools to do what I needed.
I followed the theme well with a simple idea of taking a team sport, and playing alone vs the other team.
I spent little time debugging issues, crashing, etc.
I added sound effects and music early on.
What went wrong:
The idea was far too big for a weekend project, too many little rules.
The idea never turned into a game really, despite a win/lose condition; It was too hard, or too repetitive if the player managed to learn the patterns.
Some art; the player/ai characters, was completely temporary and never replaced with something better.
I spent far too much time programming. My framework needs to allow me to manage/do less, if it is to be useful in LD.
What was learned:
I need to spend more time on art/music and content. To help with this I am rewriting/adding to my framework so that it will manage more things for me. Instead of loading a sound, and remembering to unload it, I should just be able to PlaySound(“Yada.wav”). It would go a long way in reducing the time I spent programming, or at least the time spent programming “needless” things. An idea for a 48 hour game must be small. I went into this compo knowing I needed to aim to be complete with my game by the end of day 1, yet the idea I chose was far too big for that.
I am waiting for the next LD, where I hope I can shine through and get this done right.
Play and Rate: 10 Yards Alone
So last night I jumped in feet first with a very broad sense of what I was going to do; I now need to know exactly how it will play, and the very minimum gameplay, win/lose/scoring conditions and prepare myself to complete the minimum by the end of today so I can take Sunday off. That said, I also just woke up, so I am a tad hungry. Design over breakfast sounds good to me.
I was able to get something looking fairly well, I feel, without much effort or time. However it does not have any gameplay yet besides a player that can move in 8 directions. Tomorrow morning I need to jump directly on the gameplay portion.
I am not sure postmortem is the proper term for this entry, being I can’t be sure the life of the project has come to an end. Perhaps it has. Regardless of the lifetime of the project, this post is about what happened, what went right and what went wrong, as I worked on my Ludum Dare 21 entry: Escape. Sorry, I made the “what happened” a little longer than I expected, skip to the bottom for a true post mortem.
Ludum Dare 21: Start – 1 month:
This weekend started at least a month before with preparation and cleaning my slate for the entire weekend. I made it clear to family and friends that I would be busy during the weekend. Under no exceptions, (perhaps a big pay bonus), was I going to go into work; regardless of the circumstances or consequences. Luckily work didn’t want me to come in, so I didn’t need to worry about consequences. I had my framework picked; homegrown DirectX 9 engine written in C++, my language of choice. I was set. The week leading up to Ludumdare I made a blank project from my template – in doing so I felt I’d automate this process; which took me the full week nights after work. However, I can now type “CreateProject ProjectName” and out comes an already compiled template project that is at blank screen and ready for development.
Ludum Dare 21: Start – 5 hours:
No lie, there were several ideas floating around my head and was hoping for Castles to be the theme. I went shopping for some food and supplies for the weekend so I didn’t need to waste time doing so later. The IRC channel; #ludumdare was insane, I started a G+ hangout that filled with so many people, and I didn’t know them all, but we all shared a passion for Game Development. Finally, it was time.
Ludum Dare 21: 48hrs Remaining
Theme: Escape. Thoughts crossing my mind, #ludumdare going insane, I left the G+ hangout and went to my white board, and to cook a meal while I thought up ideas. I was pretty surprised that I had three right off the bat, each with their own challenges. One was a turnbased puzzler that would have been easy on the programming side, harder on the content side. Another I threw away based on scope, it was much too big for a weekend. The final was a physics based glider falling through a maze like puzzle to the ‘exit’. Despite being harder with math and level design, I choose the physics based glider on the basis that content would be kept to a minimum.
Ludum Dare 21: 44hrs Remaining
I had created a 2D camera, and sprite class – two things I overlooked on my framework, which admittedly is typically used for 3D projects. I managed to get the basics going before heading to bed to sleep on my idea before committing completely.
Ludum Dare 21: 36hrs Remaining
Woke up, ate a good meal and planned to work on the physics of the glider until I got it right, so that I could avoid wasting time on level design by setting the physics in stone before a level is started. The physics gave me some problems, it took awhile to figure out that the equation for lift did not apply it in the correct direction. That and other strange things. I spent far longer on the physics that I wanted, and I never got quite what I wanted out of it – but it was somewhat controllable.
Ludum Dare 21: 24hrs Remaining
I spent about 2 hours trying to get a randomized tunnel to generate, and quickly gave up on the basis I didn’t like the outcome of any of the work. So at this point the choice changed to making a quick and dirty level editor, which actually came out very well. By the time I went to bed I had wrapped up a level editor that I could play, edit, play, edit in quick succession. Hung out on G+ hangouts as much as possible, had some good discussions while still getting stuff done.
Ludum Dare 21: 13hrs Remaining
Motivation has dropped quite a bit even though I was on the final stretch. Time pressure was starting to begin as I realized I didn’t have a level or anything – but I did have my main gameplay mechanic; physics. To accurately test the level I was about to develop, I needed to add the collision for the game – which was much more difficult than it seemed. Despite using code I had from another project for line-to-line collision, it did not work. In the end, debugging proved that I was putting in the wrong lines… Many hours wasted.
Ludum Dare 21: 6hrs Remaining
A final burst of energy to finish the level, add a score counter, title page and share it on #ludumdare – got some feedback, made a quick and dirty tutorial page – that added a lot to the look and feel of the game. Removed the level editor and temp map files for the final build. Tried making some music for the game, but failed miserably.
Ludum Dare 21: 0hrs Remaining
Submitted the project as a jam on the basis I did not share my code. However, I followed every other rule strictly.
Ludum Dare 21: Postmortem; What went wrong
- This was the buggiest project I’ve worked on in years, I had to cross hurdle after hurdle; physics, line collision, level design.
- I did not put enough effort into created the game music, or sound effects – and this would have paid off huge in the end.
- My own expectations were let down on basis of; physical feeling and level design.
- Although I took a good share of breaks, getting out of the apartment would have been useful.
Ludum Dare 21: Postmortem; What went right
- The visual quality stunned me, it actually came out looking decent.
- I made good use of breaks for food, shower, sleep, and thinking.
- I finished, it was close to complete, and I had a lot of fun.
Check out the project, rate it, leave comments and most of all – hopefully it is enjoyable, even for a few moments.
I procrastinated too long on making a video for the “I am in” compilation, but I am officially in for LudumDare 21. I may opt for the jam on the basis I am using my own DirectX 9 framework that is not publicly available, and I’m not sure I want to make it publicly available. I have issues.
Beyond that I plan on using Visual C++ 2010, Notepad++, Inkscape, Audacity, Pidgin for IRC, Google+ for some good times, and I’m not sure what else; I do need something for music/sfx.
Woo, lets get this party started!
I normally would not be using the crappy laptop to power the TV/media screen – but I had to do something since my 8800 has fried and I’ve already lost “so much” screen real estate already… I know, third world problems. Anyways.
Well, I guess I’ve made infinitely more progress than expected since I didn’t expect to work on this MiniLD project. That said I am disappointed with what very minimal progress and effort I’ve put in, given how excited I’ve been about this for the last two weeks.
I wasted time on a Splash Screen right from the start, then a quick “Play Game / Quit Game” Main Menu. My idea was to network a very simplistic game, but not sure if I’ll be able to do that. I have abstracted a ‘GamePlayer’ class for the option, and the game is turn-based. I just need to add the world, turns, and gameplay. Lets see if the steam will raise, I’m not nearly as hopeful as I was previously.
I got to blackscreen late Friday night, but knew I was expected to go into work. While laying in bed, frustrated with work and not having the ability to join LD, an insane hack/idea popped in my head to complete my weekend work task in about an hour. Which to my luck has, mostly, succeeded. I could be working on the bugs it still right now but – I figured it mostly works and other engineers probably have better ideas at the areas I fail. Fast forwarding, my point is that I am now able to start working on my mini-LD project, something I’ve been looking forward to do since the theme was announced way back when.
So, here I sit, at 1pm Saturday, hoping that I my mini-ld project is mini enough to see through completion.
Well a handful of you know how much I’ve complained how busy I am at work. Really if I manage to create _anything_ for LD this weekend I call it a success… A smaller amount of people know that I lost several hours of work there, so I am even further behind. But after going home to relax and “sleep”, this idea and sudden burst of energy has overtaken me. I have an amazing idea but not sure I can pull it off. I guess I’ll put a few hours of effort into something and then go to bed never to touch it again over the weekend…
But it is a neat idea in anycase … lets see what I can pull out of thin air between working and the times I am supposed to be “sleeping”…
Here goes nothing… which is exactly what I expect: nothing.
Okay, so I did not quite get where I wanted to this October, but it would have been a challenge even if my freetime would have been higher. Work related stuff ended up taking a lot of my time, for almost 10 days in a row I was unable to make much progress at all, then work started slowing down, but I had an opportunity for a programming test; which ultimately failed as I found out last night.
These are not excuses, as much as the truth of why I didn’t get where I wanted. I am actually quite far behind schedule now, although I am still holding high hopes that I can sell a copy by December 31st. I see more and more people are starting to become interested, as I released a video of the game in replay mode last week, and have had a few instant messages with congratulations and stuff.
Overall I still feel positive about the project, and even after a few weeks of “here and there” development I think things are coming together nicely. I still need to edit the physics of the car/world, and need work on the user interface of the game. One small piece of the gameplay portion exists before I start adding all the dressing and polish that will turn it from a ‘game’ into something playable.
Tonight I added a config file, so the player can change settings and they will remain stored for the next time they play. As soon as I finish writing this I will start working on resources for the car, so that tires can be depleted, fuel runs out over time and brakes heat up, performing worse under heavy use, although quickly cooling back off. Once I get that working I will need to add some more things to the track editor, and start making some tracks and content… We will see.
In other news I added music, for now it is just temporary although I am going to be getting in contact with a musician sometime (I hope).
Have a good time, and congratulations to all those in the community that finished their games in October!!!
It has been a few days since I’ve last updated anyone on my project, and sadly to say not much has progressed. As of yesterday I still did not have a car moving, or any gameplay. I’ve been tied up with non-gamedev related work and tasks. However there have been acouple of waster opportunities, placing me farther and farther behind schedule. I can’t see it possible to have my project at Alpha complete by October 31st, however I will give it my best efforts to get it as close to that state as possible.
In other news, I have updated my splash screen, although I will need to update it once again for the final release as my logo will be changing again. I received my wacom tablet last weekend, and it distracted me for several hours. I am not an artist, but that certainly helps with my ability to get something concept wise. Speaking of which, I started working on some concept screens. This is the Race Setup Screen, although more information may be required later.
Beyond fiddling with many parts besides gameplay, I have finally, just tonight, got the car moving! The physics are by no means near complete, but a moving car is a huge step here. Many pieces were required to get this far, and many more pieces are still required before I can actually say I have gameplay. Unfortunately I work on non gamedev related things again this weekend, but I hope some miracles allow me to get laptime calculations and the ability to create replays.
As soon as I have a somewhat ready user-interface, and the gameplay near complete I will try creating some videos with gameplay footage that will likely blow your minds! But until then, you will just have to wait.
Progress has been a lot slower these past few days. Sunday I has to do a bunch of stuff in the morning, had many interruptions and distractions while I could have been working, and had other stuff to do that took a few hours in the evening. Basically no progress. Monday after work was pretty much the same, although a little bit of progress was made. I now have the game connecting to a database, and sending information to it. This will be used for best times, world records and that sort of tracking. Tuesday not much progress was made by myself, but the website can now access the database and display a table of the laptimes, sorted to boot!
Today has been a slightly different story. Progress isn’t blazing, but I have at least added a Message Box state, which will be used to tell the player that they are not connected to the database, and therefore any laptimes performed will not be shared, or rated. Among many, many other uses. The other day I didn’t put up screen shots of the main menu, but I will now – despite the same fugly look.
This is likely what it will remain like for the Alpha build, although perhaps I am wrong. I know that over the course of development when I come to polish this screen, I plan on it looking something like the next screenshot. Forgive my concept art skills. Well actually, forgive the complete lack of any art skills!
My hopes are to have this screen animated, so it looks like the car is moving along. The plan would likely be just moving the trees and clouds from right to left, while adding a subtle vibration to the car, perhaps tire rotation… Something simple but active. Anyways, I’m still trying to refactor and put together some simple UI classes so I can create other screens quickly. Also, before I go too far I will need to stop and consider localization support for any text that gets built into the game. It is best to do that sort of thing early, although I am going to attempt finding “universal” symbols/icons, and use those instead of text whenever possible.
I do wish I didn’t have a day job. It is really holding back my potential progress, and really hurting me as far as my schedule is concerned. I’m hoping to release something by the end of October, but I am not overly confident it will happen. But here’s to hoping!
Now it has officially been a week since I started the project. I must say I am pleased with the progress made so far, although things need to start moving along a little quicker. I am still knee deep in the editor, although wow, has it come a long ways in a single week. If I must say so, this is likely the best editor I’ve ever made. It has almost complete undo/redo support. I can’t say I am pleased with the code behind the editor. Maintaining this will end up being a nightmare, I can feel it already. A lot of copy/paste code segments for things like add/delete checkpoints / track nodes and other bits of information.
Since I last wrote a progress update, I have added the checkpoint system, which will be used to verify the car went around the track properly, and for timing the lap. I’ve also added camera control to the editor, which involved making the engine support the mouse wheel for zooming in/out. Also the track nodes now contain a width modifier, that can change the width of the track in a particular area.
Finally I’ve added a start grid tool, which can create evenly spaced grids for the starting position of the car. Only 9 tasks remain on the editor and track environment and then I will be onto a new task. I still don’t have a good name for the project so “TBR: The Best Racer” is sticking for now. Or it could be Tim Beaudet’s Racer…
My current plan of attack is to add objects / sprites to liven up the environment. Trees, haybales, cones, crowds and other common trackside objects would really liven the place up. After that I need to implement saving/loading of the track, and a car/world editor to assist when I start making the actual gameplay. More to come in the following days. If I have a miracle session tonight, perhaps the editor will be completed? Ahahaha…
Well, I don’t have any screenshots to share tonight. I could make one of the MainMenu, but really – not worth it. Just take my word. I do have drop-shadows on some text, which is pretty neat. But besides that, it is extremely bland, rotten colors and just needs to be touched up during the next phase of the project.
Alpha is all about getting all the features finished and working, and the main menu is working. Both keyboard (up,down,enter) and mouse (movement, left-click) selection support. I wasn’t planning on starting the MainMenu and linking up a few other game-states (with no actual implementation yet), until later, but I made a mistake yesterday that I need to be aware of in the future; especially on this project with such limited time.
I hope you can learn from my simple mistake; Don’t get caught up in things that don’t matter. Yesterday I was working on the editor, I got the track textured – looking a bit better now, and a handful of other little things. But most of my time 3hrs or so, was spent on a specific tool. It does have a use, but it also was a waste of time to spend more than 15 to 20 minutes on such a tool. Yet I added all sorts of little features/behaviors to this tool and I must brag, it came out awesome. But afterwards I realized that it didn’t do anything to the actual track. It helps edit the track, but it doesn’t edit the track.
So I didn’t actually make much progress since the tool I added is just a nicety, and not a requirement. I decided to take a step back from the editor tonight and start working on the gamestates for a change of pace. I know a lot of you LD’ers are shooting for Oct 31st to release by, but I won’t be releasing until early to mid December at the absolute earliest. Although, I will be completing Alpha by October 31st. Any features not completed by that date, will effectively be cut from the project.
I expect it to take the full month of November to polish up the features, and reduce the bug count as much as possible before releasing. This process will likely go into December, however after October 31st I can not, and will not, add any new features. I promise I won’t. (Hmm, will I?)
Well progress has been coming since I last posted the Splash screen. I have been working on some tools, in particular the track editor. I remain vague about my game idea for the current time, but it will be a racing game; for all intent and purposes. I am focusing efforts on being unique, and a thorough google search only brought up 2 other “personal” projects/attempts at what I am doing. I am hoping that serves to my advantage, but I am happy to know I have an idea that is more original than just making an Pac-Man clone with different theme.
So about this track editor; I spent my day Sunday working on starting it, and Monday night after work I lost about 3 hours of productivity. I was beat, muscles aching, etc… and couldn’t concentrate. However I did manage to get a few productive hours and managed more than I expected for the night. Undo/Redo capabilities for all current actions: Add/Delete TrackNodes as well as the ability to Move/Edit the node. This editor is within the game*, however it will likely be stripped from the release build.
I have been wondering quite a bit whether or not I should implement undo/redo. I estimate it will take 3x or so longer to maintain the actions, but I also believe it will save time when designing/developing more tracks. I plan on a minimum of 5 tracks, but hope for more than that.
Tonight I’ve started by writing this post, soon I will begin working on building the actual track from the nodes above. I am hoping that doesn’t take me all night. I want to do more than just that, but at this time I have nothing else planned, as I can’t think what comes next.
*Although it is within game, I have an EditorFramework that acts as an external editor; giving me advantages of a professional looking interface, menus and more.
A few hours later. . .
Well, I did manage to get somewhere tonight. Even further than just getting the track surface built from the nodes. Although, I didn’t get the track textured, yet, I did manage to build it quickly. Also I sent it off to a partner of mine, and fixed several small editor ‘issues’. Added saving/loading of editor settings for convenience , undo/redo still fully working. (Redo for the move action was previously broke!) Here is a small image of the track being built from the nodes:
Well I’ve decided to make my own engine/framework, choosing DirectX for visuals and DirectSound for audio. I understand this limits the current implementation of the framework to Windows only. I take this path because of future plans in 2011 with this framework. Beside, if I do find the need to port my “OctNovDec” project to other platforms, the framework does encapsulate all details; FileIO, Input, Audio, Visual, and Timing.
So after getting my framework up and running on an extremely basic level, with a lot of fun whoop-de-doos, I have a splash screen. Something I said I could do in “10 minutes” ended up taking “40 minutes” because I also made a simple sprite class. My time estimations seem to lack truth… Here is the splash screen, at least in concept.
With that I do need to change my logo. “Presents” must be removed or replaced; I’ve thought of Studios, but it is just me. I’ve thought of Games but that could be limiting – even if it is what I am focused on at these times. I could leave it just BlackBird, but I’m not sure. In any case, when I have a Main Menu, this will fade nicely into it. So, this is what I achieved as of last night, October 1st.
Today I’ve got some simple sprite based font system working, a finite-state machine for different Game States, and now progressing to work on the editor. May come back to edit. Yay for my first actual post!