@spec.get_opts.each do |name, opt| options[name] = opt.value counts[name] = opt.count end @spec.get_args.each do |name, arg| args << arg.value named[name] = arg.value end args.flatten! args += trailing @report = Report.new(args, named, trailing, options, counts) if @report.opt(:help) self.print_usage() end unless @spec.get_args.values.all? {|arg| arg.fulfilled? } raise InterfaceError, "Required argument '#{name.upcase}' was not given." end if @spec.trailing_error && !@report.trailing.empty? raise InterfaceError, "Error: got trailing argument(s): #{trailing.join

Software

I've been doing game dev stuff, working on a project I'm calling Majesty. So far this has revolved around generating heightmaps with Perlin noise and then extracting information from the generated map, such as steepness and site suitability for spawning or founding cities. I've generated a number of poorly cropped screenshots in the process, which I'll dump here:

Directory