Home
PikkaBird

PikkaBird
Date: 2016-05-06 23:48
Subject: GRFs available
Security: Public

click here for the list )

Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2008-06-15 22:42
Subject: Proposed var 2s for bridge(tiles)
Security: Public
Tags:newbridges proposal

See http://www.tt-forums.net/viewtopic.php?f=26&t=37717

(note: var numbers are just for easy reference during the discussion)


  • 40 W
    Year built (long format)
  • 41 B
    direction of bridge
    0 if /-direction, 1 if \-direction
  • 42 B
    Bridge head information
    1 = south end sloped, 2 = north end sloped, 10 = south end advanced, 20 = north end advanced
  • 43 B
    Type of bridge (rail electrified monorail maglev road)
  • 44 B Tt
    Land use under bridge
    • t ; terrain type, as for canals var 81
    • T ; 0 = rail, 1 = road, (more?)

  • 45 D Hhbbaall
    Length, height, position

    • ll ; length of the bridge
    • aa ; distance of this tile from the lower end
    • bb ; distance of this tile from the upper end
    • h ; height of this tile above the ground/water
    • H ; height of highest tile above the ground/water

  • 46 B
    Terrain slope, as for ss in industry tile var 60
  • 47 B
    Owner/Builder, as for industry var A7
  • 48 B
    Colour scheme (of owner), as for Cc in vehicle var 43
  • 49 B
    A random byte. (Access random byte of (top? bottom?) bridgehead with type 82?)


Callbacks;

  • Allow/disallow building the bridge; if any tile returns non-0, show D0 text as error
  • Change speed limit
  • Allow/disallow terraforming under the bridgetile
  • Allow/disallow building (road/rail/canal) under the bridgetile


Thoughts?

Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2008-06-08 20:00
Subject: HO / OO?
Security: Public
Tags:nars, pineapple, ukrs

What with the new Dynamic Engine Pool (strange name?) feature in OTTD, one day it may be possible to run UKRS and NARS at the same time.

It struck me that UKRS is actually drawn to a larger scale than NARS; it's a little like the situation with HO/OO in model railways. The models are all the same size, but the prototypes are not.

So, what would the UKRS look like if it were drawn to the same "HO" scale as NARS?



Something to muse on - in case you can't tell, the locos from top to bottom are the current UKRS 2-8-0, the NARS 2-8-0, and the UKRS 2-8-0 redrawn.

Of course, if you're using the UKRS on its own, you might want the larger, "OO" sprites. So does that mean if I update UKRS everything will need to be drawn twice?

---

A side effect of this is that I decided NARS might look better with narrower gauge track (and if I make an "HO" UKRS, that will definitely need a narrower gauge). So I'm currently taking the tracks from Pineapple Land, and making a seperate grf out of them for all three standard climates. This grf will also be included in its entirety in NARS, with a grf parameter to activate it.

Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2008-05-28 02:31
Subject: (no subject)
Security: Public

Suburban Renewal has been updated. You can download it from the grf list at the top of my LJ.
Two bugs have been fixed; one of the buildings would also clear the tile next to it when destroyed, and the towns would refuse to demolish buildings to build banks.

Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2008-05-27 14:35
Subject: Fuel cell locos
Security: Public
Tags:nars

I've been doing the futuristic fuel-cell locomotives for NARS. The freight locos were reasonably easy; chassis and body based on the GP60, with a retro-style cab based on the F Unit.



These locomotives are not actually that good, performance-wise - they're roughly the equivalent of the GP38-2 and SD40-2. But by the time of their introduction they are much more cost-effective than the big diesels of the turn of the century. I think they balance quite nicely.

The express passenger locomotive was a bit of a conundrum. Originally, I'd planned to have two different locomotives; a single loco to replace the F59 and Genesis (with graphics based on the F59), and a dualhead trainset to replace the JetTrain and Acelas (with graphics based on the Acela).

However, I decided that two locomotives would be a bit superflous, and also we don't have the Acela drawn yet. So I have settled on a compromise; a dualheaded trainset-style locomotive, but one that can haul either standard stock or bilevels. I couldn't make an F59-based locomotive look individual and futuristic enough, so I drew an entirely new locomotive.



What do you think? It's based on the "duckbill" style seen in some Shinkansen and in the latest Spanish Talgo model, but a little too outlandish for North America, perhaps? :)

Edit: Shortened the noses so the loco is only 7/8.

1 Comment | Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2008-05-20 04:25
Subject: Maglevs are gooooo...
Security: Public
Tags:nars

"Fans" of the way the maglev was coded in the original NARS (every vehicle a locomotive) or in the UKRS (articulated sets of 6 cars) will be glad to hear that the new NARS has traditional loco+carriage maglevs.



You still can't use it to haul coal, though. ;)

