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.
Bits and bobs about the development of the free and open source game inspired by RollerCoaster Tycoon
Friday, 9 November 2012
Saturday, 15 September 2012
Happy birthday FreeRCT
Today, FreeRCT exists for one year, always a happy moment in the life of a project.
Time to look back and reflect a bit on what happened.
The start was pretty quick. After about a month of talking how, what, and when we decided to just go ahead and do it, and created the FreeRCT project.
It has been an interesting ride so far.
I started with some world-display code into the project, while Richard provided some first sprites. (Probably everybody starts with a display of the 2D world in a game like this, I think :) )
Then the real work started. Since the project literally started from nothing, lots of infra-structure got created in the past year:
- A 3D voxel world holding ground and paths (and tomorrow shops and rides).
- Display of the world to the screen.
- A GUI system for creating and managing the windows.
- A string system.
- Mouse, keyboard, and screen handling.
- Time and clock ticks.
- Random numbers.
- Colour/brightness parametrization.
The infra-structure is still not complete (no rides yet), so in the coming year it will be expanded further. Also, existing parts get replaced or expanded when the need arises (like the replacement of the Python code that generates the RCD files, and the string system that got unified with added translations).
The highlight of the past year was of course the moving people video. Your response was heart-warming. A clear sign that many people still like these games. Many thanks for your support, let's hope we get another highlight like that this year.
Last but not least, a sneak preview of what I am working on (very green currently).
Time to look back and reflect a bit on what happened.
The start was pretty quick. After about a month of talking how, what, and when we decided to just go ahead and do it, and created the FreeRCT project.
It has been an interesting ride so far.
I started with some world-display code into the project, while Richard provided some first sprites. (Probably everybody starts with a display of the 2D world in a game like this, I think :) )
Then the real work started. Since the project literally started from nothing, lots of infra-structure got created in the past year:
- A 3D voxel world holding ground and paths (and tomorrow shops and rides).
- Display of the world to the screen.
- A GUI system for creating and managing the windows.
- A string system.
- Mouse, keyboard, and screen handling.
- Time and clock ticks.
- Random numbers.
- Colour/brightness parametrization.
The infra-structure is still not complete (no rides yet), so in the coming year it will be expanded further. Also, existing parts get replaced or expanded when the need arises (like the replacement of the Python code that generates the RCD files, and the string system that got unified with added translations).
The highlight of the past year was of course the moving people video. Your response was heart-warming. A clear sign that many people still like these games. Many thanks for your support, let's hope we get another highlight like that this year.
Last but not least, a sneak preview of what I am working on (very green currently).
Sunday, 2 September 2012
Strings and translations
![]() |
| Translated texts |
Remember that one of the aims was that different people could make parts of the game? A consequence of that decision is that every part must have its own strings.
The hard part was to find a way to have all these strings live together, such that you can combine strings from different parts without worries. A second puzzle was what to do with strings in the game windows. Eventually, this proved to be quite simple, see it as yet another part!!
While below the surface and in the build system, a lot has changed around strings (I completely removed the old gui string system), at the surface you don't see it. The windows are the same (including the missing closebox, I really should fix that one day). The layout is also the same as before. The only thing that's different is that you can now switch language (by changing a variable and recompiling the source code due to lack of a window for it). The screen shot proves it. Most strings are Dutch (spontaneously provided by Kenny), while some other strings are still English due to not having a Dutch translation.
(Please don't start sending in translations in your favourite language now, I appreciate the thought, but it will be a long time before they become useful, and quite likely strings I have now are obsolete by then. Better wait until the game is somewhat playable.)
Sunday, 8 July 2012
Colourful people
First of all, thanks everybody for your support. It is good to know that so many people like the project. Some people went a step further and submitted graphics and a translation. Many thanks, except it will be a while before it can be displayed in the game.
If you want to drop in and chat a bit, there is now an IRC channel #freerct at oftc.net. As it was recently created (and this is the first advertisement of its existence), it is still very quiet.
As a next step, I decided to add random colours, so different guests can have differently coloured cloths, shops and rides can be painted in different colours, etc.
At the game-side it was no too complicated, and the windows now have colour too (albeit a bit too intense, it needs further work). At the RCD data-file generation side, I wanted more than possible, so I spend two weeks Python code refactoring and extending to allow specifying random recolouring in a nice way (so much for an easy feature :D )
As usual, I have added a picture showing the new features, the windows have different colours (and there is a 'quit' window too!), and the pillar guests now appear in (almost) all colours of the rainbow.
If you want to drop in and chat a bit, there is now an IRC channel #freerct at oftc.net. As it was recently created (and this is the first advertisement of its existence), it is still very quiet.
As a next step, I decided to add random colours, so different guests can have differently coloured cloths, shops and rides can be painted in different colours, etc.
At the game-side it was no too complicated, and the windows now have colour too (albeit a bit too intense, it needs further work). At the RCD data-file generation side, I wanted more than possible, so I spend two weeks Python code refactoring and extending to allow specifying random recolouring in a nice way (so much for an easy feature :D )
As usual, I have added a picture showing the new features, the windows have different colours (and there is a 'quit' window too!), and the pillar guests now appear in (almost) all colours of the rainbow.
Monday, 28 May 2012
Guests! (Take 2)
After some code shuffling and re-organising of the animation data, FreeRCT now has moving guests.
I did not change the renderer yet, so they are still grey, but it seemed big enough news to let you know anyway!
I did not change the renderer yet, so they are still grey, but it seemed big enough news to let you know anyway!
Sunday, 13 May 2012
Hello Reddit!
Wednesday, 9 May 2012
Guests!
With paths, it was time to see whether guests could be added. I had no idea how to add it, so it took a while to figure out how to approach the problem. This first attempt is all somewhat experimental. At the right is the first 'real' result, a small figure-like sprite appears at a path at the edge of the field. He follows the path, taking random directions until he gets bored (then he suddenly disappears).
Please note that some of this code is not committed, and never will be, in its current form. The reason why is as follows:
Motion is not fluent, he sort of jumps to a new position every few seconds. Also, he walks next to the path instead of at it. Another problem is that drawing figures is terribly expensive, because the data is not organized correctly.
He is also very much colourless, but that is intentional. The video blitter needs to be upgraded so it can perform recolouring while blitting.
While I am happy with this first result and I have learned a lot from this attempt, I have also decided to re-organize the code and data, so the program can have (hopefully many) more guests without costing a lot of CPU time.
Please note that some of this code is not committed, and never will be, in its current form. The reason why is as follows:
Motion is not fluent, he sort of jumps to a new position every few seconds. Also, he walks next to the path instead of at it. Another problem is that drawing figures is terribly expensive, because the data is not organized correctly.
He is also very much colourless, but that is intentional. The video blitter needs to be upgraded so it can perform recolouring while blitting.
While I am happy with this first result and I have learned a lot from this attempt, I have also decided to re-organize the code and data, so the program can have (hopefully many) more guests without costing a lot of CPU time.
Subscribe to:
Posts (Atom)





