Programming Outline




How should the game be programmed? What language/Engine? Et cetera. everything about actual programming of the SBURB game.

Programming Outline

Postby Interloper » Mon 11. Apr 2011, 14:35

I'm going to go out on a limb here and talk about something other people know way better than me. You know, for once.
Specifically the important programming based stuff I think the game needs to have.

Format
As far as languages go, I recommend java - we want something that can be run in a web browser, or offline as an executable. The idea for this is that games will take a while, people will want to access their sessions from more than one place, so ideally that should happen. In addition, "here's the game, play it" makes for a hell of a demo. This is obviously copying the Minecraft model, but that's because that is the best model. If it's online only, you can't play offline, if it's offline only, you have to play on one machine. It's also really cool to just link someone it and have them be able to play - the less barriers to entry the better, as a general rule.

Server
At a basic level, I think a client and a server will have to be created - the server contains a multiplayer session, the client connects to it. This wouldn't be a chain, it would just be a server that records the game state, the player data and any seeds for procedural stuff. For a single player session obviously no server would be required, as the data can just be written to a save file. That can just be a text file, I don't think it really matters if someone messes with it or anything - anyone wanting to play it legitimately won't do that, so encrypting is probably pointless. Assuming players had their accounts on a server, and had say a couple of megabytes storage space each, game data could be stored under their profiles, allowing them to access it anywhere. I don't know how big save data would be so I say megabytes, but realistically it'd be like 10 slots online, as many as they wanted offline.

Client
The client will have both single player and multiplayer functionality as outlined above, probably through direct connection to the server, which could be extended to an invite. Unless there's a system with public games where it's just an ongoing thing and anyone can play as any character (which would be fun) then a server browser wouldn't be necessary. From there (and here's the useful thing with using a modular language like Java) it's a matter of assembling characters, worlds and items out of the disparate parts that are programmed in, and then arranged based on which variables are set to what. I know that basically describes everything, but I just wanted to get the idea across that modularity is a core principle when it comes to writing this thing. So that means that when writing it you'd have basic walking around, hitting stuff etc then each new module would be a discrete part of gameplay - so the title module adds abilities, and the echeladder module adds stats. It means that the game is playable at every stage of production, and gets deeper as we go. So once the basic systems are in place, you can play a generic character walking around and stuff - about the level of interactivity of alterniabound, at this point it would be possible using basic mechanics to go to the medium, run around there, get to the battlefield using level warps and stuff. At that point perhaps a basic item system could be added, then some form of stats and so on. Actually once items and basic movement is added then we'd have enough to recreate act 1 more or less, so that could even be a demo.

More ideas as they come, I don't know how useful this, it's not incredibly technical, I just wanted to outline what we're aiming for in terms of the client/server/account architecture, and how to get there - starting from the barest minimum playable state and just adding on. There's really not a lot of interactivity between systems in Sburb, aside from like god tiers and sylladex weaponizing, so the implementation would be fairly clean, and could be iterated on as we go. I know it sounds like I'm just trying to rip off Minecraft if I say it like this, - starting basic and adding features until it becomes 'releasable' but it works because it's a good idea. And it's fun for those following development.
Interloper
 
Posts: 24
Joined: Sat 9. Apr 2011, 04:17

by Advertising » Mon 11. Apr 2011, 14:35

Advertising
 

Re: Programming Outline

Postby immortius » Tue 12. Apr 2011, 10:37

Interloper wrote:Format
As far as languages go, I recommend java - we want something that can be run in a web browser, or offline as an executable. The idea for this is that games will take a while, people will want to access their sessions from more than one place, so ideally that should happen. In addition, "here's the game, play it" makes for a hell of a demo. This is obviously copying the Minecraft model, but that's because that is the best model. If it's online only, you can't play offline, if it's offline only, you have to play on one machine. It's also really cool to just link someone it and have them be able to play - the less barriers to entry the better, as a general rule.


I said this in one of the other threads, but Java isn't the only option for web embedding. Unity engine (code with C#/Boo or a Javascript-like) is one. I believe Neo Axis does too. Or we can wrap a C++ app with Java if we're careful. I would certainly be fine with Java though. But how important is this requirement compared to others?

I know that basically describes everything, but I just wanted to get the idea across that modularity is a core principle when it comes to writing this thing. So that means that when writing it you'd have basic walking around, hitting stuff etc then each new module would be a discrete part of gameplay - so the title module adds abilities, and the echeladder module adds stats. It means that the game is playable at every stage of production, and gets deeper as we go.


What you describe is an agile approach which certainly is a good idea. One important thing is to start network code early on, because multiplayer support will affect everything - if you try to add it later you'll end up with a System Shock 2 or Halo 1 for PC (which required a Gigabit network for multiplayer).
immortius
 
Posts: 26
Joined: Sun 10. Apr 2011, 01:31

Re: Programming Outline

Postby Interloper » Tue 12. Apr 2011, 23:48

immortius wrote:I said this in one of the other threads, but Java isn't the only option for web embedding. Unity engine (code with C#/Boo or a Javascript-like) is one. I believe Neo Axis does too. Or we can wrap a C++ app with Java if we're careful. I would certainly be fine with Java though. But how important is this requirement compared to others?

I'm not very familiar with unity, but I assumed it was a 3D only deal. I mean there's no reason that couldn't be repurposed into 2D and it might even help make dealing with draw order easier, but it wasn't something I had in mind for 2D.
In any case having it run on the web is not important from a gameplay standpoint - certainly it's more important to get the game functional than use multiple platforms, but does that really matter if people aren't bothering to play it? I think having that ability to just load it up in your browser would make things a lot easier for people who might not bother downloading it, even if they thought it looked cool. In any case I'm happy with anything we can embed as well as make an executable out of, even if we only do the latter because I'd want to have that option, even if it just meant browser support could be added in later.
immortius wrote:What you describe is an agile approach which certainly is a good idea. One important thing is to start network code early on, because multiplayer support will affect everything - if you try to add it later you'll end up with a System Shock 2 or Halo 1 for PC (which required a Gigabit network for multiplayer).

