Our server costs ~$56 per month to run. Please consider donating or becoming a Patron to help keep the site running. Help us gain new members by following us on Twitter and liking our page on Facebook!
Current time: April 19, 2024, 2:30 pm

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Help me with my new website!
RE: Help me with my new website!
Yeah, for games Unity or Unreal is the way to go. Both are free, and there’s a ton of community support for them. They’re also the two biggest game middleware technologies in use right now (the Nintendo Switch, for example, is essentially an Unreal box, while Unity has powered things like Ori and the Blind Forest, Cities: Skylines, Cuphead, etc.).
Reply
RE: Help me with my new website!
This has been going so long it's probably an old website by now.
Dying to live, living to die.
Reply
RE: Help me with my new website!
Quote: This has been going so long it's probably an old website by now.
It's only the URL that's remained. The code has been almost completely rewritten.
Quote: SVG is not even in the top 20 list of platforms worth making games on.
Maybe. But it's a lot easier to make a PacMan in JavaScript using SVG than to do it in C++ using OpenGL. After I had been studying C++ for years and OpenGL for months, I still wasn't able to make a PacMan at all. After I had been studying JavaScript and SVG for a few weeks, I was able to make a Pacman using it in just a few hours.
Quote: Unity is the best way to go.
Unity uses C# for scripting, right? How long does it take to learn C#? I happen to know Microsoft SmallBasic, which allows you to access a subset of .NET.
Also, I suppose that, to make any more complicated 3D animations, I'd need to get comfortable using a 3D modelling program, so that I make an animation using it and then code the coordinates and the transformations into the program. Which one would you recommend me? How long does it take to learn?
I don't have indefinite amount of time to explore many different things by myself, I am already doing bad at school.
Quote:That doesn't mean your time spent is wasted.
So, do you think I had wasted my time studying C++ for years? I feel like I had.
I also spent a few months learning the basics of x86 assembly. That time was certainly wasted, right?
Reply
RE: Help me with my new website!
"How long does it take to learn X?" is a meaningless question, since it's largely dependent on the person that's trying to learn.

C# is Microsoft's answer to Java, and has had a far more active development cycle (Oracle hasn't done shit with Java in years). If you're familiar with C++, C# will feel very similar. The biggest difference is how it handles memory access. Pointers aren't generally used, and when they are, it's in a slightly different way.

And, yeah, the barrier to entry with doing something useful with C++ is much higher than with other languages. Since you're into gaming, that's why you see all of those middleware frameworks listed in the opening credits. Unity, Unreal, Havok, Criware, etc... modern gaming all but requires these frameworks because rolling your own is hard and incredibly time consuming.

We even see it with the web now. There's a reason why websites are built with one or more frameworks. Writing your own router, your own database access layer, a flexible template system, etc. is possible, but takes away from actually solving the problem at hand - building the website you/your client wants.

So, we rely on frameworks which are built by people who do nothing more than work on them to handle the low level boilerplate work, while we work on the main problem. It's that way across the industry.

That said, I believe it's imperative to know, at least conceptually, what's going on under the hood. So, yeah, it's important to know the difference between heap memory and stack memory, what pointers and memory addresses are, the difference between pass-by-value and pass-by-reference, etc. And it's also important to understand concepts like polymorphism, and when/why to use inheritance vs. composition, and basic design patterns and algorithms. Because - and this is especially prevalent on the web - there are far too many people who are cargo cult coders. People who learned through tutorials and only do things that way because they don't really know what's going on, but it generated the proper result for them so that's what they do.

So, no, your time wasn't wasted with C++, provided you learned something from it. Again, speed isn't the most important thing.
Reply
RE: Help me with my new website!
@FA:

C# is pretty much part and parcel of .NET now.  It feels a lot like a mix of c++ and Java.  The good news is you can go and download Visual Studio Community edition, which is a fantastic programming environment, and it's almost 100% fully-featured.  The only thing you're missing from the corporate edition as far as I can tell is some of high-level diagnostics, team coordination tools, etc., which you won't need anyway.  Visual Studio allows you to work with databases, to write ASP.NET web sites, to quickly make Windows programs using a visual designer, and most importantly: Unity and Microsoft are currently cooperating, so when you install Visual Studio, there's actually an option to install the framework required to use Visual Studio as your editor for Unity scripts.

Unity is also 100% free and is mostly fully-functioning.  There are also free assets you can download to practice various techniques, including animated characters you can use.

Just for interest sake, here's a tutorial I was making for XNA (don't use it. . . use Unity instead) using C#.  XNA was a C# wrapper for DirectX, which only has full libraries for C++.  It should tell you a lot that Microsoft has completely abandoned XNA, and decided to partner up with Unity.

