HN user

Associat0r

128 karma
Posts13
Comments32
View on HN

Strike Commander was technically a very impressive achievement for its time and I'm very sad that flight and race sims don't get the recognition they deserve for pioneering technology as opposed to Doom/Quake etc.

Anyway, those kind of Commander-like flight games have limited replay value, because of the lack of a dynamic campaign and a hollywood hero story doesn't sit well with most flight sim fans, so we ended up with dumbed down arcade shooters like Ace Combat.

There was a Strike Commander like flightsim back in 1999 called "F-16 aggressor", which had a very impressive flight model and cockpit, but sadly wasted on an even more forgettable hollywood hero story thing.

Contrary to what the article states, what Falcon 3.0 focused on wasn't the flight model, but a relatively realistic and more involved representation of a dynamic battlefield, avionics and combat tactics, one of the reasons I still played it during the mid to late 90's.

You are wrong, the flight-sim, RPG, adventure and space flight games genre together with many other types of first person games were flourishing way before Doom.

http://www.youtube.com/watch?v=tm8VTZ2fyos

http://www.youtube.com/watch?v=aipGP5oAuWQ

http://www.youtube.com/watch?v=0uXZxDzqHIo

It was Elite back in 1984 that broke the mold of simple side-scrolling games.

http://www.eliteforever.co.uk/history.html

http://www.youtube.com/watch?v=ffQ_Uw55S3o

Also back in 1993 there were major technical achievements like:

Strike Commander http://www.youtube.com/watch?v=fL-ElsuJY8A

F-15 Strike Eagle 3 http://www.youtube.com/watch?v=koNyQ7J88xY

Papyrus Indycar Racing http://www.youtube.com/watch?v=VfnNo7AG7FA

Frontier: Elite 2

http://frontier.co.uk/games/older/frontier_elite_ii

https://www.youtube.com/watch?v=Yc9o_ldmlVs&t=72

https://www.youtube.com/playlist?list=PL9E1E1F7AA6193498

Which are sadly ignored by mainstream media.

Also considering the lack of exposure and the amount of flack Elite: Dangerous is getting compared to the other space games it's also the gamers who sadly don't care.

Btw here is an interesting interview with David Braben somewhat before the time of Frontier: Elite 2's release.

http://amr.abime.net/review_38271

http://amr.abime.net/review_38231

http://amr.abime.net/review_15452

Here is a reddit AMA from a year ago.

http://www.reddit.com/r/IAmA/comments/15od2s/i_am_david_brab...

There is also an impressive universe simulator called Space Engine and they are planning on adding gameplay to it, but it will probably take a long time before it's ready.

http://en.spaceengine.org

There is also Pioneer Space Sim that started as a Frontier: Elite 2 remake, which is also still WIP.

http://pioneerspacesim.net

Also be sure to check out the Elite: Dangerous FAQ

http://elite-dangerous.wikia.com/wiki/Elite:_Dangerous_FAQ#W...

I'm personally more excited about Elite: Dangerous. http://elite.frontier.co.uk by David Braben (from Raspberry Pi)

It will have a scientifically based galaxy with rotating an orbiting planets which I think is very important in a space game like this, it also features a mass multi-player dynamic galaxy.

It's shaping up nicely as you can see from the newsletters http://us2.campaign-archive2.com/home/?u=dcbf6b86b4b0c7d1c21...

and youtube channel http://www.youtube.com/user/FrontierDevelopments/videos

Why over Scala?

* .NET runs everywhere now without problems, the JVM doesn't have a reliable IOS implementation and Dalvik on Android is too slow for the things I'm doing and many desktops don't come with a JVM installed.

* Better type inference

* FP isolated from OOP

* Lighter indent aware syntax.

* Easier to reason about performance because of lower abstractions

* Pattern matching can be used in performance sensitive situations.

* Easier equational reasononing because FP and OO are isolated from each other.

* Initialization order bugs can't happen easily by design due to the way class ctors work.

* Easy to use Native FFI without having to write boilerplate C stubs

* A generics aware runtime so cross language .NET interop is seamless and without perf cost.

* Built-in Units of measure without perf cost or having to wait for a mature macro'ed implementation..

* Built-in Type Providers allowing typed access to untyped data and much more without having to wait for a mature macro'ed implementation.

* Built-in support for runtime code quoations, with code inspection

* Extensible computation expression syntax for more than just monads.

Why over Haskell?

* Easy multi-platform targetting and platform bindings without fuss.

* Mature and supported BCL and 3rd party libraries

* Access to the .NET ecosystem tooling like profilers, debuggers etc

* Easy to use Native FFI without having to write boilerplate C stubs

* more predictable reasoning about performance because of strictness by default.

* Built-in Units of measure without perf cost.