3 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2008-04-18 17:16
Subject: Hello folks of world...
Security: Public
Tags:ukrsh

The UKRS Brick Chain has been updated with a new layout for the quarries. They should now be much easier to generate in OTTD or on flat maps.

Suburban Renewal now has its own page on the wiki.

In other news, work continues on NARS... slowly... :P

Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2007-06-28 15:14
Subject: (no subject)
Security: Public
Tags:grfs, wiki

Modified Building Costs now has a wiki page, which also includes a new grf-of-evil, pb_bridg.grf. Check it out! :D

Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2007-06-01 13:45
Subject: av8 1.33
Security: Public
Tags:av8, bugfix

av8 is now updated to 1.33. Hopefully this one will be stable for a while now.

Changes from 1.20 include the new optional aircraft, some stats tweaking, some code so that planes taking off from high airports level out at the top of their climb (instead of skidding along nose-up like they used to), and most importantly, some cb36 code which prevents the variable speed callback interfering with other properties.

Get it from the usual place.

Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2007-04-10 09:53
Subject: planned NARS locomotive list.
Security: Public
Tags:nars

Any and all comments welcome.

Click )

25 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2007-04-07 00:12
Subject: more av8 aircraft coming, and NARS news
Security: Public


Reworked A320. The old one was the first aircraft I made, and was not very good compared to later ones.

BAC 1-11. This plane was in the original TT vehicle set. In av8 it will be an optional aircraft in the DC9 slot.

Fokker F100, another TT original aircraft and one that has been requested on the forums. Optional replacement in the BAe 146 slot.




I'm also doing a lot of work on NARS lately, with Dan. My latest triumph (although I'm not sure it's been entirely worth the work!) is a genuinely tilting UAC TurboTrain.



The process for making these sprites was interesting. Basically, I made a very simple 3d model, applied Dan's original Turbotrain sprites as a texture, and rendered it using the av8 lighting rig. This gave me the basic shape and shading at all the funny angles required for a tilting train (the resultant sprites did, however, need a lot of cleaning up before they looked as good as hand-drawn sprites in TTD). The rendering process also showed up the whacky errors of perspective that exist in TTD - to make the rendered sprites fit the usual bounding boxes, I had to squash the model to 75% in length in the diagonal views.

Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2007-03-16 23:38
Subject: Backup state machine.
Security: Public

One problem with the callback statemachine is that it breaks if the grf is no longer available. Here is my idea for a backup statemachine that can take over.

-Action 0 properties for each Airport, Tile and Node are saved in the savegame.
-Tiles have an action 0 property which specifies a default sprite to use if their action 3 is missing.
-Nodes have an action 0 property which specifies if the node is:

0 = a normal node
1 = Tower contact point
2 = Landing decent start
3 = Touchdown point
4 = End of landing runway
5 = Helipad
6 = Start of takeoff runway
7 = Takeoff point
8 = Disengagement point
9 = Hangar
A = Load/Unload point

NB: all these node types except the last one are used by the callback state machine too, to set the movementstat of the aircraft as it passes the node. Load/Unload is set by a callback result instead.

Aircraft using the backup statemachine will move directly to the node they require. They will not take any notice of any other aircraft. This will actually be extremely efficient! But it will not be pretty.

These "dud airports" will also "forget" which grf they come from; they will not be restored to proper airports even if the grf file is subsequently reactivated. This gets around the problem of the statemachine breaking when a dud airport is transformed back into a real one. The only way to restore a dud airport is to clear all aircraft, destroy the airport and rebuild. Actually, since I changed it to explicitly lock or unlock nodes rather than toggling them, this might not be neccessary.

Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2007-03-14 15:20
Subject: Newairports state machine, version 2 (callbacks)
Security: Public
Tags:av8, code, newairports

Airports have three different action 0/1/2/3 sets: airports, airport tiles and airport nodes.

Airports are like industries; they are abstract entities with no graphics. Airport action 0s will specify the catchment and footprint sizes of the airport, the cost to build, the runway length, whether the airport has a hangar, the terrain type (land or water) and the tile and node layouts. Airports have action 1s for a preview graphic, and actions 2/3 only to display that graphic and to run the statemachine callback.

Airport tiles are like industry tiles. They consist of a ground tile and an optional building tile. Var action 2s (mainly using type 82/86/8A, ie values from the airport) can be used to change the appearance of the airport based on passengers waiting, date, terrain type etc.

