Monday, 20 May 2013

Hurdles

It has been a while since the last blog about the development.
Those of you that follow the commit logs, know development has not stopped.
The main reason not to post anything is that there is not much to show to you. All changes are preparation for the next step, namely getting a roller coaster rolling. It looks like it's going to be a long ride with a lot of hurdles.

After getting all the nice coaster ride sprites from Richard, the first hurdle was getting them loaded in the game. The Python RCD file generator didn't want to co-operate, so I spent a month on ditching the thing. We now have a shiny new C++ implementation. Not only is the generation process faster (which will be useful with larger roller coasters, the number of sprites is going to explode!), it also means you don't need Python any more to build RCD files. This is very useful for whoever is going to enable development at windows.

The next hurdle was making room for coaster data inside the game. A roller coaster is a 'ride', just like the shop (with both, a guest enters, does something, and leaves again). Thus logically a coaster belongs next to the shop. The code however did not agree sufficiently, so I have been pushing it into a better shape for some weeks. The game can now load the coaster sprite data (it contains a lot more than just the sprite, the shape of every piece is also stored, and which piece can be connected to which other piece).

The previous hurdle is still causing some small trouble, but that's manageable. The next hurdle I somewhat expected, but yesterday I found out how large it was exactly. It is not a pretty sight :(

Once you can load pieces of track, the next thing you want is to allow the world to display it. (Basically, you want to be able to say "draw that track piece at this position in the world".) Displaying it is the stepping stone to making a GUI window for editing coaster tracks in the world. (And having a rollercoaster ride in the world is in its turn the stepping stone to adding cars, and adding physics so the cars move in virtual gravity.)

Unfortunately, the current display storage doesn't even look right. It will need a lot of restructuring to push it into any usable shape. It might be easier to just write the thing again. What's worse, there is a lot of code attached to that display storage. Paths decide how they connect, shops decide where they can be placed, guests decide where they can walk. A small change in the display storage has already a large impact, let alone a major restructuring like I need to do.


So this is what is happening. We're not dead, far from it.
There are 'just' an unknown number of hurdles in the way, and I am fighting with a big one for the next weeks or months.

Monday, 6 May 2013

Contributing and Info

It has become apparent that some people who would like to contribute to the project are unable to do so, as they do not know what needs to be done. Short answer: Everything!

Seriously. The project is still in its early stages, and any contributions are welcome. A guide to contributing is located at our wiki, specifically here. Hopefully all the necessary information is there. Comment below if you feel something is missing.

Also set up recently was a 'Google Group'. You should be able to use this to discuss things and future content etc. (Although what you'd actually usefully discuss is somewhat unknown at this time)

Oh, we also have a FaceBook page. It's, umm, quiet.

In FreeRCT development news, preliminary work is being done to add the first Roller Coasters!

Any other questions, leave a comment below!

Monday, 14 January 2013

The Graphics Guy

As the guy who draws the graphics I don't get to show off amazing videos of building paths, modifying terrain or opening shops, though all the graphics in those videos are my work. As I said before we are aiming to produce all the graphics ourselves. This may seem like a crazy huge task, but it will give us more flexibility and ease in getting the fundamentals of the game up and running - we can custom make any and all the graphics exactly as we need. "Home made" graphics certainly doesn't mean we are compromising on quality though!
Basic track tiles

It is likely that about 20,000-30,000 separate images will be needed for all the game graphics. This is a huge number but through smart use of 3D software and automation making these graphics is comparatively simple. Since starting the FreeRCT project I have been working on several projects with similar graphical requirements to FreeRCT. These projects have let me work out streamlined workflows for creating this type of image; my last major project was an extra zoom level graphics set for OpenTTD. If you are interested you can read more about that project at these blog entries: Making a Massive Graphics UpdateMoving to 3DAutomationThe Finished Product.

The very first shop

So far land, cliff/foundation, water, path and path support graphics for FreeRCT are made (although there are some technical issues that still need working out). The next big challenge will probably to make templates for track rides, in particular the track pieces which stretch over more than one tile.


Saturday, 5 January 2013

We're in business!

Today, you can open a shop, and have guests buy things from them. The video demonstrates it :)
(At 3:05 and 4:17.) The recording program had some trouble around 3:38 apparently, the delay and speed-up was not at the screen.

Saturday, 29 December 2012

The most wanted feature ever...

It's been a long time coming, and due to message-loss (my fault) in the blog registration, has been implemented for a couple of weeks now.

The closebox is here!

Looks good, huh?

Saturday, 8 December 2012

Mountains in FreeRCT

With shops, clicking on stuff and opening a window about it became useful. However, the mouse was always used for terraforming (changing the terrain), so that has to move to its own window first.

While at it, I decided to also add foundations (the vertical walls between the levels, and at the edge of the world).

In the picture an example of the result, at the bottom-left the terraform window, with the main part displaying the size of the area you modify (from a single corner-point to a 10x10 tile area).
You can either level the area (move the lowest parts up or the highest parts down), or move the entire area as-is (preserving the hills and holes within the area).

The other thing that got fixed is the connection of the shop with the path. The path is now extended towards the shop. In the air it was difficult to see whether it worked, so I added platforms under the paths and shops. It looked so great that I also added the supports as well.
It is starting to look very nice!

The code is still somewhat fragile, guests don't know about shops yet, and while preparing the above picture I found that path-building also sometimes gets confused.

Friday, 9 November 2012

Place a shop

Yet another step in the right direction, this time placing a 1x1 shop in the world.

The window at the top allows selection of the 'rides' (only one exists at this time). Click 'select' at the bottom, and optionally rotate it, then move the cursor to where you want to place it, and click again.

The shop can be placed next to a path, or on the ground.


Lack of supports was always somewhat of a problem, and now it has become really useful to spend some time on it, as it is quite impossible to see where you put the shop.

Other issues that must be resolved are the fact that there is a gap in the path just before the shop, the path has to be extended to the front of the shop.
Also, when placing a shop at the ground, you lose the ground surface (you can see this near at the right back of the bottom shop). This is however not a big problem, it just needs a bit of shuffling of data in a voxel, so you can have a voxel with both a shop and ground surface.