Yes it is, Agile is usually pretty well suited to software development, and this project is one that would benefit from iteration, so I figured it's probably the best approach.
and yes, I agree, netcode is second only to being able to walk around and transition between rooms, assuming indeed the multiplayer route is taken.
Interloper
 
Posts: 24
Joined: Sat 9. Apr 2011, 04:17

Re: Programming Outline

Postby immortius » Wed 13. Apr 2011, 10:25

Interloper wrote:
immortius wrote:I said this in one of the other threads, but Java isn't the only option for web embedding. Unity engine (code with C#/Boo or a Javascript-like) is one. I believe Neo Axis does too. Or we can wrap a C++ app with Java if we're careful. I would certainly be fine with Java though. But how important is this requirement compared to others?

I'm not very familiar with unity, but I assumed it was a 3D only deal. I mean there's no reason that couldn't be repurposed into 2D and it might even help make dealing with draw order easier, but it wasn't something I had in mind for 2D.

I believe the debate between 2D and 3D is still running. At any rate I have done 2D stuff in Unity before, although it isn't particularly targeted at that it is true. But it does have some network support built in (built on top of raknet if I recall correctly), which is a boon.
immortius
 
Posts: 26
Joined: Sun 10. Apr 2011, 01:31

Re: Programming Outline

Postby The Cool » Wed 20. Apr 2011, 00:36

Unity is also browser-embeddable, I believe.
The Cool
 
Posts: 18
Joined: Sat 9. Apr 2011, 21:35

Re: Programming Outline

Postby ripples » Fri 17. Aug 2012, 22:20

lolol i posted this on the 3d vs 2d discussion and it covered the charactor creation format :3 but i dont feel like erasing all the bits that dont matter for this thread so ill just post it all >:3

ripples wrote:well.

3d would in my opinion make the overall feel of the game better, like your actually inside the game. 2d DOES follow the homestuck style, however, the question is if you want the sprites to be fully customizable. the easiest way in 2d would be to set up a system where the players simply needed to draw their own sprites (including walking frames) and insert them into the game, thus making their characters appearence. but in my opinion i would prefer we didnt stick EXACTLY to the homestuck style because that would just look silly in 3d (but it depends how you go about it. imagine 3d john homestuck style in your head. i think the proportions just wouldnt work) so maybe you could work towards a 'hero mode' sprite set? like, in character creation, there would be a screen where you can choose height, weight, and size of indavidual body parts (including other things like skin color, hair length/color, and accesories of course) to give each character a unique look. id love to see something like that thats so customizable, that i could literally make myself (oh i forgot! at the start you would choose a age for the default characters proportions :3) and play it. i just think that would be so awesome. but also LOTSSS of works. well, in all honesty, ive never worked in the area of 3d so i wouldnt have a clue how long it would take to program the prites to be that customized and stay the way throughout the game. you have to pertain to jump animations and running and fighting still with all the size differences and such. what i reccomend (please remember i have little knowledge so this might not help at all) is that you have a limit to how small or large the initial size of the character should be, and also how about 3 or 4 groups. small, medium, large, and extra large(?) each group would have specific animations for jumping and such that would all fit its size. but dont make JUST 3 or 4 options for the players to choose! i was thinking (lertaining to sliders in character creation) that there are different sections along the slider that after passing, your character advances into the next animation. . . ? oh, and that brings me to another thing, sliders. in character creation (please remember that everything im talking about right now if specifically for 3d, if this were 2d, sliders definetly wouldnt be needed) i think that there should be sliders, controlling the height, weight, and measurment of various parts, possibly including glasses and such?

oh wow i just realized none of this really even goes with the idea of 3d or 2d o-o oops haha well i guess thats my debate and ideas for characters XD basically, 3d.


:3
ripples
 
Posts: 2
Joined: Fri 17. Aug 2012, 21:47

Re: Programming Outline

Postby dimkavisser » Sun 16. Sep 2012, 06:26

Onbeperkt verrassing: www.lanvinshop.com

de kwaliteit is zeer goed. En de website is het bevorderen van hun producten aan deze dag, dus ze hebben zeer goede prijs en grote korting nu. Deze website verkopen ook Moncler jas en ga zo maar door. Ik hoop dat je een goede shopping humeur!
Groeten!
Designed by Tinker Hatfield, the Gucci Zonnebrillen
masseuses a large air cushioning unit Which is visible at the side of the midsole in musts models. Especially sought after models include the 1987 (Air Max I), 1990 (Air Max III), 1991 (Air 180), 1993, 1995, 1997, and to other extents, 2003. Nike Air Max is a shoe by Nike that was Introduced in 1987 as the first example of Air Max-branded technologies. The 1993 model was the first to have the fully visible Air unit that was very visible in the back as well as on the sides, and the 1995 model was the first to feature visible forefoot Air. The 1997 model was the first to include a full length Air bag. The Beatles' song "Revolution" was Used in a television commercial to Promote the shoe. It was the first and only time a song That Performed by The Beatles was Used in a TV ad. The Cushioned shoe Has Been a popular clothing item among gabber music fans and the Dutch song of the country ... by Lange Frans & Baas B states That Air Max will not ever go out of fashion in the Netherlands
dimkavisser
 
Posts: 1
Joined: Fri 14. Sep 2012, 10:18


Return to Programming

Who is online

No registered users

cron