Notch programming a Doom-like in Dart
hitbox.tv
hitbox.tv
My takeaway is this: Doing something quick and dirty for a first draft and improve it later on often leads to better results in the long run than planing and over-engineering a solution beforehand, because you can start refining details much earlier or throw away bad approaches without investing too much time.
What I don't get is, why he seems to like Dart so much. Don't get me wrong: I love Dart as an language. The syntax looks very familiar to someone coming from c#, adds syntactic sugar and the editor, with line step debugger, is great. But in the end it's still javascript which makes it hard to create native and mobile builds. Wouldn't Haxe be more suitable?
"Focused, hard work is the real key to success. Keep your eyes on the goal, and just keep taking the next step towards completing it. If you aren't sure which way to do something, do it both ways and see which works better."
I wish I followed it more :)
I think it depends on what you're doing, I doubt it works for every project out there.
I like Dart because it supports what you've described really really well. Optional type annotations enable you to don't worry about types when you do rapid prototyping.
Once your understanding of a good solution solidifies you can sprinkle type annotations over function signatures and wherever it makes sense to get great tooling support and to fortify core parts of your code base :)
In a nutshell it enables project lifecycles many companies go through many times (something written in Ruby eventually might have to be rewritten in Java for performance and tooling/collaboration support) yet being able to stick to one language which removes a ton of complexity.
I guess, what I miss most is cross compilation, which would be totally awesome. But Dart moves slowly and I'm very hesitant to invest in a platform where its fate relies on the adoption in browsers. (how long until the Dart VM runs in chrome, ff, ...?)
Yeah, he always does a good job of it. The rules allow you to use pre-created fonts now, I'm not sure they did when notch started to do LD48 though.
Dart has a good mix of fast live-reload dev workflow, great IDE editing and debugging experience as well as productive optional typing analysis and feedback. Which seems to suit @notch's GTD/experimental coding style.
It's not "still JavaScript." Dart has its own VM and own libraries. Yes, you end up deploying to JavaScript in most scenarios, but Dart is its own platform which can live on its own in the server context and when the Dart VM is integrated with Chrome, on the client side too. I know what you meant, but the way you worded it does a disservice to Dart, making it sound like another CoffeeScript.
If it's something not too big, sure. Won't work so well if you don't know what to even do because you don't have any idea what the structure of the program's going to be like. I've found planning much more beneficial for myself.
Even though you may don't like his style, you have to admire his pragmatism, productivity and humbleness.
There's a pretty big variety there.
"I am forever cursed to keep making the same game over and over again!! But at least it's fun.. Now, space!"
Minecraft itself was a clone of the game "infiniminer". Whose developer had given up and stopped work after the source code was stolen.
When I think of the rise of Minecraft I am drawn to a few things he did differently.
1) He set up a way for customers to pay him for the game early (as soon as he had a minimum viable product). This gave him tons of feedback, money to keep working, and incentive to keep going because people were constantly asking him for features and tweaks.
2) He employed a simple and fun mechanic that allowed users to create their own things in the game (forts castles etc).
3) all of the content is procedurally generated. So every time you play it you get a different experience to some extent.
4) From very early on you would get weekly updates pushed out constantly adding new features. For most people new things were being added far faster than they could get bored with them.
5) it ran everywhere.
6) He didn't focus on graphics. He made design choices that would drastically simplify development at the expense of quality and/or performance. This lent itself to a blocky 'style' that was both easy to handle and visually unique.
What do you guys think? am I missing anything?
This one is widely considered to be false. There have been numerous catastrophic overhauls of many of Minecraft's sub-systems because they are very poorly designed, leading to stalled overhauls and whatnot. The architecture of systems was definitely not Notch's strong suit. That he chose an easy way to structure the world is only one of many design choices.
* Everything is forced into a cube
* No dynamic lighting
* No Shaders
* 16x16 Textures
* Water/lava is not volumetric
* No AI
* He used Java
* barely any physics (removing the bottom segment of a tree does not make the top fall down)
and on and on and on.
That "taste" wouldn't necessarily translate to the nitty-gritty game design skills necessary for a complex strategy, card, or board game, for example. But hey, it's enough. Not all of us can be Reiner Knizia.
A quick trip over to reddit will reveal dozens, perhaps hundreds, of posts from people who have followed Bob Ross' methods and create a piece of art that brings them joy and satisfaction despite possibly a lifetime of doubting that they had the ability. In that sense I rank him up there amongst other great teachers who have been able to find methods that allow people to get past the initial stages of self-doubt and embarassment and begin participating in a fulfilling activity. Think "The Inner Game of Tennis" or "Drawing on the Right Side of the Brain". Anyone who can let the everyman participate in the satisfaction that comes with creating something is pretty darned ok in my books.
I am not sure if Notch quite lives up to that legacy, but it is a comparison that I think anyone should be flattered to receive.
"I was the guy who makes you scrub the latrine, the guy who makes you make your bed, the guy who screams at you for being late to work. The job requires you to be a mean, tough person. And I was fed up with it. I promised myself that if I ever got away from it, it wasn't going to be that way anymore." [1]
[1] http://www.military.com/veteran-jobs/career-advice/military-...
To me, Bob Ross's art wasn't so much in painting as it was in creating that synergy of education and relaxation by taking you with him through the joy of creation.
Something in Notch's live streams triggers the same nerves for me.
Anyone I've met who thinks he's a joke have been illustrators who hadn't yet come to terms with the reality that they were craftspeople and not fine-artists. As if there is some dishonor for being a dedicated and skilled craftsperson. Having a passion for and love for a craft at any skill level is a beautiful thing.
Interesting to see he just uses plain 'ol Eclipse (Eclipse FTW!).
I would love to see someone make such a list explicit and then post it as a submission here.
Eclipse is a very robust, very flexible editor.
UPDATE - Here seems to be the plugin: https://www.dartlang.org/tools/eclipse-plugin/
I participated in Ludum Dare this time and live streamed for a little bit, but the constant knowing that someone was watching me was really distracting so I eventually turned it off and was more constructive.
IDE developers should do more heavy lifting to support these use-cases imho.
I really like what the SourceGraph people are doing (https://sourcegraph.com/)
BTW I'm not able to switch between OSX and Windows (home & work) efficiently - Windows' shortcuts are so much easier on my hands.
Is there any way people make the two OSes more similar?
I use KeyRemap4MacBook, which kicks in as soon as I connect my hardware windows keyboard to it (which is basically always when I sit down to code). It has a lot of default windows compatibility settings, but you can customize at will. I added a few myself by hand as well (also to get desktop switching the same as I was used to from Ubuntu :).
It's a series of shell scripts I use that screencap videos of coding and set them to music (so, for example, rendering a 48-hour coding competition to a 5-minute song, or as I more typically do for clients, render the development process down to a few minutes for them to watch in fast-time how their development was done).
It's called watchmecode (https://github.com/choptastic/watchmecode) and I just have to do
./make-av-video.sh /path/to/video.mpg /path/to/song.mp3
And it does the rest, and outputs it to "done.mp4"The result is something that looks like this: https://www.youtube.com/watch?v=Hwn7mfmo0SQ
(disclaimer, I've plugged this before on HN: https://news.ycombinator.com/item?id=5685859)
Note the username.
Did the real John Carmack endorse this account somewhere (Twitter, elsewhere)?
(I don't yet trust its refactoring, though.)
IDEA 14's Dart plugin is further along than the one from IDEA 13 :)
Either way, I've created a quick landing page to see if anyone would actually be interested in a live streaming site specifically for coding - http://devv.tv
It's nothing pretty but some validation or feedback before I jump head first into this would be amazing.
Either way, signed up.
I aim to make discovery and categorization much easier. It's pretty difficult right now on twitch to find someone streaming game dev, if you add into the mix only wanting to see streamers using specific languages (e.g. JS) or specific tools (e.g. Unity) then things get exponentially more difficult.
I want to make interactions more useful and clear than what you currently get with twitch. Allowing things like code snippets, markdown, line number references, live source code updates should go a long way towards this goal.
Focusing on live coding would open up a lot of possibilities as well. How about hooking up the source code next to the stream in real time? The ability to paste snippets to the audience etc etc.
I've been using VI/VIM for decades. If I am looking at a piece of code, I don't think too much about how to move around, or delete lines, or such. It mostly happens while I'm thinking of higher level issues.
Fixing indent issues is just a couple keystrokes, so that reduces my distraction too.
Practice, practice, practice with the tools you are going to use every day.
--edit--
...multiplayer with several people, of course.
https://wiki.mozilla.org/Legal/Infringement_Notices/3_June_2...
http://kripken.github.io/boon/inception/
The inner doom game is playable.
Specifically, Hitbox has laxer policies regarding non-gaming content [which is relevant in this case], better streaming quality, and lower stream delay.
Hitbox and other twitch like platforms already existed but are enjoying people mass moving from twitch.
:.:.:
>What happened?
Twitch introduced a new service to flag copyrighted music, and. The problem is a lot of games have copyrighted music inside of them, so a lot of music was cut out of footage simply because you couldn't stream the music, just the games footage.
Valve actually had most the sound removed from their "The International" DotA2 tournament. Because in-game music was owned by Valve. As an example. Even twitch's own podcasts were flaged and muted due to this.
Twitch started enforcing a 30second + stream delay, which angered both Users and Streamers. Since it removed the instant feedback/conversation from the stream.
Twitch also deleted terabytes of recorded video on a policy change.
You can get the long version from the AMA Twitch.tv's CEO did during the middle of this shit storm http://www.reddit.com/r/IAmA/comments/2cwfu2/i_am_twitch_ceo...
Their practice was Draconian, even if the streamer owned the copy right, they still have to appeal to have their content posted. Even twitch took down their own videos explain how this system works, due to copyrighted music.
This has been going on for >2 weeks without much change.
Another disclaimer: I stream on Twitch occasionally and post much of my streamed content to Youtube.
Interesting, it's an Austrian company (http://about.hitbox.tv/imprint/). Keep up the good work!
Edit: changed the "Google bought" to "rumor that Google wants to buy", thanks ender7. Edit2: added Amazon.com deal sentence
[1] http://arstechnica.com/gaming/2014/08/amazon-not-google-repo...
[1] http://online.wsj.com/articles/amazon-to-buy-video-site-twit...