Leancamp Report

May 2010

Leancamp was on the 10th May, and a few Edenites including myself headed up to London to check it out.

Café area

Leancamp was an unconference: the content was almost entirely decided by the attendees themselves. The organisers chose a couple of notable speakers to get the ball rolling, but the rest was up to us.

The Blank Leancamp Schedule

Diving into the spirit of the whole thing, I ran three sessions. A brief report of each follows.

Lessons Learned Bootstrapping a Service Company

Most of the attendees were definitely in the startup arena. To this end, I did a very brief presentation on the accidentally lean startup of Eden Development (how we started the company with no cash and made it up as we went along).

There was a company post-mortem afterwards, mostly centered around how I could have done it quicker and been even leaner. Maybe next time (if there ever is one) I’ll do it better, who knows…

Technical Incubation

We spent half an hour discussing whether the concept of service companies such as Eden incubating startups was a good idea. The idea is that we could accept reduced rates in return for an equity stake.

There was a lot of animated discussion about this: many service professionals in the room were wary of equity work, having had bad experiences in the past. We agreed that in principle the concept could work, if the startup was built around a strong idea and the service company had either a controlling stake or real influence in the direction of the startup.

I’m open to ideas in this direction - ping me if you want to discuss further.

Applying Lean Principles to Coding

Rather dismayed by a lack of technical discussion, we decided to get together and have a bit of a chinwag about lean principles can be applied to coding.

Much was made of continuous improvement ideas (applied through practices like pair programming and code reviews) as well as the concept of minimizing waste (applied through YAGNI and the general allergy to Big Design Up Front).

Discussion at Leancamp

It was an excellent day, and I’m looking forward to the next one. I enjoyed the many hallway conversations I had and would love to continue them online.

Did you attend? What did you get out of the day?

(Photos by Enrique - see the rest of his photos of Leancamp here)

Share


More articles

Sol Trader will be at EGX in September!

EGX logo

Now that it’s almost reached the playable demo stage, I’ve been wanting an opportunity to show Sol Trader off in person. So we will be taking the game to EGX 2015 with our own booth!

My friend Richard Patching and I will be in the Rezzed area of the show - there will be plenty of opportunity to ask us questions and see the game in action. We’re also hoping that the man responsible for the amazing artwork, Aamar Rana, will also be there for a day.

If you’re from the press or a publisher and want to make an appointment for a demo or interview at the show, I’ll be available Thursday to Saturday morning. Send me an email to book a time.

Latest development plan

After finishing the new GUI and the city mode interface last week, the next major thing to do is to revamp the space mode again. We now have a continuous space model: it’s now possible to fly from one end of the Solar System to another, but it’ll just take a (very) long time…

This week, I’ve been adding jump gates back in to allow faster travel to and landing on the different planets, and I’m in the middle of adding particles back in. After that we’ll put back the AI ships, weapons and trading systems. Finally I’ll be balancing the interaction between characters, and adding simple missions.

By the time EGX comes around, we should have a playable demo and a new Kickstarter campaign running to to raise funds for a marketing push. Spending correctly on marketing is essential for any indie game, especially if not from an already known publisher. I’d like to raise enough money to budget for that, and to give everyone an opportunity to buy the game at an early bird price.

The final release will be early next year, once I’ve added the final features. It’s all coming together and it’s very exciting! Follow us on social media or join our mailing list on the website to keep up to date.

Read more

Slides for "Leading software teams well"

I’m just on the way back from the Scottish Ruby Conference, where I delivered a new talk called “Leading software teams well”. The slides are below, and I’ll update this post with the video when it comes online.

It’s refreshing to talk about something both non-technical, which makes it more accessible, and something that’s as universally essential as leadership. The talk is titled for software teams, but it’s equally applicable to any kind of team. It charts my experiences as a wannabe leader at the tender age of 22, through to a frustrated manager who no longer writes code for a living.

The talk is centered on the following ideas:

  • we can lead either through freedom or fear;
  • we are totally unable to control anyone;
  • we can show leadership no matter what our organisational position.

I’ve blogged many of these ideas before, but it’s been great to have a chance to pull my thoughts together and extend them.

The conversations that the talk generated were fascinating and I hope to spend more time speaking about this subject in the future - particularly the difference between the actual visible hierarchy in an organisation, and the invisible hierarchy of influence, which is usually much more real than the visible one.

UPDATE: Here’s the video.

Read more

Waxing Lyrical on Pathfinding

I’ve been attending and giving talks at the Software Craftmanship conference at Bletchley Park for a couple of years now. I’ve always found the crowd there engaging and great to hang out with, and I’d encourage you to come along if you’re not doing much on June 14th. There are still a few tickets left if you’re quick.

My talk proposal: Pathfinding Peril

This year my talk proposal is about pathfinding, a subject rather close to my heart since I started building a game. Finding the shortest path through a connected graph is a complex problem, and one which has a number of very useful applications, not just in the game sector.

Thankfully there are some efficient algorithms out there which solve it well. The aim of my session will be to teach the popular A-Star pathfinding algorithm, along with the factors to consider when choosing appropriate algorithm weights to make the implementation efficient.

A-star can be written in any language, but a simple (untested, probably buggy) version might look like this:

    def find(goal)
      closed_set = []
      open_set = [ start_node ]
      came_from = {}
      while(!open_set.empty)
        current = open_set.sort{|node| node.estimated_score }.first
        return reconstruct_path(came_from, goal) if (current == goal)

        open_set -= [current]
        closed_set += [current]
        current.neighbours.each do |neighbour|
          next if closed_set.include?(neighbour)
          possible_score = best_score[current] + current.cost_to(neighbour)
          if !open_set.include?(neighbour) || possible_score < node.running_score
            open_set += [neighbour]
            came_from[neighbour] = current
            neighbour.running_score = possible_score
            neighbour.estimated_score = neighbour.running_score + neighbour.cost_to(goal)
          end
        end
      end
      return 'failed'
    end

The session will last a couple of hours. I’ll take you through the basic A-Star implementation in the first 30 minutes of the session, and we’ll spend some time getting that coded up in the second 30 minutes. After a break, we’ll be running a tournament for an hour using Matt Wynne’s Robot Tournament engine. Your robot will be one of two characters in a maze, and the idea is to find the exit as soon as possible without being eaten by the minotaur that roams randomly around it.

You’ll get points for exiting the maze within a certain timeframe, exiting first, and simply avoiding being eaten! If I get time, I’ll write a basic ruby gem which allows you to parse the maze presented on stdin into nodes with connections.

We’ll run around 20 minute iterations, but probably reset the score every time so that the final score is the one that matters. It should be lots of fun!

What do you think of the session idea? How could I improve it?

Read more