log in | register | forums
Show:
Go:
Welcome
The Icon Bar is the longest running RISC OS portal. The sensibilities that Acorn instilled in us still influence our interests and writing.

Buy swag
Got news?
Let us know!
Free ads
Free ads
Cheap as chips!
Subscriptions RSS Feeds
RSS 2.0 | 1.0 | 0.9
Atom 0.3
Misc RDF | CDF
 
View on Mastodon
@www.iconbar.com@rss-parrot.net
Podcasts
Subscribe | iTunes | List
Latest MP3
Site Search
 
Article archives

Adventures in Optimisation - Walls

Posted by Jeffrey Lee on 08:00, 25/5/2020 | ,
 
Continuing in my quest to optimise my RISC OS port of NBlood, I've recently been taking a look at the rendering code. Specifically, the top functions in my profiler's output: the vertical line drawing routines, which are used to draw walls and sprite-based entities.
 
 
Continue reading "Adventures in Optimisation - Walls" | 3 comments in the forums

Adventures in Optimisation - Audio mixing

Posted by Jeffrey Lee on 08:00, 5/7/2019 | ,
 
Welcome to the first in a (very) infrequent series of articles about optimisation. In this article I'll be looking at audio mixing in C/C++ using GCC 4.7.4, running benchmarks of various routines and optimisations across multiple machines in order to work out what works well and what doesn't.
 
 
Continue reading "Adventures in Optimisation - Audio mixing" | 3 comments in the forums

PackMan in practice, part 2

Posted by Jeffrey Lee on 09:00, 16/11/2018 | , , ,
 
As mentioned at the end of part one, this article about creating PackMan packages is going to look at what's necessary to generate distribution index files, ROOL pointer files, and how these tasks can be automated. Towards the end I'll also be taking a look at some options for automating the uploading of the files to your website.
 
 
Continue reading "PackMan in practice, part 2" | 1 comment in the forums

PackMan in practice

Posted by Jeffrey Lee on 08:00, 14/9/2018 | , , ,
 
For this first article looking at how to create PackMan/RiscPkg packages, I've decided to use my SunEd program as a guinea pig. Being a simple C application with no dependencies on other packages, it'll be one of the most straightforward things on my site to get working, and one of the easiest for other people to understand.
 
Read on to discover how to turn simple apps like SunEd into RiscPkg packages, and more importantly, how to automate the process.
 
 
Continue reading "PackMan in practice" | Comment in the forums

Building the Dream 4 - Random city basics

Posted by Jeffrey Lee on 12:00, 28/11/2008 | , , , ,
 
As stated in the last article, this time I'll be looking at what went into the MK I map generator for my eternally work-in-progress game, DeathDawn.
 
Specifically, I'll be looking at the implementation and evolution of the following components of the generator:
  • City block placement. This is arguably the most important stage as it defines the overall layout of the city.
  • Edge and node linking. A housekeeping stage that prepares the data structures for the road weighting stage.
  • Road weighting. A city with roads which all have the same number of lanes isn't very realistic, so this stage uses an algorithm to determine the number of lanes each road should have.
  • Road and building painting. With the city structure generated, all that's left is to translate it into the format used by the engine during actual gameplay.

 
Continue reading "Building the Dream 4 - Random city basics" | Comment in the forums

Building the Dream 3 - Random map generators, redux

Posted by Jeffrey Lee on 11:00, 23/8/2008 | , , , ,
 
After writing my first article about random map generators, I said I was going to write a city generator. Well now I have, and I'm here to tell you about it over the course of the next few Building the Dream articles.

Blow your own trumpet much?

Although this article could just be dismissed as me blowing my own trumpet, I'm hoping that it will serve a somewhat more useful purpose. Before, during, and after working on the map generator I've searched the Internet for examples of similar generators and failed to find any. Sure, there are odd bits and pieces - descriptions of simpler generators that have given me ideas on some techniques to use, or screenshots of sexy work-in-progress realtime generators, but no actual algorithms or code samples from generators that come close to the required complexity of my generator.
 
So hopefully this article will become a useful reference point for anyone else wanting to undertake the task of writing a city generator, whether they're targeting a grid-based world representation like mine or a vector-based one.
 
Apart from discussing the algorithms used in the generator (and why they're used) I'll also talk about the data structures that are used - so even if you're not interested in random map generators you should be able to find plenty of examples of uses for the data structures covered in the first Building the Dream article, as requested quite some time ago.
 
 

Continue reading "Building the Dream 3 - Random map generators, redux" | 1 comment in the forums

Building the Dream 2 - The RISC OS Sound System

Posted by Jeffrey Lee on 12:00, 17/3/2008 | , , ,
 
A bit later than I was hoping, but nevertheless it's now time for Building the Dream 2. This time I'll be looking at the RISC OS sound system - everything from the terminology used, to what makes a sound, how the RISC OS sound system works, and how you can write your own sample player.
 
 
Continue reading "Building the Dream 2 - The RISC OS Sound System" | 9 comments in the forums

Building the Dream 1 - Container data structures

Posted by Jeffrey Lee on 11:00, 15/7/2007 | , ,
 
Hello and welcome to the Building the Dream, a new series of (regular!) articles at The Icon Bar in which I will be educating you in how to turn your programming dreams into reality. First off, let's get one thing clear - this isn't a beginner's course to programming, or a tutorial in a specific language. Instead it's the place to go once you've finished your programming tutorial and are wondering what to do next. If you have an idea for a program, but are confused about how to implement it, then this is the series for you, as I'll be covering everything from data structures and program design through to project management, optimisation, how to make sure your programs maintain the RISC OS look and feel, and even provide case studies of how certain well-known programs do their stuff.
 
Continue reading "Building the Dream 1 - Container data structures" | 8 comments in the forums

RISC OS - the week in comments; episode 3

Read article... | 26 comments in the forums

RISC OS - the week in comments; episode 2

Read article... | 2 comments in the forums

RISC OS - the week in comments

Read article... | Comment in the forums

Risc PC RAM - CJE, Firefox and others

Read article... | Comment in the forums

Musings of a RISC OS Virgin

Read article... | Comment in the forums

Comment: Graham Wootten

Read article... | Comment in the forums
Recent discussions
- Elsear brings super-fast Networking to Risc PC/A7000/A7000+ (News:)
- Latest hardware upgrade from RISCOSbits (News:)
- Announcing the TIB 2024 Advent Calendar (News:1)
- Code GCC produces that makes you cry #12684 (Prog:39)
- RISCOSbits releases a new laptop solution (News:)
- Rougol November 2024 meeting on monday (News:)
- Drag'n'Drop 14i1 edition reviewed (News:)
- WROCC November 2024 talk o...ay - Andrew Rawnsley (ROD) (News:2)
- October 2024 News Summary (News:3)
- RISC OS London Show Report 2024 (News:1)
Services
- Free ads
- Web hosting
Sites we like
- Ganymede & Titan
- Ars Technica
- pagetable.com
- Kotaku
- Daring Fireball