I'm not very good at making tutorials-- but I explained a little bit about classes and some of the other things that Kevin mentioned in his post.  And you get to shoot the old Pope, so there's that. . .  There are "tutorials" that show step-by-step how I designed the game from a simple ship model to a reasonably full-featured mini-game.  If you are interested, check it out, because I can answer questions you have about any step of arriving at this.  This particular episode mostly talks about how I used nested constructors to allow one class to handle a lot of different enemy character types. (For my awesome live-action impression of Paris Hilton, watch episode #2):





Here's another little mini-game I made, this one using Unity with Visual Studio for the scripting.  There's no tutorial or anything, but it's actually an extension of one of Unity's tutorials, so with a little tweaking you could arrive at your own marble game.



Reply
RE: Help me with my new website!
Quote:That said, I believe it's imperative to know, at least conceptually, what's going on under the hood.
I agree. However, if you are a cargo-cult coder, you can at least make something. If you know what's going on under the hood, but you don't know the frameworks, you can't do anything.

Quote: If you are interested, check it out, because I can answer questions you have about any step of arriving at this.
Seems interesting, I'll look into it further. I don't feel like learning yet another programming language (C#) right now, I am already doing bad at school.

Anyway, I've just taken some time to finish the graphic interface for all of the parts of the game about linguistics, it's available on-line on that same address. Do you have some ideas how to improve them that are easy to program?
Reply
RE: Help me with my new website!
As for not learning C#-- trust me, that's a mistake.  It's close enough to Java and a couple other languages that I just consider them all different flavors rather than complete new word views to get used to.  Most of the scripting is just using variable to store properties, and to say what happens when events are triggered.  Basically, I have a few things like the following:

Code:
void OnTriggerStay(Collider other)
    {
        if (other.gameObject.tag == "WinZone")
        {
            if (!DoingLerp){
                if (EthanCountingSystem.CanWin == true){
                    WinText.gameObject.SetActive(true);
                    if (DoingLerp == false){
                        DoingLerp = true;        
                        Pos1 = rb.transform.position;
                        Pos2 = GameObject.FindGameObjectWithTag("WinZone").transform.position;
                        TimeStartedLerping = Time.time;
                        rb.constraints = RigidbodyConstraints.FreezePosition;
                        HaveWon = true;
                    }
                }
            }
        }
    }
You can see that this is the event handler for the player entering the "win" box in the marble game.  There's no kind of complex programming at all-- just a collection of  "if" blocks that set various properties when something happens: if it is the player who entered the box, and if all the Ethans have been destroyed, set the "Win" condition to true, etc.

That's pretty much all game scripting is: saying WHEN you want to trigger and event, and saying WHAT you want to happen when that event is triggered.  You need to know about 1% of C# to be able to do that effectively. Things like animations are done in the designer with pre-built assets (like you "add collider" to an object, and it all gets done automatically for you).

I'd estimate the whole marble game is maybe 100 lines of code right now, which 15 years ago, might have got you to successfully display a blank DirectX window but not much more than that.
Reply
RE: Help me with my new website!
It should be noted, also, that cargo-cult coders usually don't get jobs, and if they do, don't advance very far....

Even with web programming, and the glut of frameworks available, you still need to learn how to write custom code, how to test, debug, maintain, extend all of it.

If any of this is interfering with your school work, by all means, focus on that. It should be your top priority. But, if you're interested in programming as a profession, especially if you want to get into game programming, you'll need to learn concepts like:

Polymorphism (is-a relationships, the benefits of interfaces and abstract classes, etc.)
Composition (why it's preferable to inheritance, how it facilitates polymorphism)
Events (Observer pattern - publish/subscribe)
Other basic patterns (Factory, Facade, etc... pretty much all of the Gang of Four)
Etc.
Reply
RE: Help me with my new website!
^

This is truth. I couldn't get hired in a game company in a million years. For me to succeed, I'll have to either completely design games on my own, or head an indie team. The good news is that some of the simplest games are now extremely popular and quite profitable. I now have a couple dozen English students whose parents are begging for me to open coding classes, so they can learn to do what I've already learned to do. Even though I just released a 6-level alpha, the students really took to it and compete to get best times.

I have to be honest-- I wouldn't want to be a professional coder for a big company. Do I really want to spend a month of my life optimizing path tracing routines because someone has added a double-jump powerup or something? I mean-- talk about taking an exciting hobby and turning it into a soul-sucking slave gang.

Nah. . . I'd much rather work on projects that I can handle myself. There's still joy to be had in computing, but I don't think much of it will be found in big companies.
Reply
RE: Help me with my new website!
Yeah, that's one of the benefits of being a freelance web developer/subcontractor.  I can pick and choose what things I want to work on as they come my way.  Like, right now, I just started work on adding an e-commerce section to an existing site.  All of the scary PCI compliance stuff is handled by Stripe on the back end through their API.  So, for me, it's mostly just about creating a reasonable CRUD system for inventory and whatnot.  Not hard, really, but enough balls to juggle to keep it interesting, and to keep me busy.

For funsies, I just wrote my first small C++ program in nearly 20 years.  It's dumb, but it works:

Code:
#include <iostream>
#include <string>

use namespace std;

int main()
{
   string name;

   cout << "Enter your name, or type 'exit' to stop\r\n";

   while(cout << "==> ", getline(cin, name))
   {
       if(name == "exit")
       {
           break;
       }

       cout << name << "\r\n";
   }

   return 0;
}
Reply



Possibly Related Threads...
Thread Author Replies Views Last Post
  Please give me link voting english website A-g-n-o-s-t-i-c 4 1557 December 24, 2013 at 2:29 am
Last Post: A-g-n-o-s-t-i-c
  Website shows bad automated translations: a hoot! Anymouse 3 2069 June 30, 2011 at 9:59 pm
Last Post: Anymouse
  Answers in Genesis website hijacks web history! Tiberius 31 10823 December 13, 2010 at 3:32 am
Last Post: Minimalist
  Porn Website Sued For Spying On Users Tiberius 15 8509 December 10, 2010 at 5:42 pm
Last Post: Violet



Users browsing this thread: 1 Guest(s)