[DONE] Speed Code Tutorials?

Hai,

I have an opportunity to earn some extra uni credits and thought I’d fulfill some of your (newbies) potential desires. The mission is to make 3 different programs and either write an additional essay about their development or make a video about them. I’ve chosen the easiest way out and simply film the coding process and talk over it afterwards.

The programs and language of choice are pretty much whatever except the programs have to differ from each other. I’ve chosen Java as the language, quite obviously, without external libraries.

This is a 3 period long course so I’ve got lots of time - about 5 months (until May 2014). So if any of you newcomers have requests for specific programs/games you would like to see coded from scratch and then have a guy trying to explain what he is coding and why, and for what reason - then post some suggestions/requests. I don’t expect these to be helpful nor interesting for advanced Java developers.

Everything goes except for 3d applications. That leaves things like 2d games, various programs, networking etc is all OK. I’m focusing on the mechanics and the code here so don’t expect great graphics or any kind of story. And as I already mentioned I will be using “bare bones” Java without external libs like libGDX, LWJGL or Slick.

Hmmm, interesting project. Although I don’t want to actually see anything, I think its a cool idea for a university. Good luck on it!

Make a customizable game profile framework. Let me explain:
Some games require the user to create an account, and then the user will have a profile with stats and whatnot.

Like so:


class Profile
{
	Stat[] stats;
	Username username;
}

class Stat
{
	String name;
	String value;
}

class Username
{
	String username;
	String id;
}

Actually, after looking at the snippet I just posted, I think I may have just created it.

How about you make a graphical mouth that moves and says things. I’m talking about a mouth that gets drawn on the screen, and it is pre-programmed to move along to words that are being played.

I think all you need is some input for the decibels of the mic, and some premade-animations. Sounds cool none-the-less! Here are a few ideas:

  • Remake an NES classic!
  • Make a chat client and host!
  • Make a freeroaming 3d world!
  • Make a voxel game (everyone seems to like those nowadays…)!
  • Make a space flying game!
  • Make a banking manager!
  • Make a program that translates XML into an interactive conversation, like:

<converse>
  <choice id="1">You seem wierd...
    <response id="3">You seem awesome!</response>
  </choice>
  <choice id="2">You seem awesome!
    <responce id="4">You seem worse!</responce>
  </choice>
</converse>

Many more, but I have to get to bed…
Best of luck to your project!

Infinite looping sidescroller games like COPTER? I’d love to see it.

  • 2d fps (° ͜ʖ ͡°)
  • parkour game (like mirror’s edge)
  • hybrid rts/rpg like mount and blade
  • game of thievery (multiplayer - steal it first)

Also, not just the game side of things.

A very commonly overlooked thing that can make and break games, is quality and cohesion.

Specifically things like balance, and more specifically “controls” making sure that the pacing and weight is good. And while some of this is more game design than programming. I think it can be taught with it in mind and itll help a lot. The same can be applied to code, about having clean and straight forward principles. Making sure they understand anything fundamental, data structures, loops, syntax, etc…

Any game or app that talks about core mechanics would be great, game loops, controls, basic rendering, collision detection, path finding, anything network related, cameras, tweening, animation, movement, how to prototype, etc…

You don’t just want to teach them how to make “This particular game or application” but learn core mechanics and principles that can be applied to many related areas and fields.

A few good and some ambitious suggestions.

@opiop65
I agree it’s a very cool course concept.

@vbrain
What you’re talking about is a basic login system. As for the mouth thing - that’s certainly unique, but perhaps a bit too exclusive.

@wessles
I’m certainly going to incorporate hosting and chat into one of the three projects. I’m staying away from 3d since doing it from scratch, even with ext libs, is tedious and it doesn’t serve a particularly meaningful purpose in this.

@SHC
Simple and easy - I like it.

@Jimmt
2d fps? Like Wolfenstein/Doom? Actually, this might be quite a fun little demo to make.

@namrog84
All good points. I won’t really be focusing or talking about good coding practices at all if I can avoid it. These aren’t actually meant to be tutorials per se, just overviews of what’s been done basically. But I figure releasing the whole coding process might as well be of interest to some.

Some ideas I’ve been considering include:

  • A Gif Editor
  • IRC client
  • 2 player online board game (Isola)

Perhaps a bit too uninteresting and debug heavy - starting off with a simple game concept like COPTER might just be where the music is coming from.

I have an idea. Maybe instead of going for the newbies just show off. instead of trying to show you can teach kids the alphabet show you can teach adults how to program. Personally if I was looking over your course and I saw all the fantastic stuff you can do I would be astounded. So go jump into the deep end build something ambitous build something you would gladly brag about and be proud to look at again unlike my english homework :slight_smile: If you wanted to show of there are two main things you could do. 1 : show of your know how of the language build a program that demonstrates every aspect of java you know from System.out.println(); to Multi language intergration and scripting handlers. 2: Develop something that is stunning to look at and contains optimised code but doesnt demonstrate everything you know, but the code would have to demonstrate perfect understanding of each function and how you got to where you are.

Anyway very good luck with the course hope you get in 8)

I would say do something other than games. Create a networking program or a image editor. I think too many people focus on games when they first start programming, and not enough on other stuff.

Make something useful. :slight_smile:

Hearthstone arena deck building expert system.

  • Screen grab Hearthstone(or better still, memory peek)
  • determine the 3 options available in each card pick
  • based on the card choice, make a recommendation.
  • have pluggable logic so different building strategies can be created.

Showing off takes too much effort. Not that I’d have anything significant to show off anyway.

Anything “useful” seem to already exist :smiley: I’ll give it some thought.

Meanwhile I’ve started to fumble my hands on the Copter Game. Will finish it next week since I’m heading out to the cabin this weekend.

http://www.java-gaming.org/user-generated-content/members/54159/coptergame.jar

Thats nice. Will you release the source? I’m interested in seeing it.

Yeah absolutely. I mean that’s sort of the idea anyway. I haven’t used obfuscation or anything. I forgot to tell eclipse to add the src files into the jar - I’ll do that next version.

The maps are basically just generated through a modified game of life with a simple algorithm to assure that each map has a valid path through it. The longer you go, the more complex and narrow the maps get.

A little update on the Copter game thing. This one turned out to be the most fun to use/play project of the three (the others were a twitter server with Node.js/MongoDB and a programmable web program/API involving turning text (漢字) into images).

I cleaned it up a bit and put it on github (it’s a mess) for those who want to look at lazy hieroglyphs.

For those only want to try it out you can get it here [1.5 MB] http://heartpirates.com/archives/CaveRace.zip

It’s supposed to upload your highest score replay/name when you check the Top Scores (it saves replays of runs) and upload it online RESTfully and show you (download) the top high scores (also replays). That should work. Might not.

Controls:
QW and AS (moves up and down, press both for maximum thrust). Otherwise Arrow keys and Enter/Backspace. + and - for music volume control.

You can toggle the Ghost player mode for online top score or personal best or turn it off.

Make a space ship building game like Space Engineers. One of those games where you can construct a space ship and then fly it and battle with it. I’d love to see how a game like that works!