A busy time!

Comments (0) | Posted by Mark @ 8:11 pm in Business,Personal

Well, we’ve got a busy few days ahead of us.

We’re technically closed for the Jubilee Bank Holiday Weekend – something Nicola is very excited about (The Jubilee, that is… we’re both excited about closing for a few days!).

It’s also Nicky’s birthday on Tuesday, so an extra reason to shut (if there weren’t enough reasons without!). It’s also our 2 year anniversary today – so we’re having a nice home-cooked meal and watching a good film; currently undecided on which though…

We’ve got another scan tomorrow at the hospital – always fills us with trepidation as we never know how the babies will be. We’re usually fine until the morning of the scan …

Then – at the weekend – we’ve got a huge amount of house-de-cluttering to do. Our modest 3-bed has got to accommodate the entire additional contents of our additional 1-bed (but large) flat AND the entire contents of our shop. It’s no small feat; we’re pretty overloaded as it is. So – despite our ‘closed’ status this weekend – we’ll be very busy. The news that the shop is ‘closing’ (as in only some ways it is) is now semi-official – that is, we’re telling some people, but haven’t formally announced it.

To make the weekend even busier – we’re doing a big promotion on Semi Precious Beads – our biggest discount offered yet - and a competition like we’ve never done…

We’re offering everyone a 10% discount – which we have done once before – but upping the “over £100 discount” from 10% to 20% – something we haven’t done before. We’re also doing something a little special for the Jubilee weekend (it’s 60 years, in case the choice of 60 is a little strange!) – 1 in 60 orders we send will be absolutely free! It could be madness – i.e., back-fire on us massively (depending on which orders the Random Order Chosing Device – or random number generator ;) – choose) – it really depends on how big the orders that are chosen to be free are! And yes … we’ll be genuine with it … if the orders chosen are huge £1000+ ones – we’ll still make them free !!

So – that’ll be Wednesday manic (when we return – a huge amount of orders to do) but to compound the weekend – we’re keeping the phone lines open to assist with any potential shoppers. So much for closed …

But – we kinda sorta have to; we are working tirelessly to increase the reputation of Semi Precious Beads to something quite special and can’t afford for such a busy weekend as this to be destroyed by people not being able to contact us.

Oh – and the project count has risen by another one last night as we’ve decided on start a new site… Currently the technicalities are ‘in development’; the name is secret; and the concept is not being revealed. But it should be something exciting (at least, for us if nobody else!).

Expecting …

Comments (0) | Posted by Mark @ 10:07 pm in Personal — Tags: ,

I am extremely excited… we’re expecting Identical Twin Boys in a few months. The actual due date is September 30th, but the likelihood of us going to term is zero. An early delivery is almost a certainty.

It’s been exciting – but also terrifying. Nicola and I haven’t even considered the possibility of it actually working; i.e., us having two healthy babies! I’m not quite sure what you’re supposed to do with children?! …

Similarly, it’s been a busy and tiring time in the business. We knew something had to give after our first admittance to hospital a couple of months ago. Since then we’ve been deciding what is best for us, our babies – and lastly our business (Though still important – it’s our source of income!). The added pressure – and obvious reduction in time – is what has prompted a closure of the shop. Still, it’ll lead to much greater things – more time for us personally; more time for us to promote our business; more time for me to program; more time to work on our neglected home; more time in general!

Our business – and a major change

Comments (0) | Posted by Mark @ 9:36 pm in Business — Tags: ,

A few years ago we decided to form “Semi Precious Beads” – a gemstone-only online bead shop.

Specialising in beads that were hard to obtain in the UK we found a niche which suited our interest in the natural materials.

At the end of 2008 we made the decision to take the business further by opening a retail shop and subsequently moved to Sidmouth, Devon to open “The Bead Lagoon”. Despite the recession being in the news constantly before opening the shop we felt we could still make a profitable business and provide something new to the area.

Years later we were extremely glad we made the move – we’ve built up a decent customer base and love to hear the great feedback we get from both the online and retail shop customers.

In early 2012, however, we discovered we were pregnant! Knowing that we could no longer keep up the busy routine of running an online business and a busy retail shop 7 days a week we decided something would have to change.

In May we made the decision to leave the retail shop – but not entirely… We’ve decided to retain most of our stock in the shop but the shop as a whole would be somebody else’s -giving us the opportunity to concentrate on what’s important!

