simblob.blogspot.com
Open in
urlscan Pro
2a00:1450:4001:80e::2001
Public Scan
Submitted URL: http://simblob.blogspot.com/
Effective URL: https://simblob.blogspot.com/
Submission: On February 27 via api from US — Scanned from DE
Effective URL: https://simblob.blogspot.com/
Submission: On February 27 via api from US — Scanned from DE
Form analysis
1 forms found in the DOMhttps://www.google.com/search
<form action="https://www.google.com/search">
<ul>
<li>
<a href="https://www.redblobgames.com/">
Home
</a>
</li>
<li>
<a href="https://simblob.blogspot.com/">
Blog
</a>
</li>
<li>
<a href="https://pinboard.in/u:amitp/t:gamedev/">
Links
</a>
</li>
<li>
<a href="https://twitter.com/redblobgames">
Twitter
</a>
</li>
<li>
<a href="http://www-cs-students.stanford.edu/~amitp/" rel="me">
About
</a>
</li>
<li></li>
<li>
<input name="q" placeholder="Search" size="8" type="search">
</li>
</ul>
<input name="hq" type="hidden" value="site:www.redblobgames.com OR site:theory.stanford.edu/~amitp/ OR site:www-cs-students.stanford.edu/~amitp/ OR site:amitp.blogspot.com OR site:simblob.blogspot.com">
</form>
Text Content
BLOBS IN GAMES FROM RED BLOB GAMES * Home * Blog * Links * Twitter * About * * ☰ Navigation LABELS * project ( 57 ) * maps ( 45 ) * design ( 38 ) * making-of ( 38 ) * ideas ( 24 ) * programming ( 19 ) * grids ( 18 ) * flash ( 17 ) * hexagons ( 17 ) * mapgen4 ( 16 ) * pathfinding ( 16 ) * review ( 15 ) * math ( 12 ) * voronoi ( 12 ) * annual-review ( 9 ) * structure ( 9 ) * triangles ( 9 ) * geometry ( 8 ) * infrastructure ( 6 ) * noise ( 5 ) * graphics ( 4 ) * haxe ( 4 ) * future ( 3 ) * howto ( 3 ) * vue ( 3 ) * canvas ( 2 ) * rust ( 2 ) * code ( 1 ) * emscripten ( 1 ) * language ( 1 ) BLOG ARCHIVE * ▼ 2023 ( 14 ) * ▼ December 2023 ( 1 ) * What I did in 2023 * ► November 2023 ( 1 ) * ► October 2023 ( 1 ) * ► September 2023 ( 1 ) * ► August 2023 ( 1 ) * ► July 2023 ( 1 ) * ► April 2023 ( 4 ) * ► March 2023 ( 1 ) * ► February 2023 ( 1 ) * ► January 2023 ( 2 ) * ► 2022 ( 13 ) * ► December 2022 ( 2 ) * ► November 2022 ( 2 ) * ► October 2022 ( 2 ) * ► September 2022 ( 1 ) * ► June 2022 ( 1 ) * ► May 2022 ( 1 ) * ► April 2022 ( 2 ) * ► March 2022 ( 1 ) * ► February 2022 ( 1 ) * ► 2021 ( 10 ) * ► December 2021 ( 1 ) * ► November 2021 ( 1 ) * ► June 2021 ( 1 ) * ► May 2021 ( 1 ) * ► April 2021 ( 2 ) * ► March 2021 ( 1 ) * ► January 2021 ( 3 ) * ► 2020 ( 9 ) * ► December 2020 ( 1 ) * ► August 2020 ( 2 ) * ► July 2020 ( 1 ) * ► May 2020 ( 1 ) * ► April 2020 ( 1 ) * ► March 2020 ( 1 ) * ► February 2020 ( 1 ) * ► January 2020 ( 1 ) * ► 2019 ( 24 ) * ► December 2019 ( 3 ) * ► November 2019 ( 3 ) * ► October 2019 ( 4 ) * ► August 2019 ( 1 ) * ► May 2019 ( 3 ) * ► April 2019 ( 2 ) * ► March 2019 ( 4 ) * ► February 2019 ( 1 ) * ► January 2019 ( 3 ) * ► 2018 ( 37 ) * ► December 2018 ( 5 ) * ► November 2018 ( 7 ) * ► October 2018 ( 3 ) * ► September 2018 ( 7 ) * ► August 2018 ( 3 ) * ► June 2018 ( 1 ) * ► May 2018 ( 1 ) * ► April 2018 ( 3 ) * ► March 2018 ( 3 ) * ► February 2018 ( 1 ) * ► January 2018 ( 3 ) * ► 2017 ( 14 ) * ► December 2017 ( 2 ) * ► November 2017 ( 1 ) * ► September 2017 ( 1 ) * ► August 2017 ( 1 ) * ► July 2017 ( 3 ) * ► June 2017 ( 3 ) * ► May 2017 ( 2 ) * ► April 2017 ( 1 ) * ► 2016 ( 8 ) * ► December 2016 ( 1 ) * ► November 2016 ( 1 ) * ► October 2016 ( 2 ) * ► July 2016 ( 1 ) * ► June 2016 ( 1 ) * ► February 2016 ( 1 ) * ► January 2016 ( 1 ) * ► 2015 ( 9 ) * ► July 2015 ( 1 ) * ► May 2015 ( 1 ) * ► April 2015 ( 1 ) * ► March 2015 ( 4 ) * ► February 2015 ( 1 ) * ► January 2015 ( 1 ) * ► 2014 ( 12 ) * ► December 2014 ( 1 ) * ► September 2014 ( 1 ) * ► July 2014 ( 4 ) * ► May 2014 ( 3 ) * ► March 2014 ( 2 ) * ► February 2014 ( 1 ) * ► 2013 ( 9 ) * ► December 2013 ( 1 ) * ► November 2013 ( 1 ) * ► September 2013 ( 1 ) * ► August 2013 ( 1 ) * ► June 2013 ( 2 ) * ► May 2013 ( 2 ) * ► February 2013 ( 1 ) * ► 2012 ( 8 ) * ► July 2012 ( 2 ) * ► June 2012 ( 1 ) * ► May 2012 ( 1 ) * ► April 2012 ( 1 ) * ► February 2012 ( 1 ) * ► January 2012 ( 2 ) * ► 2011 ( 2 ) * ► December 2011 ( 1 ) * ► October 2011 ( 1 ) * ► 2010 ( 8 ) * ► September 2010 ( 3 ) * ► August 2010 ( 1 ) * ► June 2010 ( 1 ) * ► April 2010 ( 1 ) * ► February 2010 ( 1 ) * ► January 2010 ( 1 ) * ► 2009 ( 15 ) * ► November 2009 ( 1 ) * ► August 2009 ( 1 ) * ► July 2009 ( 1 ) * ► June 2009 ( 3 ) * ► May 2009 ( 3 ) * ► April 2009 ( 1 ) * ► March 2009 ( 2 ) * ► January 2009 ( 3 ) * ► 2008 ( 8 ) * ► December 2008 ( 1 ) * ► November 2008 ( 2 ) * ► August 2008 ( 1 ) * ► June 2008 ( 2 ) * ► February 2008 ( 2 ) * ► 2007 ( 8 ) * ► November 2007 ( 1 ) * ► July 2007 ( 1 ) * ► June 2007 ( 2 ) * ► April 2007 ( 1 ) * ► March 2007 ( 1 ) * ► February 2007 ( 1 ) * ► January 2007 ( 1 ) * ► 2006 ( 26 ) * ► December 2006 ( 5 ) * ► November 2006 ( 2 ) * ► September 2006 ( 1 ) * ► July 2006 ( 4 ) * ► June 2006 ( 1 ) * ► May 2006 ( 1 ) * ► March 2006 ( 3 ) * ► February 2006 ( 8 ) * ► January 2006 ( 1 ) * ► 2005 ( 9 ) * ► December 2005 ( 2 ) * ► August 2005 ( 1 ) * ► July 2005 ( 4 ) * ► June 2005 ( 1 ) * ► May 2005 ( 1 ) * ► 2004 ( 9 ) * ► December 2004 ( 1 ) * ► November 2004 ( 1 ) * ► October 2004 ( 4 ) * ► August 2004 ( 1 ) * ► July 2004 ( 1 ) * ► April 2004 ( 1 ) * ► 2003 ( 12 ) * ► December 2003 ( 2 ) * ► November 2003 ( 2 ) * ► September 2003 ( 1 ) * ► August 2003 ( 1 ) * ► July 2003 ( 1 ) * ► May 2003 ( 1 ) * ► April 2003 ( 1 ) * ► February 2003 ( 3 ) WHAT I DID IN 2023 # Sunday, December 31, 2023 It's time for my annual self review. In last year's review I said I didn't have clear goals for 2023, and I would probably just do whatever was interesting. I did a bunch of interesting things. Unlike last year, I didn't spend much time on art or science. The first part of the year I was learning about drag & drop on the web. Then I worked on map generation. and the last part of the year were productive, but I felt kind of aimless in the middle. Read more » Labels: annual-review – Amit – Sunday, December 31, 2023 – 0 comments JOBS TABLE IMPLEMENTATION FOR R/ROGUELIKEDEV PROJECT # Thursday, November 02, 2023 In the last post I mentioned that while working on my colony simulator game for the r/roguelikedev summer event, I ran into a situation where my data structures made me unhappy. I was implementing a job system, where a colonist would keep track of what job they're doing, what items they're holding, and where they are standing. It looked like this before I rewrote it: Diagram: objects that point to each other Read more » Labels: programming , structure – Amit – Thursday, November 02, 2023 – 2 comments SUMMER R/ROGUELIKEDEV EVENT # Sunday, October 15, 2023 Each summer the r/roguelikedev community has a summer event in which we all make a simple roguelike, roughly following the Python libtcod roguelike tutorial. Last year I tried to clone Dwarf Fortress in 40 hours. That was too ambitious. But I did enjoy working on a "fortress mode" project more than an "adventure mode" project, so I wanted to do something like that this year, but with a smaller scope. * Event announcement * Event conclusion from the participants * Event summary from the organizers Colony simulation game Read more » Labels: programming – Amit – Sunday, October 15, 2023 – 0 comments WRITING HTML BY HAND # Tuesday, September 19, 2023 I write some of my pages using a markup language (emacs org-mode) and other pages using xhtml, with a few extra x:* tags that get expanded out into html later. I was curious, when I write html by hand, which tags do I use? I used Python's elementtree to get the answer: 3085 p 2466 a 2303 li 1042 em 1008 code 876 span 719 x:section 517 br 454 div 446 strong 424 h3 410 figure 359 ul 358 script 331 img 323 pre 262 td 249 x:document 228 x:footer 219 g A lot of what I write is explanations in <p> paragraphs and <ul> <li> lists. And I try to include lots of <a> links to other supporting documents. I do try to use the semantic <em> and <strong> instead of the visual <i> and <b>. These results didn't surprise me much. Here's the code (roughly): tag_counts = collections.Counter() for doc in documents: tree = etree.fromstring(doc.contents) for el in tree.iter(): tag_counts[el.tag] += 1 for (tag, count) in tag_counts.most_common(20): print(f"{count:5} {tag}") Do you write HTML by hand? If so, what tags do you use most? Update: [2023-09-20] Some people commented on HackerNews about how they write their HTML, including some debate over closing tags, HTML vs XHTML, and markup languages. – Amit – Tuesday, September 19, 2023 – 3 comments CHANGING A URL # Tuesday, August 08, 2023 One of the things I highly value is stable URLs. When you link to my site, I want that URL to work as long as my site is up. I don't want to lose all those links lightly. But for ease of implementation, the URL structure matches the file structure on my site, and I occasionally want to change the file structure. So what should I do? I make a 301 redirect from the old URL to the new URL. There are links on forums, discord, stackoverflow, etc. that I can't expect anyone to change. But I can keep those links working on my end by adding a redirect. I have made 28 of these URL changes in 28 years, an average of once year, and each one has a redirect to keep the old URLs working. Read more » Labels: infrastructure – Amit – Tuesday, August 08, 2023 – 1 comment EXPERIMENTS AND MOTIVATION # Friday, July 28, 2023 I was encouraged back in March when I was able to port my tank control experiments from Flash to HTML5. I had previously attempted to port my spaceship control experiments from Flash to HTML5, but failed. Part of the problem was that it wasn't a strict port; I wanted to use a different algorithm. But it didn't work well. Read more » Labels: project – Amit – Friday, July 28, 2023 – 2 comments IMPROVING MAPGEN4'S BOUNDARIES, PART 3 # Wednesday, April 26, 2023 In the last post I described how I investigated and fixed several bugs in mapgen4's boundary points and rendering. I was a bit annoyed at myself because I didn't initially follow great practices while debugging, so it took longer than it should have. But I was also glad I found and fixed the bugs. One reason I wanted to try a double boundary layer was that I thought it might be neat to "fold" the edges downwards a bit, so that when you look at the map from the side, it'd have some depth. So I tried it, and … it worked! And it was so easy (after I fixed the earlier bugs). I then changed the underground color and added a faint line at the fold: Underground view Read more » Labels: graphics , mapgen4 , maps – Amit – Wednesday, April 26, 2023 – 1 comment IMPROVING MAPGEN4'S BOUNDARIES, PART 2 # Tuesday, April 25, 2023 Last time I mentioned that I made some changes to my dual-mesh helper library. I use it for my Delaunay/Voronoi map and art projects. Part of the motivation was that I want to work on some new map projects, and wanted to fix some of the issues with the library. I then realized I need to test out the changes in mapgen4. I made a list of mapgen4 bugs I wanted to fix. The main one I'm going to talk about here is that the edges of the map are jagged. Why didn't anyone notice? Because I set the default zoom level to be slightly zoomed in, so that you don't see the edges! Map edges are quite jagged Read more » Labels: geometry , mapgen4 , triangles , voronoi – Amit – Tuesday, April 25, 2023 – 0 comments IMPROVING MAPGEN4'S BOUNDARIES, PART 1 # Monday, April 24, 2023 I've been wanting to refamiliarize myself with the mapgen4 code because I'd like to do some new map projects and will want to reuse some of the code from my existing projects. The first thing I decided to work on was my dual-mesh library. I had originally written it to be a generally useful wrapper around Delaunator. Since then, I wrote the Delaunator Guide, which has all the same functions, but in a way that you can adapt to your own needs. I also realized that by making this library public, I was making it harder for my own needs. So version 3 of this library is going to be primarily for my own needs. Boundary points (blue) surrounding Poisson Disc points (red) Read more » Labels: geometry , mapgen4 , maps , triangles , voronoi – Amit – Monday, April 24, 2023 – 0 comments EXPLAINING THE HEXAGON LAYOUT CLASS # Wednesday, April 19, 2023 On the Hexagon Implementation page I have a Layout class that controls how to convert back and forth between hexagonal coordinates and screen coordinates. It has parameters (size.x, size.y, origin) that aren't explained on the hexagon concepts page. That's in part because they complicate the explanation and aren't hexagon-specific. The size is a standard scale transform and the origin is a standard translate transform. Although I have some explanation on the implementation page, it's not very good. I made some improvements: Read more » Labels: design , hexagons – Amit – Wednesday, April 19, 2023 – 2 comments Older Posts Subscribe to: Posts ( Atom ) Copyright © 2023 Red Blob Games Diese Website verwendet Cookies von Google, um Dienste anzubieten und Zugriffe zu analysieren. Deine IP-Adresse und dein User-Agent werden zusammen mit Messwerten zur Leistung und Sicherheit für Google freigegeben. So können Nutzungsstatistiken generiert, Missbrauchsfälle erkannt und behoben und die Qualität des Dienstes gewährleistet werden.Weitere InformationenOk