ID:115038
 
I've been busy lately (on non-BYOND things), so here's an update of the few things I've gotten done and the many things I plan to do.

A 3D Display Mode for BYOND

I'm sure the staff has given this some thought, and I made a post a while ago to spark some discussion on this, but I'd like to see the topic revisited. A 3D display mode is not hard to add. I'd say it's harder than adding the isometric display but much easier than making the Flash client. Because it's just a graphical display, it avoids some technical issues (ex: none of the networking stuff has to be changed or re-done), but to be compatible it still has some problems that might not be obvious (ex: needs to figure out what object the player clicked on, take mouse_opacity into account, etc.).

It'd be very beneficial:

* It would give BYOND a built-in, client-side, dynamic lighting system. You'd just have to create a way for the server to define light sources.

* It would solve all layering issues that 2.5D displays have.

* It opens the door to some more advanced features (3D models, shaders, etc.)

* Makes map rotation more useful, more flexible, and for free.

* Providing a simple way for users to create games that have 3D graphics is another excellent selling point for BYOND.



Perhaps the most important feature is that a 3D display mode lets users do more with simpler graphics. Currently people put a lot of effort into making every sprite look just right. When that's all you have, you have to. When the images you make are used as textures applied to 3D objects and have shading applied to them, things automatically look nicer. Many BYOND games have turfs that are better drawn than Minecraft's textures, but Minecraft's graphics are, overall, better than any BYOND game.


Sidescroller

Another update has been posted that includes:

* Updates to the pathfinding, or more precisely, the path following routine.

* Added an example of pushable boxes in interaction-demo.

* Added an argument to mob.movement() and mob.action(). The argument is a number of ticks in the 0 to 999 range. This can be used to easily create events that happen every n-th tick, instead of every tick.

* Changed the way move() and climb() are called. Previously, if you were standing next to a wall and tried to move towards it, move() would not be called. This also meant that bump wouldn't be called. Now, in that same situation, move() will be called.

The old path-following code is packaged with the library as _old-mob-pathing.dm. It's not included by default, but it's there if you'd prefer to use it instead of the updated version. Neither version is perfect, so you might get better performance from the old one.


Pixel Movement

I'd like to create some mini-game type of demos that I'll include as demos. Not only will they serve as demos that people can look at, learn from, and build upon, but they'll also be designed to work as benchmarks for evaluating singleplayer and multiplayer performance.

The library recently passed 1,000 downloads.


A Miner Adventure

A small update has been posted to address a few issues:

* #398 Fixed a bug where you wouldn't be properly placed on the map when a game started

* #397 Fixed a bug where the winner in free-for-all rescue games wasn't getting credit

* Made some optimizations to further improve performance when lighting is disabled.

When I get the time I'll begin work on a new adventure mode. It'll be a completely separate adventure that'll be in addition to the current adventure mode. It won't replace it, but it'll be a lot better.


Tiny Heroes

I've made some changes to the classes. Here are the current descriptions and ability sets:

Bandit:
* dagger throw
* wall climbing
* increased movement speed
* reduced ability cooldown times

Druid:
* shapeshift
* summon a plant that shoots at enemies
* brambles (deals damage to enemies when they touch you)
* some type of summoned melee attacker

Necromancer:
* bone spear
* summon skeleton
* shatter (kills enemy but spawns a soul)
* consume soul (restore health and mana)

Warlord:
* increased physical damage
* leap
* charge

Wizard:
* anti-gravity
* wand attack
* ice block (summon dense block that you can shatter to deal damage to nearby enemies)

Assassin became Bandit and Knight became Warlord. Not that they matter much, but when you hear "druid", most people think of druids from WoW, Diablo 2, or some other existing game. By using different names I'm not giving you any expectations of what the classes will be able to do. I might change the names of the other classes but I don't have any ideas at the moment.

Some of these abilities haven't been implemented yet. In addition to implementing them (once they're implemented I'll post a new video), I'd also like to add the interface for binding abilities to keys. After that I'll work on implementing character growth. I tend to work on features and content in parallel, so I should have three dungeons done by that point. Then it shouldn't take much more work to get a playable demo together.


Developer Articles

I have a few ideas for articles but they're on hold for now. I haven't had much time to spend on BYOND lately, so I'm not going to spend what little time I do have working on an article.


People Using Pixel Movement

I've been noticing more and more posts about people using my pixel movement libraries. This is always nice to see.

http://www.byond.com/members/ Albro1?command=view_post&post=114935
http://www.byond.com/members/ Yusuke13?command=view_post&post=114915
http://www.byond.com/members/ Tafe?command=view_post&post=114770
http://www.byond.com/members/ Laserdog?command=view_post&post=114588

If I missed your project, let me know. I like to keep up to date on how people are using my libraries so I can get ideas for things to add to them.