Nodes are points on the airport which aircraft navigate between. Node action 0s will specify the X,Y and Z positions of the node, and whether the node is a special node which changes the movestat of the aircraft (tower contact, decent start, landing point, end of landing runway, hangar, start of takeoff runway, takeoff point, disengagement point, loading bay (for backup statemachine only), loading direction hint. Nodes have no actions 1/2/3.

I realise that this method restricts us to 256 nodes per grf file. But I reckon the large TTD airport could be made with around 20-30 nodes, and even the huge OTTD-style multiple runway airports would not use anywhere near 256.

Now, the fun stuff. The statemachine callback is triggered every time an aircraft arrives at a node.

Var 10 contains the iteration of the callback.

Var 10 18 contains:
Bits 0-7: the ID of the node* that triggered the callback.
Bits 8-15: the ID of the previous node the aircraft visited**
Bits 16-17: the current target of the aircraft (0-3, hangar, pad, helipad or runway)
Bits 18-20: the runway length required by the aircraft (0-7, 0 means a helicopter)

A 60+ variable will also be required to check the status (unlocked [0] or locked [1]) of any node on the airport.

Results:

A callback result with bit 12 unset will change the status of a node to locked (if bit 8 is set) or unlocked, and then run another iteration of the callback (similar to callback 16).

A callback result with bit 12 set will terminate the callback, and the result will be the new destination node for the aircraft. Two special cases: A result of FF will make the aircraft wait at the node, and the callback will be run again after another aircraft has run the callback elsewhere on the airport. A result of FE will make the aircraft load/unload at the current node, and then run the callback again (with the ID of the current node in bits 8-15 of var 10, to prevent endless loading) when it is finished.

Any thoughts? It seems to me that this method will work, and is relatively simple from a patch-coding point of view; no edges, zones, or anything of that nature, and the patch code doesn't even need to know what "locked" means relative to a node, since all that is worked out in the grf.

The only new data that will need to be stored in saved games is:
a) the status (locked/unlocked) of each node.
b) the target node (and, if possible, the previous node) for each aircraft on the airport.

*nb: the "ID of the node" in the callback is the node's position in the airport's node table, not the action 0/1/2/3 ID.

**I realise this information may be difficult to store in saved games; grf authors will have to take this into account.




By way of demonstration, I attempt to rewrite the statemachine for the large airport. Note that I'm writing this from the top down, the opposite how the eventual action 2 chain will be. I've also left out most of the aerial nodes around the airport, since they're not very interesting. I'm also going to ignore helicopters just to make things a bit simpler.

Also, note to avoid jams this statemachine requires that aircraft can't change their destination while moving; the current statemachine also has that limitation. However, the way I've written this I think it may be safe to allow aircraft to change destination at any time it is waiting at a node, not just when it visits a hangar or loading bay.



Colour coding:
Green is a var action 2 check
Blue is a non-terminating callback result
Red is a terminating callback result

We are running the callback - Jump to the section below that matches the node the callback is running from:


NODE 1 (landing approach)
Check nodes 15 and 3. If they are unlocked, lock node 3 and proceed to node 2. Otherwise, go around (node not shown).


NODE 2 (landing)
proceed to node 3.


NODE 3 (landing)
proceed to node 4.


NODE 4 (landing)
Check node 5. If it is unlocked, lock node 5, unlock node 3 and proceed to node 5. If it is locked, wait.


NODE 5 (landing)
Check node 6. If it is locked, wait. If it is unlocked, Where do we want to go?. If we want to go to a bay, Check nodes 7, 9 and 10, and if any of them are unlocked then lock node 6, unlock node 5 and proceed to node 6, otherwise wait. If we want to go to the hangar, lock node 6, unlock node 5 and proceed to node 6. If we want to go to the runway, Check node 14. If it is unlocked, lock nodes 6 and 14, unlock node 5 and proceed to node 6.


NODE 6 (center point)
Where do we want to go? If we want to go to the hangar, proceed to node 8. If we want to go to the runway, unlock node 6 and proceed to node 14. If we want to go to a bay, Check node 7, and if it is unlocked unlock node 6, lock node 7 and proceed to node 7. If node 7 is locked, proceed to node 8.


NODE 7 (loading bay)
Where do we want to go? If we want to go to a bay, stop and load. If we want somewhere else, Check node 6. If it is locked, wait. Otherwise, if we want to go to the hangar, lock node 6, unlock node 7 and proceed to node 6. If we want to go to the runway, Check node 14. If it is unlocked, lock nodes 6 and 14, unlock node 7 and proceed to node 6. Otherwise, wait.


NODE 8 (taxiway)
Where do we want to go? If we want to go to the hangar, lock node 12, unlock node 6 and proceed to node 12. If we want to go to the runway, proceed to node 6. If we want to go to a bay, Check node 9, and if it is unlocked unlock node 6, lock node 9 and proceed to node 9. If node 9 is locked, Check node 10, and if it is unlocked unlock node 6, lock node 10 and proceed to node 10. If nodes 9 and 10 are both locked, proceed to node 6.


