Blogs ยป Kal @ Work

Kal @ Work

I have created this blog to discuss the topic of work. This may be related to the running of BitShift Studios, including projects and research, or any personal employment I may have. In this blog I will keep up the pretense of being a well-mannered professional ... well, most of the time.
Created by Kalakian on Sat 27 of June, 2009 21:47 BST
Last post Sun 05 of Sep., 2010 23:52 BST
(12 Posts | 555 Visits | Activity=2.00)
Find:

Er...

By Kalakian on Sun 05 of Sep., 2010 23:52 BST
I really should jot down a couple of notes during the week so I know what I've done at the end, cos my short-term memory really sux.

Started the week off by trying to sort out team review meetings so that we can confirm who is doing what, and what everybody can commit to when Uni starts back up. Some of those should take place next week.

I then started doing some work on the revenue share points system. Basically, we're sharing out any revenue based on the amount of work each of us has put in, so we are awarded points for tasks/hours completed. We need some way of tracking these points, so I've been having fun with trying to get mysql, php, and flash all talking to each other.

The driving game has progressed a little, with a moving road and other cars now. I've also been toying with the idea of making it a mini cananball game where you have to race from john o'groats to land's end and back, or similar but in a fictional land. That's going to make the game quite complex though, so I think I'll go for more of a spyhunter-esque game, but with towns you can stop off at to buy upgrades rather than just driving onto a truck to pick up some missiles :)

That's it for now.

Vroom Vroom

By Kalakian on Sun 29 of Aug., 2010 18:14 BST
Ok, so I've decided that my android game is going to be a driving game, but not much more than that. I'm not sure yet whether to make a racing game, kart game, or mission based. I just want to get the basic mechanics behind making an android app, see what functionality I can use, then decide later exactly what type of driving game to make.

Anyway, what've I been up to this week?

BGE

The BitShift Game Engine, flash version, has been started. Basically, I started off by taking some of the engine components out of NodeRunner, putting them in their own pre-compiled library, and then linking the library into both NodeRunner and Unstable. Still needs a lot of work to it, in terms of design and implementation, but it's a start.

Something Android

Well, it's a driving game, and I have a car sprite moving about the screen.

Ludum Dare 18

This was actually last weekend, but last week's blog was early as I was going to be busy with this. The competition started at 3 on Saturday morning, and finished at 3 on Monday morning, but I called it quits at 10 on Sunday night as my brain was fried and I wasn't going to get a complete game finished. It was well worth while taking part though, and I'll be looking forward to the next one ... where I'll try something a bit simpler :P. Check here for my timeline and more details.

NodeRunner

Apart from the work on the engine, I didn't do much on it this week.

Lots of juggling

By Kalakian on Fri 20 of Aug., 2010 21:45 BST
Well so far this has been an interesting week. Made some reasonable progress with NodeRunner over Monday and Tuesday, but none for the rest of the week. Wednesday became my side-project day, and I started working through the "Hello, Android" book as I work towards deciding about my Android project ... I'll continue on with that book to finish the Sudoku game in it, then see where to go from there.

I now have an agreement with UWS (still no contract) to prepare XNA tutorials for the Intro to Games module starting at the end of September, so I need to start allowing time for that now. I've not had a lot of experience with XNA yet, but it seems fairly easy to pick up, and I've already got a rough plan for what topics I need to cover (and hence, learn how to do them in XNA).

I decided to have a couple of easy days over Thursday and Friday, as I'm going to be really busy over the weekend. I'm entering the Ludum Dare competition to create a game in 48 hours, and I'm using it as an opportunity to give myself a crash course in XNA. I don't expect to make a great game in this time, but you never know. I'm doing this for the experience, and maybe it'll become a regular thing for me, entering these 48hr game creation competitions.

So, here's my Ludum Dare 18 Declaration

Edit: I'm also cancelling the "Some Sort of Text Adventure" project as I haven't touched it since I started it

Hello, Android

By Kalakian on Sun 15 of Aug., 2010 20:29 BST
This has been an up and down week in terms of productivity.