Though we’re sad that anything had to change, the pregnancy has put a lot of pressure on us and forced a touch decision. The new shop – however – should be very exciting and we’re extremely glad to be part of it! We’re looking forward to the coming months as things drastically change. And most importantly – we’re looking forward to our arrivals in the next couple of months, spending a huge amount of time with them, and being able to continue growing our businesses.

A compromise…

Comments (0) | Posted by Mark @ 3:09 pm in Games Programming — Tags: , ,

I’ve decided – against previous decisions – to use a mixture of Dead Reckoning and a small command delay.

Ultimately, my reason against this was to prevent jerky re-position (especially when shots are supposed to hit/miss someone) on either the winning or losing client. (I.e., to the advantage or disadvantage of the client that is watching). But – other games do this successfully even in ‘fast paced’ FPS games that are most likely to suffer from the effects. So – I will develop some DR code to the game and see if the game suffers. It should definitely improve the responsiveness of your spacecraft, however…

Current client-server problems with the Flash AS3 -> C++ link

Comments (0) | Posted by Mark @ 9:51 pm in Games Programming — Tags: , , , ,

One of the areas I’ve recently been having trouble with is the Client->Server time syncronisation.

In order that all participants in the game see the same thing I maintain a Server Time on the client. This means that all State Changes can have a Timestamp and – providing the Client’s “ServerTime” is accurate – the Client should see the same as everyone else – with lag excluded. To get around the lag, most actions are performed slightly in the future (by, typically, 100 ms or so).

I think the client code to calculate the ServerTime may be over-complicated as it is drifting when Flash is busy (i.e., the system is running too slow to maintain a high FPS). But the ServerTime is not coupled to the FPS – but rather Flash’s own time.

Another problem attached to time (kind of) is the lag and what happens if a client is on an especially slow connection. The game is a top-down multiplayer space-shooter (in very basic terms). I am very reluctant to use Dead Reckoning as I believe it would give an inconsistent gameplay experience to different observers in the same area; and I absolutely have no intention of letting the Client ever be authoritative in ‘dangerous waters’ (the Web). So – I can either have the ‘slow’ client get delayed updates (probably unplayable) or even – possibly worse (possibly not, though) is reduce the responsiveness of every other client in the same area. Now – given that each segment will only have a handful of players (Think Subspace but with probably fewer per-sector players) – this may not be the worse outcome. I don’t expect the game to be jerk-reaction-fast; but I don’t want painfully slow as (in tests) it kills the enjoyment of the game.

So – my current goal is to get the time sycronised between the Server and the Client. The time has to be accurate to within 100 ms – and preferably 50ms.

New things…

Comments (0) | Posted by Mark @ 4:12 pm in Games Programming — Tags: , ,

As I’ve come back to working on my projects I’ve decided to resume this site also.

My main project is an MMORPG – written using AS3 (Flash) – with a C++ server back-end. It started as a re-write to a game I made many, many years ago; but is now something completely new.

A couple of months ago I decided that – despite a huge amount of work put in to the project and plenty of code – the codebase had become old; I was spending most of the time working with legacy code that was 6 – 8 years old. Times have changed – as has my coding style, to a great degree.

So it was restarted – from scratch – and with a clean codebase I was able to make entirely new decisions from day 1.

The original server was written in C++ and used many Linux-specific libraries that made it entirely non-cross-platform. The multithreaded server library was one I had developed myself – and whilst being a perfectly capable library, it was a large amount of additional code that I had to maintain.

The new version is built using the Boost library – in particular, the Boost::ASIO libraries. It’s cross platform – and in an unusual move is actually being tested (and developed) primarily on Windows. Though I don’t believe Windows to make the greatest of server environments (necessarily)  it removes the need for me to copy the files to our Linux server – which is also a production web server (!) – before each compile. What is done as a time-saver also means that the final server will be more portable – as I’m more familiar with writting C++ on a Linux box.

The Client is Actionscript 3 – Flash. There have been some amazing developments to Adobe Flash over the past couple of years and I haven’t had the opportunity (yet) to properly look at the latest Flash 11 player to try out some of the fantastic new features. One of them – the support for 3D – is exciting. But – from my (basic) research – it doesn’t appear to fully support (or at all?) mobile platforms. And given that my main project is a 2D game – using 3D just for optimisations/graphical enhancements would simple reduce my potential userbase. But for future projects :)