Membership

My BYOND membership is running out (in ~16 days). I hate when people beg for memberships so I'm not going to beg, but I know there are lots of people out there who enjoy buying BYOND memberships for other people. If buying a membership will make you happy, and getting one will make me happy, maybe we can work something out.
Anytime someone mentions 3D in BYOND, you'll just get attacked with, "thay cunt due et, ets empuszible", anyway, time to go update the side scroller lib, thanks for updating ^^
Imagine punching a 3-dimensional powerbag.

I am so for this idea. Get to it, Tom!
I've blogged about a 3D mode before and the response was fairly positive (or at least that's how I remember it). I think a lot of people will tend to think "that's not possible", but really they don't have the slightest clue about how it'd be implemented. I'm not too concerned with those types of opinions.
I don't see what makes you think a 3D display option in BYOND is as trivial an issue as you make it sound. I would love them to implement it, but I just don't see it as something easy to do. I don't think you have the slightest clue about how it'd be implemented either, Forum_account. I don't think you have the BYOND source on you anywhere. Who knows what loops they need to jump through? For all we know, it might be better for them to just start from scratch to implement such a thing.

3D -would- be a nice selling point. Flash, even better. I go with the flash client.
It seems that some of the classes in tiny heros have more attacks than some. Will some classes be getting more attacks than others?
I sort of side with Fuggy as far as Flash being more important. I doubt a lot of people would even utilize this. Look at what happened with isometrics. If developers were so eager to make something look more 3Dish, they would have been all over isometrics. But how many people use it? Calus tampered with it, there were about 2 or 3 fan-games that used it, and like one tactical RPG game that I can't even remember the name of now ( maybe it ended up in file 13 like 90% of the games on BYOND ).