Myself and Donald (the other company Director) had a good meeting on Wednesday with Business Gateway and have a good idea of how to proceed with getting more focussed, starting with attending Business Gateway seminars and getting the Business Plan sorted. Follow that up with a rather farcical meeting with Santander in the afternoon (you'd think they don't want our business), and that's 1 day gone.

Wait, what about Monday and Tuesday? Well I got my usual Monday morning emailing done and that was about it, as I burnt myself out on the Sunday and needed a break. Tuesday I was visited by a nasty headache that threatened to hurt me if I even looked at anything remotely work-related.

Thursday and Friday saw some good progress. Added some more features to the NodeRunner editor and game, and then moved onto some Android development. I've decided not to jump into starting a new project, but doing a bit of research first. Made a simple Hello World app showing our logo as a static graphic, and made sure it was working ok on my phone. Next step will be to start implementing some structure, with dynamic graphics and user input ... and of course, decide what sort of game to make.

That was it, 3 days in the middle of the week where some work was done, and nothing before or after. On the Friday night, mr/ headache decided he wanted to be a migrane, and pestered me all weekend so no work would get done.

Oh well, here's to a more productive week starting tomorrow ...

Limited Unstability

By Kalakian on Sun 08 of Aug., 2010 21:31 BST
Yup, we are now BitShift Studios Ltd, Registered Company number SC383244, and to mark this occasion, I have finished the Flash version of Unstable!

Ok, it's not complete as in there-will-never-be-any-more-work-done-on-it complete, but it's complete that it has the basic game features as per the original Blitz3D version, and some upgrades too.

Have a look at the project page for more information and to play or download the game. A lot of work still has to be done to make this a commercially viable game of course, like single player mode(s), decent graphics, and sound produced by someone that knows what they are doing. This was a little side project that I've been working on myself, but future versions may have more of the team working on it ... but not just now!

So, what do I do now?

The main project, NodeRunner, is still being worked on and we're making some nice progress there, but I need a new side project. Calysto is still ages away from getting the story worked out as I am waiting until I get stuck into the Open Uni module "Start writing fiction" in October, and it's to be a big game anyway. Some Sort of Text Adventure did as I expected, died its death after the first week ... two side projects splits my focus far too much.

So, for next week, I have to decide on my new side project, and so far here's what I'm thinking for my options:

  • Some Sort of Text Adventure
  • Kalerian Legends: Calysto
  • A new android project - Platformer or Adventure game
  • A pandora project - Would be started on PC using SDL and OpenGL until I finally get my pandora

And I'm sure I'll have several other ideas during the week as well. That's me for this week, my work is done :)

Where'd those 3 weeks go?

By Kalakian on Sun 01 of Aug., 2010 23:19 BST
Yes, my last weekly blog post was 3 weeks ago, and why? Ok, I'll admit that a big part has been laziness, but it'll take me time to get out of my bad habits. So, a quick run down of the last 3 weeks ...

Week 1

The brain dissapeared at the start of this week, and I started to pick up the pace again for the work that was to be done. Created the first playable prototype for NodeRunner, which allowed the design team to see how their levels would play in the actual game (still programmer art though).

Week 2

Work being done in the house completely disrupted my work. It's not very easy to work while there are workmen smashing up your bathroom and you have an annoying headache :(. Add to that having to get washed in the kitchen because of no shower, and the silicon smell when they were sealing up the new units, and it all adds up to a pretty wasted week.

Week 3

I seem to have been doing plenty of work this week, but never really achieving anything. Then again, we had a great meeting on Tuesday that should help push the NodeRunner project forward. The rest of the week has been pretty much all bookwork, as my sole trader accounts were about a year and a half out of date. Should be incorporating BitShift this coming Friday, if all goes well.

More next week on how the individual projects are doing ...

Nothing to see here