NODE 9 (loading bay)
Where do we want to go? If we want to go to a bay, stop and load. If we want somewhere else, Check node 6. If it is locked, wait. Otherwise, if we want to go to the hangar, unlock node 9, lock node 6 and proceed to node 8. If we want to go to the runway, Check node 14. If it is unlocked, lock nodes 6 and 14, unlock node 9 and proceed to node 8. Otherwise, wait.


NODE 10 (loading bay approach)
Where do we want to go? If we want to go to a bay, proceed to node 11. If we want somewhere else, proceed to node 8.


NODE 11 (loading bay)
Where do we want to go? If we want to go to a bay, stop and load. If we want somewhere else, Check node 6. If it is locked, wait. Otherwise, if we want to go to the hangar, unlock node 10, lock node 6 and proceed to node 10. If we want to go to the runway, Check node 14. If it is unlocked, lock nodes 6 and 14, unlock node 10 and proceed to node 10. Otherwise, wait.


NODE 12 (hangar taxiway)
Where do we want to go? If we want to go to the hangar, proceed to node 13. Otherwise, proceed to node 8.


NODE 13 (hangar)
Where have we just come from? If it was node 12, unlock node 12. Otherwise, Check node 12 and if it is locked, wait. Otherwise, Where do we want to go? If we want to go to the hangar, lock node 12 and proceed to node 12. Otherwise, Check node 6 and if it is locked, wait. If node 6 is not locked, Where do we want to go? If we want to go to a bay, Check nodes 7, 9 and 10, and if any of them are unlocked then lock node 6 and proceed to node 12. If they are all locked, wait. If we want to go to the runway, Check node 14. If it is unlocked, lock nodes 6 and 14 and proceed to node 12; otherwise, wait.


NODE 14 (takeoff taxiway)
Check nodes 15 and 3. If they are unlocked, lock node 15 and proceed to node 15. Otherwise, wait).


NODE 15 (takeoff)
proceed to node 16.


NODE 16 (takeoff)
unlock node 15, proceed to disengagement point (not shown).

8 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2007-02-27 00:19
Subject: av8 v1.20
Security: Public
Tags:av8, render, website

Now with extra DC-10.



To make room for the DC-10, all the aircraft between the Constellation and the 747 have been shifted by one ID. This may mean you need to rebuild aircraft if you load the updated grf in an existing game.

Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2007-02-21 19:04
Subject: Spot the difference...
Security: Public
Tags:nars

Here we see an F7 AB set loading at the station, cruising along at 65mph, and climbing a hill in notch 8.

Nothing out of the ordinary. Or is there???

1 Comment | Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2007-02-16 22:22
Subject: Fun with Fun-its.
Security: Public
Tags:nars


Locomotive regear refitting - Lakie's callback 36 in action!.


Four different F-unit livery patterns. Which one you get will depend on what player number you are in multiplayer, or on a grf parameter in single player.

Of course, now I've drawn and coded all this snazziness for one vehicle, everything else will need the same amount of work... ho hum. Still, it will be worth it. :D

2 Comments | Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2007-02-14 12:47
Subject: Shiny (re)colours...
Security: Public
Tags:nars

Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2007-02-08 06:02
Subject: More av8 aircraft
Security: Public
Tags:av8, render, website





That's:

* 3 new additional aircraft; Lockheed Electra, Lockheed L-188, and Boeing 727.
* 2 new "alternative" aircraft, which will replace existing aircraft and can be activated with a grf parameter; ATR-72 (replaces DHC-8) and Airbus A340 (replaces 777).
* 1 redesigned futuristic aircraft (eAe Coronet).

The GRF should be finished shortly (tm). v1.15 is now available to download.

1 Comment | Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2007-01-20 20:22
Subject: UKRS v3.04
Security: Public
Tags:ukrs, website

Okay, v3.04 of the main set and the addon has been released.

There are only a few changes;

* Pre-1920 release dates for the early locomotives. Note that for the moment this is intended as a cosmetic thing only, not to make the set playable before 1920 in OTTD.
* Capacity callbacks for the passenger carriages, to allow carrying tourists and other non-standard passenger cargos.
* Steel mineral truck speed increased from 45 to 50mph.

And possibly some other things I've forgotten.

Post A Comment | Add to Memories | Tell a Friend | Link



PikkaBird
Date: 2007-01-18 13:14
Subject: (no subject)
Security: Public
Tags:av8, render, website

Version 1.10 is now available to download.

Changes include the replacing of the disaster helicopter with the apache, and the addition of two new aircraft, the Zeppelin NT and the Skylift 150.



Thanks to Brianetta for his determined advocacy of futuristic airships. Even if they will still be dog slow in OTTD...

1 Comment | Post A Comment | Add to Memories | Tell a Friend | Link



browse
my journal
links
June 2008