Jelajahi Sumber

Merge pull request #16 from stephengold/master

add blog post: Sgold interviews Adi Barda
Stephen Gold 4 tahun lalu
induk
melakukan
6967d6406c
1 mengubah file dengan 187 tambahan dan 0 penghapusan
  1. 187 0
      content/blog/interview-adibarda.md

+ 187 - 0
content/blog/interview-adibarda.md

@@ -0,0 +1,187 @@
+---
+title: "Sgold interviews Adi Barda"
+date: 2021-03-11T18:00:00+00:00
+draft: false
+type: "default"
+layout: "post_layout_default"
+enable_comments: true
+
+authors:
+    - "stephengold"
+
+tags:
+    - "interview"
+    - "blog"
+---
+
+{{< ghuser  user="stephengold" mode="inline" >}}
+When, where, and how did you first become aware of JMonkeyEngine?
+What got you interested in using it?
+
+
+{{< ghuser  user="SceneMax3D" mode="inline" >}}
+Back in 2018, I decided to create a 3-D animation development environment
+that would run on Android devices.
+I went looking for a 3-D Java library
+that could be used in Android applications,
+and JME was the only one I found that had a "code first" approach.
+This was important to me
+because I needed to be able to create scene graphs from code,
+without relying on a visual editor.
+In addition, the on-line forum was very responsive.
+It looked like a good choice for my project.
+
+In the end, an Android-based development environment
+was released to the Play Store, and it worked fine!
+
+[YouTube video: Simulating gravitation forces using variables](https://www.youtube.com/watch?v=bMMLJF7GIH4)
+
+
+{{< ghuser  user="stephengold" mode="inline" >}}
+Congratulations on getting your project to the Play Store.
+Not all Android projects make it that far!
+
+That video refers to the SceneMax Scripting Language
+and (briefly) displays what looks like a sample of it.
+What is SceneMax, and how did it come to exist?
+
+
+{{< ghuser  user="SceneMax3D" mode="inline" >}}
+As a kid, I was obsessed
+with creating imaginary worlds and pouring life into them.
+I used to write animations and games on my Commodore 64,
+using Microsoft Basic and 6502 Assembler.
+That was the only software-engineering education I have ever had,
+and in 1999 it was enough to get a programming job---
+after catching up on a few modern technologies
+such as VB 6, C++, and SQL.
+
+Grateful for the tools that helped me launch my programming career,
+I decided in 2005 to create programming language that would encourage
+young kids to create games and become programmers.
+SceneMax was born.
+
+
+{{< ghuser  user="stephengold" mode="inline" >}}
+Has SceneMax evolved over the years?
+
+
+{{< ghuser  user="SceneMax3D" mode="inline" >}}
+Originally it was an open-source project in C++,
+using DirectX for the rendering.
+Parsing was done using the `strtok()` function (no regex!)
+so the syntax was limited.
+
+It was an immediate success, with tens of thousands of downloads,
+and it won first place in an open-source competition.
+More importantly, I used it to teach kids programming.
+My vision became a reality.
+
+SceneMax got a few updates before reaching end of life in 2014.
+In 2018, I rewrote it from scratch, targeting Android devices.
+I used using Java, ANTLR4 for parsing, and JME for rendering.
+I started teaching kids with Android devices.
+
+When I sold an online course to the Israeli Ministry of Education,
+they conditioned it on having a PC version,
+so I devoted my time to building a new development environment for PCs
+and porting the JME renderer to run on Windows.
+
+The port proved surprisingly easy. It just worked!
+
+
+{{< ghuser  user="stephengold" mode="inline" >}}
+What distinguishes SceneMax3D from other languages?
+
+
+{{< ghuser  user="SceneMax3D" mode="inline" >}}
+General programming languages such as Java, C++, and C#
+aren't suited to teaching young kids to code.
+It's difficult for these kids
+(non-native English speakers, ten-to-twelve years old)
+to write interesting programs such as games.
+With simple code, they can only create boring programs.
+
+SceneMax3D fills that gap;
+it enables kids to write amazing animations and games
+in language that is very simple and intuitive.
+Later, when they feel comfortable with their coding skills,
+they can begin adding C# code to their projects.
+
+Here are a few simple code snippets:
+
+    d is a dragon
+    d.fly loop
+    d.turn left 360 in 10 seconds
+
+
+    t is a static track
+    car is a gtr_nismo vehicle : pos (0,3,0)
+    camera.chase car
+
+
+    skybox.show solar system
+    s is a sinbad
+    s.Dance then SliceVertical loop
+    b is a box : pos(4,-1,-20) and size (3,5,2) and material="pond"
+    b.turn left 360 in 10 seconds async
+    b.move to (s) + 5 in 10 seconds async
+    when b collides with s do
+      sys.print "BOOM"
+      s.move left 5 in 10 seconds
+    end do
+    when key R is pressed do
+      s.move right 1 in 0.1 seconds
+    end do
+
+It's simple, generates attractive animations, and kids just love it!
+
+
+{{< ghuser  user="stephengold" mode="inline" >}}
+Thanks for that answer and for the code samples.
+
+If someone wants to teach coding to children younger than ten,
+what would you advise?
+
+
+{{< ghuser  user="SceneMax3D" mode="inline" >}}
+I'd advise a block-based computational thinking course
+using software such as Alice, Tynker, Scratch, Minecraft web, or Roblox.
+
+SceneMax3D has an option for adding smart macros,
+so that teachers and other companies can add syntax
+in the language of their target audience.
+In this way, even first- or second-graders can start coding.
+
+
+{{< ghuser  user="stephengold" mode="inline" >}}
+Why extend SceneMax projects using C# instead of Java?
+
+
+{{< ghuser  user="SceneMax3D" mode="inline" >}}
+C# was chosen because it is used
+in the curriculum of the Israeli educational system
+and in other game engines such as Unity and Godot.
+I plan to add support for Java and JavaScript extensions in the future.
+
+
+{{< ghuser  user="stephengold" mode="inline" >}}
+Are you planning any other updates or additions to SceneMax3D?
+
+There are currently two white-label commercial products based on SceneMax3D.
+One is gaining speed and looks promising,
+so I'm focussing on features that will help it succeed:
+
+* improving the overall quality of the product
+* virtual classroom support to make teaching even easier
+* deployment to the Web and Android devices
+* real-time networking support
+* WooCommerce integration to allow artists to create and sell graphics and music packages for SceneMax3D
+
+
+{{< ghuser  user="stephengold" mode="inline" >}}
+SceneMax3D is a very impressive project!
+
+I’ve run out of questions.
+Thank you very much for your detailed answers
+and the thought you put into them.