So, please... do not worry... it'll come...
GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
About this blog
This is my space where I post my thoughts about the things I do, my life and my work...
Entries in this blog
So, please... do not worry... it'll come...
Before I can actually write a report about the conference, I'll have to dig through my >30 pages of notes. As for my previous conference report, I'll also try to dig up some additional information about the topic on hand. So... keep coming back I think that by the end of next week you'll find an article here ;)
Enough non-sense... I`m looking forward meeting old friends and new people at the conference... Paris... I`m coming ;)
a) I had to reduce the amount of time I worked on the new contract I signed in January. In fact, the company had some problems which seem to get sorted out this and next months... crossing fingers.
b) an old customer of mine came back to me and has a lot of work for me... which is very nice... interesting project and 1.5 million lines of code to maintain
c) I made a lot of progress learning the Unity engine. I did several prototypes and finally decided to really concentrate on my jump and run game. I'm currently working with two graphic artists to get the assets and game characters to (at least) AA level. I've already implemented quite some features, and I basically already can generate quite some puzzles using keys, doors, moving platforms, boxes, etc. A basic "health" system has been implemented... there is still a lot of work to do, but I can see daily improvements. I'm also working on a new website for the game and my "game company".
d) Next week is the Game/AI Conference '11 in Paris. I missed last year's one due to my contracts I had to fulfill. I'm returning to this years one because I really like the conference and the people I meet there. Purchased the VIP ticket which allows me to participate at the VIP dinner and gives me some extra candy (pens and stuff; I just saw that they seemed to have ditched the T-shirts?!?). The hotel is booked (Wednesday to Saturday) and the Thalys (train) tickets are purchased... I'm really looking forward to this... I'm thinking of wrapping up some kind of "report" as I did 2 years ago...
I'm someone with a lot of experience... I really mean A LOT. I've been in and out the gaming industry for the last 14 years, working as programmer (junior, senior, lead), project manager, technical lead, head of development, freelance developer, etc. I've collaborated in several AAA game titles, and contributed to and developed several serious business applications from speech recognition based picking software to fully fledged CRM systems. I've written game engines and maintained code bases with up to 1.500.000 lines of code.
Why do I tell you this? Because it's important for what comes next Due to my experience and my notoriety in and outside the games industry, I'm in the fortunate situation that I never really have to search for projects as a freelance developer. Whenever I drop somewhere that I'm searching for projects, it takes between a couple of days and a couple of weeks before I have several projects on my table from which I can chose. And chose, I do.
While I've got a lot of "been there, done that" projects on my table, I usually chose those which a) seem to be the most interesting to me and b ) enable me to learn new things, mostly independent of the money I gain on that project. Sometimes it even happens that the 2 fit into one project. The project I've signed recently is one of those projects.
Here we go The company I signed with is iOpener Media. What do they do? They capture real-time positions/acceleration/etc. of racing cars on the track and stream that information into racing games. In that way, the player is able to do the race against actual pilots running the race somewhere else on Earth. You want to participate the latest F1 race in Monaco, Dubai or Japan? Run an iOpener enabled game and log into your account... as soon as the real-world-race starts, it will start on your screen. This is one of those games.
If you want more information on this, please read the web sites
My work on the project will probably be the delivery of the content to the user base and contributing to the development of the API for game developers. I'm really looking forward to this because it combines hardware, software, web, cloud computing, traveling ( ), and collaboration with old friends and people inside the gaming industry.
With all my courage I one-foot-jumped to the showers, to the car, drove home and laid in my bed. I admit that I slept quite well... But on Saturday morning my wife drove me to the urgency and a platter has been applied to my leg, after it had been examined. I have some fibers of my Achilles tendons snapped. Not the entire thing, but still enough to force me into at least 3 weeks of platter...
Fortune in misfortune: The new customer for whom I should have started working last Monday, sent out two guys (who happen to be former colleagues of mine) to bring in a machine with everything I need on it for me to start working from home Contracts have been signed.
I'll talk about the highly interesting contract in another blog entry
There are still some little glitches (ie. my blog title doesn't fit entirely into the blog head) but that is not annoying at all.
I'm looking forward to discover all the rest of the new features/pages.
Hopefully everyone has survived the New Year's Eve. I've spent the evening with my family. My mother in law came by and we played Monopoly until 2 a.m.
The last couple of weeks were quite... well... in between stressful and calm. I've signed with a German company for a software maintenance contract. And 3 other contracts are in the works: 1 contract with another German company to work on their middleware software, and 2 contracts for web games (1 private owned company web game and 2-3 facebook games).
So all in all the year seems to start fine.
But... what have I done and achieved last year?
- Bought a second house
- Done A LOT of works in that house (spend a lot of money on that; most expensive year I ever had).
- Started working with Unity
- Created a multiplayer game prototype
- Started working on Insane Robots
- Finished a contract work for a company in Switzerland.
And what is in for next year?
- Sign the remaining 3 contracts :)
- Finish those contracts
- Finish Insane Robots
- Take a look at UDK (the multiplayer game prototype needs a good dedicated/master server structure and hopefully UDK provides that).
- Finish the renovation works in my office upstairs (in January)
- Chop down ~100 trees on my estate (some of them almost fell on the neighbors house)
That already quite some stuff to do...
So... have a nice year!
things are starting to work out for me: This week I had an interview for a contract with a German company who delivers real time racing data into computer games. I still have to pass a 4h test beginning next week, but that shouldn't be a problem (normally). I'll also sign a contract with a second customer who in fact came back to me after almost a year.
You surely are more interested in the starting story of my game, so here we go. But before I start, I'd like to to say that the story itself introduces the reasons why the main character of the game is not allowed to / cannot destroy his robot fellows.
Insane Robots: The beginning
In the year 2251 earth is a planet of wastelands. Human mankind has destroyed the planets' ecosystem, ripped out almost all useful raw materials, and polluted the water to an undrinkable state.
This was the year the largest of all HTS (Human Transport Ship) left the construction bay with 350000 souls on board: HTS Hope II set route to GJ1214b, a planet in orbit around a red dwarf approximately 40 light years away from the solar system. While the planet orbit time around the red dwarf is about 38h, the conditions on the planet permit the construction of facilities. The planet's atmosphere is similar to Earth ones, and even though the planet's mass is about 6,5 times the mass of Earth, the bigger diameter of the planet (2,6 times the diameter of Earth) results in 100 times lesser gravitational force. Fortunately, gravity forcefields have been researched and mastered.
The relative trip time to the planet is ~7.3 years at 1G acceleration (Earth time is ~42 years). Due to the huge number of people on board, it is not possible to keep them awake during that time. So before HTS Hope II left the bay, everyone has been put into hibernation sleep. Robots have been constructed to take care of the space ship and their passengers.
It was 5.5 years into the travel when Barney1, a maintenance robot (actually YOU), has been awaken by the Central Management Intelligence's voice (short CEMAI or CEM) during his recharge time by the words
"Barney one... Wake up, Barney one..."
Barney1 started his optical devices and saw the holographic projection of CEMAI's female face.
"Barney one, we have an security issue. Please stay calm and proceed to unlink from the recharge station."
Barney1's positronic brain made several hundred calculations between the moment he got his order to unlink and the moment he actually finished the process. He wondered what security issue that could be. When he started to recharge a couple of minutes ago, everything seemed to be just fine. He had finished checking the 1024 hibernation stations he had to supervise, and he had adjusted some of the core maintenance robot's parameters to improve the performance of their work.
"Barney one, please proceed to the central robot maintenance bay. We need you to be there as soon as possible. Please do not get in contact with other robots. A virus has been detected which may be transmitted if you get in touch with them. The virus prevents robots to work accordingly to their parameters, so contact with any infected robot might put endanger the lives of our passengers."
Barney1 quickly thought about the situation. If any of the robots he might encounter on his way to the central robot maintenance bay (CROMB) is infected, he might get the infection too and thus not be able to help CEM to solve the issue. He'd better avoid getting in touch with them. Fortunately, his rank as a chief supervisor enables him to make usage of enhanced possibilities such as direct access to computer consoles and access to maintenance items, and the traversal of almost the entire spaceship. As soon as he would be at the CROMB, he could re-initialize the entire space ship and thus evict the virus from the robots memories.
"CEM, I'm on my way. Please wait for my arrival before re-initializing the maintenance robots."
"I'm on my way..."
Soooo... this is how it all starts... Any feedback is welcome :)
First of all, I wrote a contract for one of my earlier clients. Some 2 years ago I started working with a client who had a CAD software for industrial facilities. The software is able to calculate i.e. pressurized tank material stresses or how the metal sheets have to be cut to create specific parts. Using ASME, Din and EN standards, it is able to calculate if the thickness of a wall resists to certain circumstances while using a specific material (or chemical combination). That software has about 1.5 million lines of code. And I am the only one maintaining that code base.
Ok... I got that contract by a headhunter located in Germany, so I had the problem that my contract forbid me to directly handle the client. Every payment had to go via the headhunter (so he can take his share of the part). This was ok for me. Unfortunately, in the end of last year, the client didn't want to work anymore with the headhunter. So he let slip the contract and didn't assign any further work.
Some weeks ago, the client contacted me directly in order to work with me. My contracts with the headhunter were still valid, so I first had to talk with him. Fortunately, the headhunter acknowledged that the customer didn't want to work with him anymore, so he signed a relief for the customer protection part of our contract for that customer.
Contracts went out this week to the customer and I have to wait for him to sign them. Happy ending on that part :)
Second thing that happened: I've been called by the customer for whom I went to Paris a couple of weeks ago. This time he wanted me to help him write a migration specification. What's that? Well, whenever a customer wants to switch software and/or hardware versions you need to have a clear idea of what is included in all this migration. The migration specification indicates what is happening, how it is happening, what has to be done, which steps have to be taken, etc. All in all, parts of it are a detailed approach of the problem.
I actually did 2 parts in the specification: The first part was the description of a software that will replace another, older one. This included the description of the different screen masks, the functionality and the transition and actions between the different screens of the application. This also included an analysis of the network messages and traffic between a client of this application and the application server.
The second part was the description of the database migration from an earlier Oracle version to the most recent one. Some table descriptions, migration steps, advices etc.
Happy ending here, too.
Another thing that happened: This week I was at a customers office because we encountered a strange behavior within the software I wrote for him. It's a long time project, so parts of the code are old... like "very old"... like 6 years old.
The problem description: In this software a client connects to a server. This server communicated with a database and another server (via Telnet). One user of the client software could not log in when using my software, but was able to log into the application when he directly uses the Telnet connection. The problem only occurred with one user and no other (of the ~200 users). AND... the problem followed the user from one machine to another. He could switch the machine and the problem followed him to the new machine.
We were able to eliminate the problem by restarting the server software...
After 2h searching for a solution, the only possible point in the software was the connection dispatching. In fact, the server holds a session for every user who logs into the system. Using the user credentials, it logs into a Telnet session with the second server and translates the incoming screens into commands for the client software. Looking at my log files, I saw that the user with the login problems actually connected to the server, started a telnet session but that telnet session froze. A reconnect would try to pick up an older session, restarting a new one, if the old one could not be used.
Now this part of the software hasn't been touched since 6 (!) years. It has been the same since the beginning of the project and never has failed. The only thing that has happened recently (and the problem showed up 2 weeks later) was a hardware migration the customer did (yes... another migration... beat me to it). Unfortunately, the customer didn't inform me about the migration so I could not take a look at the specs (specially the Java runtime used).
All in all, I could not solve the problem by debugging, because I could not reproduce the problem. I finally put in some more detailed logging information within the connect/reconnect/disconnect part of the server software, in the hope that I get further information next time the problem occurs.
On another note: After I had finished my daughters room, I started working on my new office. The roofing has been insulated, so I'll move into a ~70 square meter area which will be cut in two. The roofing has 3 windows in it to give enough light to the room. So, when working on my office ceiling, I started putting the plasterboards around the window. Suddenly a water drop fell on my head. I investigated and found that the insulation around the window a) hadn't been properly placed and b) the foam they used to close air tight the area around the window actually lifted the outer part of the roof so that water accumulated when it rains (sounds weird but that is what I saw). So currently I'm in discussions who will have to solve the problem because the insulation guys say it's not them (the foam would not cause any problem if the roof had be done properly), and I say that it's not the roofing guys because I actually checked the roofing by climbing onto the roof and using a water hose to "simulate strong raining" and nothing happened.
Now the water drops appear at the foam...
Insane Robots: Due to the above mentioned work, I had little time working on my game. Nevertheless, I now have a version where I can create movable platforms and add waypoints to them.
The story of the game is all set. BUT (there's always a but)... Although I wanted my game to be violentless, I wonder if this is the way to go for this game. Without giving too much information, the first part of the game mainly consists of avoiding other robots, play some minigames and collect stuff. The second part resembles but is targeting to repair things (use items on robots and computer consoles). While this "avoid and collect things" stuff is in the spirit of "Impossible Mission" (yes, I am THAT old), I wonder if this is enough fun today...
What is your opinion on this?
I now might have some time to work on my game. This evening I continued working on my in-game editor and polished the tile/platform selection and removing. I also worked on the selected object info window.
I really must put some working into the moving platform editor part which basically consists of placing a moving platform and adding waypoints to it. The object info window will allow to enter the waypoint placement by hand in case some finer grained placing of waypoints is needed (well finer than grid based).
Next week I'll have some contract meetings (crossing fingers that something will evolve from this). While I still have some money left to be without work for a couple of months, I don't feel comfortable being without any contract in sight at all.
A couple of month ago, my main working machine had some hard drive problems. I didn't remark anything initially. It all showed up, when the drive didn't show up anymore.
Unfortunately, that drive was my development drive: all my recent and current projects were stored on it. So when it faded out, I was happy that I made daily backups...
So I thought... but in fact, the hard drive problem didn't happen only that day, but also all the other days. But only when using the drive for a long time. The result?
Well... During day to day operation the drive worked as expected. I didn't encounter any problems (until the fatal day). But when the drive is used a lot (like when doing some backup and zipping up 2gb of data/source code) the electronics heated up and started to create some read failures which were NOT reported by the hardware and software. For them, everything was just fine. So corrupted data was packed up and then stored on my server.
There I was... no HD and corrupted backups since end of July.
I found a company in Brussels which sent the HD to a facility in Spain. They managed to read the ALL data from the dismounted HD plates. It took 5 days (including UPS pickup and delivery) and cost ~1600 Euros.
I didn't want to run again into such a heating<->HD problem, so I decided to build a new machine. The old machine wasn't a slow one:
Q9550, 8Gb DDR2 Ram, 2 TB HDs, Ati HD5870 + GF8400GS (for a 3rd monitor).
i7 870, 8GB DDR3 Ram, 3x OCZ Vertex2 128 GB SSD, 1x Corsair SSD-F129GB2, HD5870+GF8400GS
I obviously had to change the motherboard.
Basically I only pulled over the power supply and the graphic cards...
2 weeks ago the power supply started having some problems: Whenever I started the computer, it would try to power up, stop, retry to power up, stop, etc. It took like 5-6 power ups before the machine started as should.
Additionally, the onboard fan of the HD5870 started to make some LOUD noise.
This morning I had some time free, so I went to a hardware store and bought a Thermalright Spitfire + 14cm fan + Thermalright VRM R5 + a new BeQuiet power supply. The installing instructions weren't very clear about the ram cooling thingies, but after 1h everything was installed and up running.
The machine starts without a glitch and first tests show that the HD5870 doesn't heat up to more than 41?C under heavy stress.
Ah yes... startup time from Bios screen to Win7 desktop: 19 seconds :)
Nevertheless I've also done some other things, the most important being to re-install VS2008...
I did this for 2 reasons:
a) Unity 3 and VS2010 have some co-existence problems. In fact, I couldn't manage to directly open a C# file in VS2010 from within Unity 3. The damn thing couldn't locate some kind of proxy to open VS2010 and opened the files in Unitron (the Unity script editor).
VS2010 also tried to re-import the project files more often than it was necessary.
b) one of my former customers requested me to do some work for him and *that* requires VS2008...
Now Unity opens the files/project in VS2008 without a problem and the customer's work can begin next week...
But before I'll have a trip to Paris for another customer. Sometimes it pays to speak more than one language ;) I'm no native french speaker but since my wife doesn't speak any other language than french, a costumer of mine figured out that I could help them during an on-site meeting.
This means, that I'll not be back here before Saturday or Sunday...
Unfortunately the whole operation is... well... I had plaster dust all over me. When I showered the water flowed down my legs all white. Well... next step will be to apply a second layer of plastering to make it even more smooth.
I fear that cleaning the whole mess up will be difficult, too. The stuff is quite volatile and flies up whenever you make a movement.
In Insane Robots the player controls a maintenance robot which has been awaken during his recharge cycle because a computer virus has infected his fellows. The complete storyline has been worked out featuring 2 alternate endings for the game. The gross level layout and sequence has been depicted.
My initial plan is to keep the game as free as possible of "violence". The Three Laws of Robotics will be the basis of the game and the third law will be interpreted to not only cover the robot's own existence but also the existence of his fellows. The main game element will be avoiding getting in touch with other robots (to not to be infected by the virus), find access codes and manipulate computer consoles in mini games.
All basic game features such as the tiling system (for the level construction), the platforms, ladders, spawn points and moving platforms are already in a working state although the moving platform will require some enhancements to fit to my needs. The character controlling is working too and already feels quite OK.
Although I already have parts of the graphic assets needed for the game, I'm still working with placeholder graphics to not being disturbed by doing fancy graphics instead of game-play.
One of the game's features is the in-game level editor which allows the player to quickly create his own levels and missions. It actually already works as I use it to create my test levels. Loading and saving created levels is working, too.
The only thing I still have to do manually (for the currently available features) is to add moving platforms. I'm actually working on that editor part.
Oh yes... another cool feature: Ctrl+G switches between editor mode and level test mode.
Aside Insane Robots I'm working on my house. Actually, last week the roof isolation has been placed and I started rebuilding the ceiling of my daughters room and my future office (~60m2 of office space for ME :) ). I decided to take a day off today because the joint filling that I have applied in my daughters room isn't dry yet so I cannot do the first sanding on it. Yesterday I finished the covering of the chimney in my office.
In fact, the last 2 years have been very, very stressful for me. I chained contracts and worked a lot. The cumulation of my day to day work, my house and my personal projects didn't give me much spare time.
Last year, shortly after an old contract faded out, I signed a new one with a customer from Switzerland. This was quite an experience both from the planning and the development side. For the customer this was a first time experience with outsourcing the development of one of their software packages. Unfortunately, this led to some problems mostly related to communications and the fact that the customer didn't have a clear idea of what they wanted and how they wanted it. Although I have very much experience creating requirements documentation, this was especially painful to do. Once I sent them an updated draft, it took up to 3 weeks (and a lot of requests) before I got any feedback. Initially it should have taken 4 weeks to do the specs but finally, after 3 month, the client decided to iteratively develop the software: Write new code and improve old one.
This way we made some good steps forward in the beginning, but got slowed down when the decision takers changed ideas and requirements. New things got added while others were dropped. Decisions which have been taken with chiefs of department have been canceled by the Big Boss. He also was under the impression that he didn't have any clear view of what I was doing (although I send weekly reports containing information about what had been done the previous week, what would be done the upcoming week and what questions I had or what information I needed). The developer I worked with at my customers office showed those reports to the boss who had to admit that he didn't get all those information. They ended up by creating an house-internal reporting system to inform everybody about the current state of development.
Finally, about a month ago, decision has been taken to pull the development into their house because a) an in-house developer costs less (over this time span) and b) they can change their idea whenever they want without doing any specs.
Unfortunately this leaves me without any contract at hand. I've proposed my services to some customers but nothing has been concluded. If someone would like to outsource some work, here's my CV.
Sooo... what about the rest of my stuff...
My tank prototype: The game is in a "single" player playable state. This means that I can actually do almost everything which is scheduled for the game itself. I'm currently working out some networking details which mainly concern transaction security, dedicated servers and use of items bought by micro transactions. Although some of this could be done by me, I clearly need some professional advice from people having expertise in multiplayer dedicated server development.
Insane Robots: This is a 2.5D platformer I've started working on in my spare time 2 months ago using Unity 3. All the game elements but 2 are in a working state and I'm currently working on the ingame editor (Yes, you people will be able to create your own stages). Progress is going on quite well.
My House: In the beginning of this year I bought my second house. Within 2.5 weeks I ripped out the old electrical wiring and replaced it with a new one. We chopped down quite some trees in the summer (approx. 25 trees) leaving another 200 on my estate. At the start of this month I had the roof been replaced, did the installation of a new heating system and last week the roof isolation (using cellulose fiber; basically flocked paper) has been placed. So this week I'll put the ceiling to the rooms upstairs.
Well... that's all for today... I'll try to update my blog once a week from now on :)
I've been at an on-site meeting with my switzerland client which has worked out quite well for me. There's still some stuff to do, but the direction we're heading to is right and the client told me everything looked great.
I also passed a test for a belgian games company. It's like the third time we had contact but the first time that I visited them in their offices. I met one of the guys I came to know at last years AI game developer conference. Let's see if we can work out a way to work together.
Other game development related stuff: I'm still working on my own game. Progress is slow due to my new house but hopefully I'll have more time from april on. Target is still to have an open beta in october this year.
phew... now this has been a looong time since my last entry into this blog. There are many reasons for this but the main ones are: too much work, scratched on a burn out, too much stress.
In fact, in 2009 I worked about 200h/month on average. And this even though I took some 5 weeks of vacation during the last year. There have been month with up to 240h, keeping me on a constant level of stress. That said, I've never made that much money in my life :)
Aside those 200h/month I did the software reviews (11 of them, I think) for GameDev.net, worked on a concept for a social network site, learned usage of a MacBook, Unity and a couple of other software packages. I also did a game prototype for the IPod Touch/IPhone, and a multiplayer game prototype for PC/Mac/Webbrowser. I also released a C++ implementation of one of the early SCXML drafts to open source (here).
I became professional member of ACM, joined ACCU and participated at the AI GameDev conference in Paris (see here. While I already was a member of the IGDA, I switched from free user account to the official membership (and I'm looking forward for the lifetime membership).
Aaaaaaaand... I bought a second house. Yep... I did that... well... we still have to sign for the buying contract, but I already have the keys and I started doing some work in the house. I expect signing within 2 week from Monday on. After doing some "heavy" works in the house, we're going to move there by the end of March. We didn't sell our first house because we're going to rent it. We've found a renter who seems to be OK. It's the first time we do something like this...
The above mentioned "heavy" works are the complete replacement of the electrical stuff in the house. In fact, my initial profession (before becoming a professional developer) was electrician. I've even my master craftsman's diploma. So during the Christmas holidays I've been drawing plans, checking material prices and so on. As soon as I've signed for the house, I'm going to rip out the old stuff and start putting in the new ones.
The house will be modernized from ground up. The cellar will contain a server room. All light and light switch wiring will end there in order to be connected (later on) to a home made control system. I'll place ordinary switches in first place which later on will be replaced by touch screen "switches". I'm currently setting up a prototype using 2 Mini2440 (see here) with touch screens. They'll be connected via LAN to the server which does the house controlling. The used OS is WinCE. I've quite some experience with this OS (gained while I wrote speech recognition and picking applications for PDAs), so I don't expect much problems. Most work will be done by the server itself which will be written in Java. The devices have a microphone in plug, so I'm currently thinking of using voice recognition to do some of the controlling ("Computer, lights on", "Computer, lights off", etc.).
But one step after the other :)
This year will be a little bit more difficult than the other ones:
- I have to find at least one new contract which ideally should start in march/april (HINT HINT, contact me :) ).
- I have to finish as fast as possible the house wiring so we can move in without problems.
- I want to push my PC/Mac/Browser multiplayer game to a "playable state". In fact I already have some videos of an early version of the game (see here).
- I'd like to work on my IPod/IPhone game prototype (no video, sorry :) ). While I already can move around in the game, I still have to implement enemies and get some decent art for the game.
- I want to lose some weight... ideally some 20 kg but I'll be happy to lose 15 kg.
So, as you can see, it was an interesting year 2009 and 2010 will be even be more interesting :)
So off I went with my family for 2 weeks of holidays in France. While the holidays were quite... eeeh... cool (in fact, I suffered from the heat), our return was worse than anything I lived before. Upon our return last saturday we've learned that my wife's grandfather had died two days before. I only got the SMS messages on saturday when I returned into my country (thank you for nothing, Base). I had to announce it to my wife when uncharging the car. She immediately called her family. On Sunday we jumped back into the car to attend the funeral on monday morning. All over all this was a very heart tearing experience.
I restarted working on tuesday, checking back with my clients, laying out plans for the projects I've currently under way and already decided to take another week off in 2 weeks.
Ah yes... I've also sent a new review to John (UltraEdit) which will appear on schedule :)
I'd like to thank Dave J for pointing me to Mini-ITX boards, which could be used for totally passive server setups. Unfortunately, I fear that the good boards are not available nearby and I'm in urgent need of the server.
Before I get to the server setup, I'll talk about the needs I have: First of all, it's not going to be a company wide used server, it's more a home server with some special needs:
1. File server : Storage of laaaarge amounts of photos shot by my wife, the kids and me, storage of the repository of my >200+ ripped DVDs (I've got all the originals) and series (all Star Trek stuff, some other series; all from my original DVDs), Storage of my CD collection (>500 Cds).
2. Media Server: For streaming the music and the movies to my PS3/Home cinema. Since I want to have subtitle integration, I need RT encoding (done through PS3 Media Server.
3. IIS7/MySql/MS SQL Server: Mostly for development of web pages and client/server applications for my customers. No IIS to WAN, only local.
As you can see, the needs aren't that high but I still want to have a machine that doesn't make you wait.
I ended with a hardware setup that will cost me approximately 1100 Euros (which currently is ~$1560):
1 Intel Q9550
1 Asus P5Q-Deluxe
1 CPU cooler Asus Triton 81
2 DDR2 4GB 1066 OCZ XTC Platin Kit (Cl5)
1 GF 8400GS passive cooled
4 WD 1000 GB WD10EADS 32MB SataII
4 Vibe-Fixer 3
1 LG GGW-H20LRB BluRay RW
1 Chieftec Dragon DX-01BDU
1 BeQuiet 550W BQTE6
1 Anti Vibe for the BeQuiet 550W
The setup should be quite silent since no single element produces more than 22-25db... I'll see how it sums up.
The Vibe-Fixer 3 disconnects the HDD from the tower. So does the Anti Vibe for the power unit. The graphic card is fanless and only uses 40W if on full power (which will never be the case).
The Q9550 has 4 cores and is powerful enough for any application I'd run on the machine. 8 gig of ram is enough, too. I never get higher than 4 gigs on my desktop working machine (even when running 2-3 Visual Studio + some other apps).
I put in 4 WD 1TB HDD which will be JBOD. I'll see if I put them into RAID 1 but my current experience let's me tend to not use RAID (15 years without a single HDD fail... I've still some 2 gig HDDs somewhere which are still working).
I also decided to spend some money on a BR burner. I'll use it for my backups. I've taken a look at streamer drives but the price just turns me down (>$500 for a good one that let's you archive 320GB compressed).The current situation doesn't make it necessary for such a high amount of backup data.
(NB: I own all the music CDs and DVDs that will be stored onto the HDDs. So if ever a HDD fails, I've just to re-rip the stuff onto HDD...)
Tomorrow I'll have to fetch some money and drive to the store... their web-shop says everything is available. I still have a couple of questions (concerning the power consumption of the mainboard and the HDDs), so there might be a small change to the setup.
The reason for my lack of updates? Well, I'm currently at a clients office to straigthen out the last glitches from a software update I implemented in the last 3-4 weeks. My client's clients (eeeh... yes...) were complaining about updates not coming and so I had to implement a completely new material database (containing more than 2200 materials) for the ASME part of the software. New interface, new storage system, new editor, new everything...
I pulled this in 3-4 weeks. Which is really fast... honestly... last year 2 programmers have tried to define a new interface which could be included into the old software and they stopped after 3 months of research and working without getting to a result.
Now, these 3-4 weeks were really stressful. I worked from 8 in the morning until 10 in the evening... sometimes even until after midnight. I tried not to work on week-ends but failed to do so last sunday.
And now I'm really tired. Not a burn-out, but tired of so much work. I think that I'll keep it slow going next week.
Ah yes... in between all those sh** mentioned above, I managed to totally screw my wifes machine. So I had to hand her my server machine :( Which means that I'll probably set up a new server machine next week :)
If anyone has some hints on how to construct an ultra-silent server machine which doesn't heat up too much, I'm a taker... money isn't a problem... well... try keeping it under $1500... or my wife will kill me :)
That said, my other plans have not been stopped or so.
Prohibition Online is on it's (slow) way with me evaluating the Raknet network library which has gone free for indies (no, I don't have more than $250k of income). It looks very promising for what I need to do. I also have taken a look at the new version of the Navi Lib (the html gui engine based on the google chrome stuff which integrates with the Ogre engine), and I really like the way it has evolved.
Bytory.net is... well... even slower than Prohibition Online. Although this project would (could) be one that will have most impact on my life, I still don't find the time to invest fully into this.
So... slowly but surely I have contracts coming in, the reviews to do and the projects to continue...
Have fun until a new entry next week :)
my latest review is on the front page (Team Foundation Server). Please feel free to comment here because the forum link on the top right doesn't seem to work (again).
After my client told me that I worked too much for him, I started looking for a new contract to fill the time space that had been opened. To that matter, I'll travel to Switzerland mid next week. I've never been in Switzerland. Will be a nice 600km car trip to go there :)
I'll try to write more updates this week :)
On monday I drove my wife and my kids to the belgian cost where they spend the week until I join them on friday. I headed back home yesterday evening to work. So, here I am. Working while my wife and the kids have fun.
After the turn-down of one of my clients last week, I started talks with my social network to find alternatives. I had to turn down an offer to canditate for a job at the european union (at their Brussel HQ), mainly because I cannot relocate and I'm not really willing to drive 200+km each day to get to work (either by train or car). Tomorrow I'll cross post some messages to some freelancer boards and I'll see what returns from that.
Meanwhile I still work for the client although I strongly reduced the number of hours. I had a talk with him today where I had to full stop him because he started to add more and more work again. He must chose: Either reduce work load or pay for more hours.
I also brain stormed some game ideas with a friend of mine and wrote a rough project estimation with some pitch ideas.
What I'm really happy about is that I already have worked (and am working) with the team foundation server. I'll install a version on my home server to do the review screenshots, because I cannot use the clients version to make those. I would have to blacken out too much and you won't see anything on them. I'll finish the review this week-end, so that I can send it to John on monday latest :) Hopefully ;)
Phew... I'm looking at my wall where I have stitched one piece of paper for each project I'm working on. There are currently 6 with a 7th one in the trenches :) If only I had a couple of hundreds of thousands of euros :) Life would be much easier :)