* Type Providers allowing typed access to untyped data and much more

[F# 3.0: Data, Services, Web, Cloud... at Your Fingertips] (http://channel9.msdn.com/Events/TechEd/Europe/2012/DEV338)

http://www.navision-blog.de/2012/03/25/typed-access-to-json-...

http://www.navision-blog.de/2012/03/22/wpf-designer-for-f/

http://blogs.msdn.com/b/dsyme/archive/2012/08/03/access-stat...

* Built-in support for runtime code quoations, with code inspection

* Built-in support for runtime reflection

* Subtyping without greenspunning around.

* Easier to fallback to imperative code.

* Extensible computation expression syntax for more than just monads.

Why over OCaml?

* Easy multi-platform targetting and platform bindings without fuss.

* Mature and supported BCL and 3rd party libraries

* Access to the .NET ecosystem tooling like profilers, debuggers etc

* Easy to use Native FFI without having to write boilerplate C stubs

* Active Patterns

* Built-in Units of measure without perf cost.

* Built-in support for Unboxed Structs with Layout control and operator overloading

* Unboxed floats, not just for 64 bit ones syntactically present in arrays

* Built-in control over inlining

* 32 bit ints not 31

* Type Providers allowing typed access to untyped data and much more

[F# 3.0: Data, Services, Web, Cloud... at Your Fingertips] (http://channel9.msdn.com/Events/TechEd/Europe/2012/DEV338)

http://www.navision-blog.de/2012/03/25/typed-access-to-json-...

http://www.navision-blog.de/2012/03/22/wpf-designer-for-f/

http://blogs.msdn.com/b/dsyme/archive/2012/08/03/access-stat...

* Built-in support for runtime code quotions, with code inspection

* Built-in support for runtime reflection

* OOP abstractions without perf loss

* Built-in support for Operator overloading

* Polymorphic print function

* Mature Multicore friendly runtimes

* mutable local variables on the stack

* Cleaned up offside-rule indent based syntax with optional OCaml style override.

* Partial application of Discriminated Unions like List.map Some [1; 2; 3]

In OCaml you have todo List.map (fun x -> Some x) [1; 2; 3]

* Methods on Records and Discriminated Unions

* Extension Methods

* Built-in syntax for Array slicing

* Built-in syntax for sequence based for loops

* Built-in syntax for List / Array range construction like [1 .. 10]

* Extensible computation expression syntax for more than just monads.

http://blogs.msdn.com/b/dsyme/archive/2010/07/08/tabbles-org...

http://fsharp.org/testimonials/#tabbles-1 Completely in F# see comments above

http://www.rawbots.net/ are using F# in a very significant way and are in the process of making it their primary language.

http://fsharp.org/testimonials/#path-of-go whole AI logic in F#

http://fsharp.org/testimonials/#yan-cui backend in F#

http://www.galaxywarsthegame.com/ uses F# entirely

http://www.assettocorsa.net/ uses F# to prototype their vehicle dynamics.

and many more here http://fsharp.org/testimonials/

These talks are about the STEPS project from former PARC and ARPA guys, how a modern computing environment from the metal up can be reduced to a mere 20KLOC, about a factor of 1000 code reduction with the use of carefully designed DSLs

They also redefine what an OS and the Web (Hypercard style) means by removing as much accidental complexity as possible.

"Alan Kay: How Simply and Understandably Could The "Personal Computing Experience" Be Programmed?" http://vimeo.com/10260548

"Alan Kay: Extracting Energy from the Turing Tarpit" http://www.youtube.com/watch?v=Vt8jyPqsmxE

"Alan Kay: Programming and Scaling" http://www.tele-task.de/archive/lecture/overview/5819/

"Ian Piumarta - To trap a better mouse" https://www.youtube.com/watch?v=EGeN2IC7N0Q

Papers here http://vpri.org/html/writings.php

Real progress in computing is made by former PARC guys at VPRI http://vpri.org/html/writings.php

For example STEPS a full modern computing environment in 20KLOC from the metal up using DSLs and a reimagining of what an OS and the Web means.

Some more Info here: "STEPS 2011 Progress Report (personal computing in 20kLOC)" http://lambda-the-ultimate.org/node/4436

"Alan Kay: How Simply and Understandably Could The "Personal Computing Experience" Be Programmed?" http://vimeo.com/10260548

"Programming and Scaling" http://www.tele-task.de/archive/lecture/overview/5819/

> Also, I don't know any F#, but is he correct when he says that the order of declarations in a file matters, and that the order of files in a project matters?

> That sounds crazy to me. What is the benefit? Both Haskell and Ocaml get along fine without relying on declaration order to do type inference.

Here is great explanation on the benefits of this. http://cs.hubfs.net/topic/None/59219#comment-70220