1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Benjamin Arnold - Team Lead / Programmer

Discussion in 'Meet the Devs' started by Benjamin, Feb 17, 2014.

  1. Benjamin

    Benjamin Lead Developer

    • Dev Leader
    Hello!

    I'm Ben, creator of Seed Of Andromeda. I started programming senior year of high school when I took a VB class and fell in love with it. I had always been the kind of guy who expresses my creativity through creating, and until I realized that I had natural programming talent I would just dick around in Garry's Mod making machines or creating 2D animations with Pivot Animator. Once I realized how fun programming was, I spent long nights creating simple games in VB, C#, Java, and C++, probably devoting an average of three hours a day before I started college. Most of my knowledge came from thenewboston.

    I started a degree in Computer Science at the University of Tennessee at Knoxville in 2011 and started to learn math and CS theory, as well as learning how to write fast code, mostly thanks to Dr. James S. Plank's wonderful C and C++ courses. In high school I was a B- student, but once I found programming I became an A student, simply due to sheer motivation and enjoyment of programming. I've probably written and deleted hundreds of thousands of lines of code in my life due to my obsession with game programming.

    I started programming the SoA during my trip to Italy in the summer of 2012 , but I didn't really have much direction. I was just trying to port a shitty 2D top-down tile-based RTS to 3D, but it ended up looking like voxels, then I realized the potential and switched over to making an open-world game. I was just learning OpenGL and figuring out how voxel engines worked, so the first iterations of code were damn terrible. In fact, until fairly recently (late 2014) I didn't know much about code architecture in general, since I was mostly self taught. Luckily, the addition of Cristian Zaloj and Brian Bruggeman to the team allowed me to see the flaws in my code, and since then I have been learning more than I ever imagined I would in such a short time.

    In 2014 I really started to kick it in gear. I realized that the game could really be something one day, but not in the state that it was. I started deleting and rewriting large portions of the code to be more modular and clean. Now I am still going strong on the development of Seed Of Andromeda along with the rest of the SoA team!

    I also have started a tutorial series on C++ and OpenGL as an effort to spread my knowledge and help others to arrive where I have, but I don't have a lot of time to work on it since SoA takes priority. Over the summer I should have more time to devote to creating tutorials.

    My hobbies include rock climbing, programming, and playing drum set. I try to climb three times a week but that all depends on how much work I have to do :p

    I don't have much free time and so don't play as many games as I used to. But I do really enjoy competitive FPS and RPG games, particularly ones that are immersive and realistic.

    Here's my linkedin if you want a more detailed list of my credentials and experience.

    If you have any questions let me know!
    Last edited: May 3, 2015
    Benjamin, Feb 17, 2014
    Last edited by Benjamin; at May 3, 2015
    #1
  2. _zombiehunter

    _zombiehunter Artist & Designer

    • Dev Member
    "I was just learning OpenGL and figuring out how voxel engines worked" ... hehehe ... and then you "just" developed the most powerful voxel engine ever :rolleyes:
    It's interesting to compare your "first the engine, then the gameplay" strategy to Minecraft: Notch did the exact opposite thing, resulting in a great game with a crappy engine. After 3 years of further development, the game still lacks a proper engine, there's no sign of the promised Modding/Plugin API and the game contains a ton of bugs. They're practically need to rewrite the whole game to make a new engine and an API even possible. Your strategy on the other hand will pay for itself on a later date. That's what I like on you, the SOA team and SOA in general - it's all professional and well-thought-out, the potential is incredible ...
  3. Benjamin

    Benjamin Lead Developer

    • Dev Leader
    I could not agree more. The potential for failure, like the potential for greatness, is huge. To avoid failure I need to make sure the engine is solid. Modability is one of the greatest things about indie games so of course I am making it a huge focus. Not to mention I am addressing performance and scalability from the get go so that we don't have to worry about it later. As apparent in Minecraft, people love to make huge explosions and generally try to push the game to it's limits. Without performance optimizations the limit is just kinda sad. Take a look at this video: http://www.youtube.com/watch?v=_8fkb5mseog The lag is unbearable and he isn't even spawning much sand. MC obviously doesn't batch it's physics blocks, which is an incredibly simple thing to do. These things make me sad :( So SOA must fix these problems!
    NeonSturm likes this.
  4. Jonnothin

    Jonnothin Realistic Optimist, Artistic Coder

    • Member
    That's quite the story. I'm amazed so far by what this game can do. It makes me want to develop my own game. I'm more interested in making space strategy games like Moo 2 and Galactic Civ 2, but this game will be fun because I like Minecraft and this looks like it'll fix all the problems I have with Minecraft.
  5. joppiesaus

    joppiesaus Infamous Space-Octopus

    • Member
    Your engine is really fast and powerfull compared to Minecraft. Minecraft is currently in "trouble", because they developed so much, but the engine lacks of stuff. They're currently trying to make a plugin API, performance stuff... But it "can't" be done until the engine is rewritten.

    People say Notch(creator of Minecraft) is the best coder ever, I think he does a pretty great job, but it has two sides:
    I think the technical part of him he isn't really the best, but when you look waht he can make in little time... He gave the whole game industry a (good) slap in the face.

    Your job for the engine is to improve the mistakes made in Minecraft(you get what I mean?).

    So far SoA has some neat things minecraft doesn't have:
    - a nice framerate(compared)!
    - building multiple blocks at once.

    I really love your game. I hope you can make this game even better! I wish you good luck!

    EDIT 14-2-2015: Whoa reading posts of a year ago is so weird.
    I know think different about this statement. Writing posts is what you think at the very moment.
    For example: Now I think Notch programmed a game in a attic and didn't know "Well my first game is going to be groundbreaking and millions of people will play it, so I better start making an super awesome engine and forget about the fast-development of features"
    And now I realize I could have posted this with a different approach because it *encourages* Minecraft vs SoA posts. But I still think the work you did is awesome and what Notch did was pretty awesome too.
    Last edited: Feb 14, 2015
    joppiesaus, Feb 19, 2014
    Last edited by joppiesaus; at Feb 14, 2015
    #5
  6. tetryds

    tetryds cus tet, that's it

    • Member
    joppiesaus, you are wrong.
    SoA doesn't have only those two things.
    It has: parkour, avalanches, temperature, humidity, actually high mountains, tons of ores, lots of kinds of explosives, dynamic lights, dynamic block physics (aka no flying island stuff), a round world with biomes based on the location, infinite vision range based on terrain meshes, all mod support you can imagine from coloring a block to manually shaping your own world and entire star systems (will come) and finite water that behaves and looks pretty much like you would expect from it (pressure will come too, he said).

    That and the insane 400 blocks view range that runs fine on a mid-end pc (mine) with ultra textures.
  7. Causeless

    Causeless narcissistic, machiavellian and sadistic

    • Moderator
    Minecraft already has temperature, humidity and biomes.
  8. Whoisthatkidd

    Whoisthatkidd Balanced Balancer

    • Member
    Yeah but Minecraft's temperature and humidity system is horribly under-utilized (deserts next to tundras, random biome placement.)
    So for the record SOA wins because it actually utilizes it.
  9. joppiesaus

    joppiesaus Infamous Space-Octopus

    • Member
    Wowowow hold on guys, I mended performance stuff and capabilities of the engine.
    Of course there are more, but these were just two that came into my head.
  10. Benjamin

    Benjamin Lead Developer

    • Dev Leader
    Haha let's not turn this into some MC vs SoA thing! And minecraft uses the exact same temperature/rainfall method that I do, they just have tight distribution rather than a more realistic one.
  11. joppiesaus

    joppiesaus Infamous Space-Octopus

    • Member
    Dear Benjamin,

    Why did you chose the name "Seed of Andromeda" for this game?
  12. Gingy

    Gingy Back Into Space

    • Member
    You mention in the post that started this thread that performance is one of the things you primarily focus on when developing this engine. Do you think that an engine as well optimized as your engine would take a performance hit if written in a different language? I've had a somewhat similar idea to your engine for quite a while, but lack the programming knowledge to create it(so far). Sadly, the only language I know is Java, but I'm skeptical about programming an engine in java because of the high memory usage I've noticed in java based programs compared to C++(the language that I'm pretty sure I've heard you mention is what your engine is written in). Do you think it would matter or should I start learning another language? I'm leaning towards going with C++ because it seems to be a much more powerful language and some other things I plan to make will require a bit more power.
  13. Causeless

    Causeless narcissistic, machiavellian and sadistic

    • Moderator
    In my opinion, 99.9% of the time you should just go with the language you are confortable with. C++ gives a lot more potentional for things to go wrong, for only a little increase in performance comparitively.

    Most of the time, the issue is going to be with the algorithms instead of anything else.
    If you really need the speed and power, and really know how to use it, sure! Learn C++. The difficult question is whether you really need it.

    It's like writing a book. Either you use a pencil, where you can erase any mistakes at the cost of murkier difficult to read words and needing to sharpen it every so often, or use a pen and have a clearer letter and longer life at the risk of an ink explosion or making a mistake! Regardless of what you choose, it doesn't affect the quality of the words on the paper.

    As a closing thought, I can assure you that the physics and other advantages SoA has over Minecraft is 90% the words written down and only 10% the tools used to write it :)
    NeonSturm likes this.
  14. Shashwah

    Shashwah Tester

    • Tester
    Though C++ does give a lot of potential for things to go wrong, most of the problem is the way people use it, unfortunately people treat it similar to Java or C. It is structured in such an odd way, I for one have changed to C# because for me it can be written in a more logical way but back to my original point. Choosing a language is more so just for what seems more natural for you to write with.
  15. Benjamin

    Benjamin Lead Developer

    • Dev Leader
    Honestly I just thought it sounded cool, and it fit nicely with the scifi theme!

    And shashwah, if you want to program in Java you have to be aware of a few things:
    1. Java runs on a virtual machine, and does more run-time checking than C++, this incurs a considerable penalty.
    2. Java cannot optimize well between modules like C++ can. Since in c++ all object code is compiled together, you can optimize between libraries which can offer a significant boost.
    3. Java uses garbage collection. The advantage is you usually don't have to worry about memory leaks. The disadvantage is sometimes memory use can get rather high if you dont manually garbage collect, and garbage collection often causes a noticeable stutter especially if you are doing lots of object allocation and deallocation.

    I love c++ but it is a different beast than Java. If you know how to use it well you absolutely can write faster code than Java, but if you are not prepared to learn how memory allocation and cache performance work then your code may not be much faster than java. Another thing to keep in mind is it will probably take you much longer to make a simple game in C++ than it will in Java.

    If you just care about making a small game and performance is not an issue, go with java. If you want to learn how to optimize a program at a lower level and want to learn skills for the long term, go with c++. C++ inherently forces you to learn more about the low-level stuff, and that is a plus.
    NeonSturm and joppiesaus like this.
  16. joppiesaus

    joppiesaus Infamous Space-Octopus

    • Member
    Okay! It indeed sounds cool.
    I saw this on the Tetris wiki: http://tetris.wikia.com/wiki/History
    Andromeda Software, I thought it had something to do with that.
  17. minicrafter8401

    minicrafter8401 Reinvented The Wheel

    • Member
    Actually I believe they redid the world generation for Minecraft in 1.7.1, so no more Tundra next to desert stuff. I still prefer SOA over Minecraft for biome generation anyways.
  18. Gingy

    Gingy Back Into Space

    • Member
    They did, but it doesn't always seem to work nearly as well as SOA. It's still FAR better than what it was before.
  19. minicrafter8401

    minicrafter8401 Reinvented The Wheel

    • Member
    I agree.
  20. OrionLT

    OrionLT Reinvented The Wheel

    • Member
    And 4 - Java is interpreted language, which is slowing program's job. But that's OK if you want to make a multi-platform program/game. But C++ is faster because it's compilable.
Similar Threads: Benjamin Arnold
Forum Title Date
Meet the Devs Josh Arnold - Lead Sound/Music Designer Feb 18, 2014

Share This Page