I see more people using Flash as there are already games being worked on to use it ( the PopLava contest, NEStalgia, and probably some more people who just haven't announced it yet ). Also, in theory, games would be able to go on mobile devices as well because of Flash ( we would just need to figure out how to substitute some things like macros ) and mobile games are hotter than lava right now.
Shaders after 3D? But I want shaders nowwwww...
@Rockeyx2: The lists of abilities aren't complete. I've listed all the ones I've thought of, but all classes will be getting more.

Fugsnarf wrote:
I don't see what makes you think a 3D display option in BYOND is as trivial an issue as you make it sound. I would love them to implement it, but I just don't see it as something easy to do. I don't think you have the slightest clue about how it'd be implemented either, Forum_account. I don't think you have the BYOND source on you anywhere. Who knows what loops they need to jump through? For all we know, it might be better for them to just start from scratch to implement such a thing.

Are you concerned that the feature itself is too hard to implement? Or that their code is such a mess that it would be hard to add?

If they could add an isometric display mode, their code can't be that much of a mess. A 3D display mode doesn't need many new features (vars, procs, etc.), it's mostly just a new way of handling things that are already being done. Instead of drawing a 2D icon for each atom, you draw a 3D polygon. 3D graphics sounds daunting, but look up some OpenGL or DirectX demos, you might be surprised at how easy it is.
I think the flash client will end up quite like the isometric mode. People expect/hope it will make a huge difference, but it really doesn't. Maybe I'm just too much of a pessimist, but I can't imagine that people will want to play laggy BYOND games on their phones. The flash client makes BYOND more accessible, but the reason that BYOND games aren't popular now isn't because people won't download the BYOND software, its just because the games are bad.

A 3D display would have significant impact, much more than isometric mode. I think that a lot of people would be interested in making a game with a first person view.
Forum_account wrote:
Are you concerned that the feature itself is too hard to implement? Or that their code is such a mess that it would be hard to add?

If they could add an isometric display mode, their code can't be that much of a mess.

My concern is a little of both. Look how limited the isometric mode really is, after all.

I think the flash client will end up quite like the isometric mode. People expect/hope it will make a huge difference, but it really doesn't.

A BYOND Flash client and an isometric mode are on completely different levels. The Flash client will open up so many doors. Isometric mode didn't open many. A flash client could bring BYOND to all corners of the internet and give it a much better image.

3D games are cool, but 2D games are still games and are still a lot of fun. Add a Flash client to that, and you've got a much more marketable product.
Fugsnarf wrote:
A BYOND Flash client and an isometric mode are on completely different levels. The Flash client will open up so many doors. Isometric mode didn't open many. A flash client could bring BYOND to all corners of the internet and give it a much better image.

I expressed some concerns about the Flash client in a previous blog post. The problem is that the internet is already full of high-quality Flash games. The internet seems to be doing fine without laggy, unresponsive, tile-based Flash games. More people have downloaded Braid, Minecraft, and Knytt than any 10 BYOND games. You don't need a Flash client for a BYOND game to be popular. I hope the Flash client really does change things, it just doesn't seem likely.

3D games are cool, but 2D games are still games and are still a lot of fun

Having a 3D mode doesn't prevent you from making a 2D game. It only adds to what you can do. While there are a lot of things you can do with 2D, there are a lot of things you can't do. This is especially true for BYOND because it's limited when it comes to 2D, so there are a lot of 2D games you can't make with it.

A good part of the benefit would just be the sheer glitz of it. Being able to say "With BYOND, you don't need to know anything about making 3D models or DirectX/OpenGL to make a game with 3D graphics" would draw in a lot of people. Saying "With BYOND, you don't need to know anything about Flash to make a tile-based multiplayer-only Flash game that runs at 10 fps and requires you to set up a dedicated server" doesn't have the same impact.
Forum_account wrote:
The internet seems to be doing fine without laggy, unresponsive, tile-based Flash games.

It still has laggy, unresponsive, tile-based BYOND games. Flash wouldn't make BYOND any better, but it would get the good parts of BYOND out into the world.

Speaking of tile-based games, the 3D wouldn't help much with that. In fact it would probably screw things up even more due to BYOND's current tile-based movement. Maybe the first priority should be built-in pixelized movement to deal with those possible issues before even thinking about 3D gameplay. Either way, since we can make nice games with pixelized movement on BYOND as it is, I'd love to be able to push those out onto the web as flash games to spread the name of BYOND. Since they've already begun their work on it, I say finish it.

BYOND community member, DerDragon, has been working on a BYOND-esque engine for a 3d environment. From what I've heard and seen, it looks pretty good and covers so much more than what you've been talking about.

Perhaps you could get in touch with him and see the work he's done.
Fugsnarf wrote:
Speaking of tile-based games, the 3D wouldn't help much with that. In fact it would probably screw things up even more due to BYOND's current tile-based movement.

This is just a way to display things, it wouldn't change how movement works at all.

Flash wouldn't make BYOND any better, but it would get the good parts of BYOND out into the world.

When you say "out into the world", are you referring to the game playing world or the game development world? For the game playing world, I've already explained that accessibility isn't that big of an issue. For the development world, I don't think that BYOND will look very appealing. If game developers already have experience with flash, using byond to make flash games won't be appealing (because there are a lot of things you can easily do in flash but can't do through BYOND). If they don't have experience with flash there's probably a reason why. If people aren't interested in making flash games, its not likely that they'd be interested in making games for BYOND's flash client.

D4RK3 54B3R wrote:
BYOND community member, DerDragon, has been working on a BYOND-esque engine for a 3d environment. From what I've heard and seen, it looks pretty good and covers so much more than what you've been talking about.

Is this it? http://coggoid.com/devblog/

It doesn't appear to be very active.
Forum_account wrote:
Is this it? http://coggoid.com/devblog/

It doesn't appear to be very active.

That is it. He doesn't post on his blog very often, but he did just spend a whole month redoing his prior work, to make it more efficient. I keep telling him to use his blog a bit more often =P
Yut Put wrote:
Coggoid is not for BYOND.. its a C++ driven engine with its own language based on DM?

It's based on, and looks a lot like BYOND. This is a code snippet from one of my projects from last year.
Forum_account wrote:
I think the flash client will end up quite like the isometric mode. People expect/hope it will make a huge difference, but it really doesn't. Maybe I'm just too much of a pessimist, but I can't imagine that people will want to play laggy BYOND games on their phones. The flash client makes BYOND more accessible, but the reason that BYOND games aren't popular now isn't because people won't download the BYOND software, its just because the games are bad.

A 3D display would have significant impact, much more than isometric mode. I think that a lot of people would be interested in making a game with a first person view.

Trueeeeeee, I wonder why the Dev's don't make a small awesome project.
Forum_account wrote:
Is this it? http://coggoid.com/devblog/

It doesn't appear to be very active.

Yeah admittedly he doesn't post on the blog very often. I do know that he is in somewhat regular contact with Zaltron, and Zaltron has told me that he is close to a release.

Also I have seen dozens of more screenshots of the engine on DerDragon's Facebook (though I don't expect you to stalk him that much)
It seems from your previous blog post that Tom has given some thought towards a 3D mode.

I'm sure some people don't understand how much would most likely not need to be changed for the change in display. In my mind, instead of drawing a square tile, draw a box and copy/paste the icon (which would now be considered a texture) on each of the box's faces. This would not change how movement is handled, because it doesn't change the fact that everything is still tile-based and comes from the same map format. Of course, I have to assume it's probably much more complicated than that.

I couldn't get coggoid working. It crashed every time I tried to compile, and I haven't tried to contact DerDragon about being my documentation. The version I was using was probably a really old, broken one, though. The coggoid forum and wiki is filled with bot posts, so it doesn't seem like he pays very much attention to the website.
Page: 1 2