By Kalakian on Sun 11 of July, 2010 19:40 BST
Well, the brain drain has continued this week. :(

Greater Glasgow Games group

We had a GGGg meeting this week, discussing how to get the games industry in the greater glasgow area acknowledged and much more visible. Formed the official GGGg committee who then had their first meeting to discuss whether we should go ahead with the presentation to Parliament or not. They decided its best to leave it until 2011.

NodeRunner

A great start to the week! On Monday, I spent all day completely revamping the level editor so it is much more user friendly and flexible. Pity that was my lot for this week :/

Unstable

Translated the original Bitmap Font System from Blitz 3D over into flash. I'm sure I've got a much better system somewhere, lost on my hdd or on a cd/dvd labelled "stuff".

Some Sort of Text Adventure

Yup, that's the working title of the open source text adventure I'm working on. Only spending an hour or two on it every week, so will progress really slowly. All I managed this week was to create a rough plan of features and commands based on a Zork Manual I found online.


Here's looking forward to a more productive week starting tomorrow ...

Brain Drain

By Kalakian on Sun 04 of July, 2010 22:16 BST
Not much to update on this week as my brain has been quite frazzled for the past few days.

Weather is annoying ... we complain that it's not hot enough when it is cold and miserable, and complain that it's too hot when it's a nice day. Well I'm glad that today was wet and miserable because it's been very close for the past few days, contributing to my inability to think ... along with eyes stining from hayfever, and my general skill at being able to distract myself from doing anything productive.

NodeRunner

Had the first programmer's meeting this week, which was quite successful, even though we didn't cover half of what we wanted to discuss. Apart from that, I've hardly touched the project all week. Spent some time on Tuesday working with interfaces (and killed my brain), and created some new tiles for the editor on Friday, but haven't even added them in :(

Unstable

This one is also doing my head in. Added in a graphical main menu to replace the old text based one, and can now click on the buttons rather than pressing keys (1 for new game, 2 to continue). The problem came about when I tried to add in the copyright line. I wanted to change the font, and have it embedded so it would look the same on any computer ... easy enough in ActionScript I thought. A few lines of code later, ran it, and my text was all gone. After searching many pages on the internet, found various examples of embedding fonts, all fairly simple, and none that would actually work. My code looks right, there's not much I can get wrong here, so why won't it work?!?!? Sod it, I'll do it the old fashioned way and implement a bitmap font system at some point.

Other

Not been working on the story for Calysto for a couple of weeks now, but there's no rush for that.

Been thinking about working on something Open Source, even if just for an hour a week, just for something different. I don't want to take on too many projects at once, but something small that I can just hack away at from time to time would be nice. Maybe a small chess game ... but that'd be too pre-set. The Open Adventure Project (toap) was an interesting concept, but far too large and it ended up dwindinling away into nothingness. I could start work on a small text adventure though, work on it on my own but publicly, develop a rough plan for features, then invite others to start contributing. That sounds like an idea, and can be expanded in the future to a text MUDD or maybe even graphical adventure ... but let's see how long before I get distracted from this and the project gets abandoned, before making massive plans for its future that it doesn't have.

Greater Glasgow Games group meets for the second time this coming Tuesday, to discuss how we go about harrassing government bodies for help and recognition of our area of the games indutry ... should be fun.

I may actually have some preparation work at UWS again this summer and teaching next academic year, as part of the contract has been approved ... the boring, form-filling part. I'll just have to wait and see what comes of it, as I've already told them my main commitment is to BitShift Studios, so can only give 1 day a week to UWS work.

What a week!

By Kalakian on Fri 25 of June, 2010 21:17 BST
I hate meetings, they take up far too much time. Spent a few hours on Monday preparing for a big team meeting (agenda, documentation etc.), followed by the two-part meeting on Tuesday and Wednesday. I was absolutely shattered both nights, so after a few hours on Thursday reporting everything that had been discussed, I took the rest of the day off.

The good thing though is that the meeting was really successful. Most of the team turned up and we had some good discussion about contractual and project issues, as well as making sure everybody had something to do. Still some things that have to be nailed down, but for a start-up business I think we are doing well.

Anyway, whats been happening project wise ...

NodeRunner

Design was put on a bit of a back-burner this week because of the team meeting, but we should be making progress on art and code quite soon, so that's a plus. Design team meeting again on Wednesday with Artists and Sound Engineer invited to that meeting, meanwhile the programmers will be having a separate meeting ... so it's about to start getting really interesting!

Unstable

For a bit of a change, I decided to spend most of today working on Unstable, and I'm quite pleased with the results. The annoying chain reaction issues that were ruining my fun last week were threatening to give me a hard time this week as well. The elegant recursive, OO, and queueing systems all failed to give quite the right results, adding infinite chains of explosions or losing far too many atoms during explosions.

But no more! I have re-implemented an explosion system that is very close to the original (kinda messy) Blitz3D version, and it works quite well. If it ain't broke, don't fix it! There are still some atoms being lost during explosions, but I've decided that it's a feature, not a bug :). Trying to fix the lost atom problem results in a much bigger problem with infinite chains, so I'm sticking with the lesser of two evils.

The remaining problems from last week, with wrong ownership of atoms, and super speedy chain reactions have been sorted (well, not completely). Ownership is assigned properly now, but the chain reactions are still a bit fast. This can be solved by putting a limit on how many explosions to calculate per frame, but I need to be careful that I don't re-introduce the infinite chains as I did with the queueing system. Also, once some animations are added, they'll take a few frames to be processed anyway.

Winning conditions have been added to the game, so that as long as there are at least two atoms on the board, and all atoms are owned by a single player, that player wins. I've not actually added anything to the HUD to indicate this though, just a trace to the debug window and no atoms can be placed until a new game has started.

Created some simple vector graphics in Inkscape for the atoms, tiles, and crosshair, and added in a basic HUD. Looks a bit nicer now, but it's still programmer art :P

Edit: Updated the graphics a bit more and found that although creating SVG's in Inkscape is quite handy for scalability, the results look better if exported as PNG first and embedded that way

Calysto

Had a few ideas for the storyline, but haven't been noting anything down. Have started reading the Discworld books to help get the creative juices flowing, and my next Open Uni module "Start Writing Fiction" starts in October

Getting the team some work to do

By Kalakian on Fri 18 of June, 2010 18:16 BST
Ok, so a few weeks have passed since the exams have passed, so what's going on now?

So far, I'm finding the hardest thing to manage in the business is trying to make sure everyone has something to do. I've called a meeting for Tuesday coming to try and sort this out a bit, so hopefully I'll have something to say about that in next week's blog post.

NodeRunner

Design is progressing nicely, and now the artists are getting involved, hopefully get some nice eye candy soon. A few levels have been designed, and a simple level editor created to make things a bit easier for future level design (and loading into the game). Not much has been implemented for the actual game, just generic functionality so far, such as application framework, animated sprites, and saving map data.

Unstable

Making some progress with this, and discovering limitations of what can and can't be done in Flash ... or rather, things to avoid. I managed to get the basic turn-based functionality in place for placing atoms and making them explode, but ran into some major problems when working on the chain-reactons.

I devised an elegent recursive solution to handle the chain reactions, so that when an atom was placed, if it caused an explosion, it would call the addAtom() function again for each new atom. Once I implemented this, I tested it for a few atom clusters next to each other that were ready to explode, and it worked perfectly. I then moved onto a bigger test with loads of atoms on the board, made a cluster explode, and was then presented with stack overflow errors. It seems that I was adding the new atoms before clearing the old ones, which meant that the atom count was increasing exponentially, as was the stack-space requirements.

Second attempt, after fixing that problem, I tried again. A few clusters together, explode, chain reaction successful (albeit too quick to see the in-progress chain-reaction). Tried the bigger test again, explode, and no crashes this time ... but, it also was still chain-reacting about 10 minutes later and still hadn't updated the display. Argh!

Ok, time to take a step back then. Looked at how I originally performed the chain reactions in the Blitz Basic version, and it was actualy fairly simple (though the code didn't look as good as the recursive version). Each frame, check all the grid positions and see if there should be an explosion; if there is, place the atoms onto neighbouring positions, but don't explode them yet. Repeating this process each frame will end up with all the chain reactions being calculated, but with some "lost" atoms. When I implemented this in Flash, it works great and is actually a lot faster than I would've expected. Two problems here: Explosions need slowed down, and animations included so you can see what is happening; and the owners of the atoms aren't being assigned correctly (red player starts the chain reaction, but somehow blue player owns the resulting atoms).

Good enough for now, that gives me something to fix next week.

Calysto

I haven't really looked at this much for the past week or so, just a few brief notes about character backgrounds. Once things settle down a bit with NodeRunner and Unstable, I may spend a bit more time working on character back stories.
Page: 1/2 Next Page
1 2