GDR Forum Index
Podcast Podcast
Dev Dev Logs
Search Search
RSS RSS
Register Register
Log in Log in
Reply to topic GDR Forum Index -> Game Developer's Refuge -> Development Log - Tank Game (v:1.0e, +sound +min.fixes) Page Previous  1, 2, 3  Next
View previous topic :: View next topic  
Author Message
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1670
Location: Your consciousness.
PostPosted: Mon May 04, 2009 11:39 am    Post subject: Reply with quote

todays progress report:
  • tested yesterdays build on various different school computers (worked on all of them)
  • made the game load constants from a file (e.g. heatGainPerShot, maxHeat, etc.) to allow for tweaking/balancing without recompiling
  • made the game write default constants to a file, if no such file is found
  • implemented a small but fine KeyState class that will allow to detect things like KeyDown, KeyUp, which need to save a previous state to work with vanilla Allegro stateless keyboard state array(which only holds the current state of each key at any time)
  • started hardcoding the menus (so far there's only the main menu, which does nothing except it lets you highlight the menu items and lets you exit the game by entering the last menu item)
progress shot of dev. env.:

_________________
0xDB
View user's profile Send private message Visit poster's website
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1670
Location: Your consciousness.
PostPosted: Tue May 05, 2009 11:45 am    Post subject: Reply with quote

todays progress report:
  • made an additional tile, so that the indestructible rocks can be distinguished from the destructible ones
  • made the game look for .txt map files in a subfolder at startup
  • implemented the method to render the map
  • left and right cursor keys in main menu allow cycling through the maps now and the map, together with tank start positions is displayed behind the menu

screenshot:

_________________
0xDB
View user's profile Send private message Visit poster's website
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1670
Location: Your consciousness.
PostPosted: Wed May 06, 2009 12:22 pm    Post subject: Reply with quote

todays progress report:
  • implemented the scoreboard menu
  • started implementing the status displays(so far, they just show the player names, the tanks in the same orientation as ingame and the targetting help blips that point to the other tank
  • made the game load the player roster at startup
  • made the game create a player roster if none is found and made it create at least two players if there are less than two in the roster
  • starting implementing the player selection menu
  • changed the sand color (darkened it)
  • other minor things that I've already forgotten again


current state of development as screenshot:


Damn, it's been getting late everyday. Need to study for a PHP exam now, which is coming up tomorrow.
_________________
0xDB
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9459
Location: Not Finland
PostPosted: Wed May 06, 2009 3:11 pm    Post subject: Reply with quote

Looks like you're making some solid progress! Is anyone else in the class attempting to make a good tank game, or are they just doing what they have to to get by?
View user's profile Send private message Visit poster's website
xearthianx
Developer

Joined: 28 Sep 2006
Posts: 771
Location: USA! USA!
PostPosted: Wed May 06, 2009 3:29 pm    Post subject: Reply with quote

I don't think the tank theme was a requirement
_________________
Ionoclast Laboratories - Scientia et Dominatia!
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9459
Location: Not Finland
PostPosted: Wed May 06, 2009 3:31 pm    Post subject: Reply with quote

Whoops. Nevermind. I've been adhering to a strict drug regimen to keep my mind limber these days, and it certainly shows!
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1670
Location: Your consciousness.
PostPosted: Thu May 07, 2009 2:28 pm    Post subject: Reply with quote

Yay, hooray for progress.

I don't think that any of my classmates are trying to do just the bare minimum. As far as I know, everybody is doing something (at least a bit) more complex than a simple number-guessing-game, because we can. Well, I know of some who haven't even started writing any code yet... :X (you know who you are ;) (yes, they might be reading this))

Yes, tanks were not a requirement... but I've been wanting to do a tankgame for a long time already, so this was a good opportunity to start.

todays progress report:
  • made another map
  • finished implementation of status displays
  • implemented player selection (hardcoded, like all the menus so far)
  • implemented view manual part of main menu
Need to study for a politics exam about globalization now, which is coming up tomorrow... actually today, in a few hours (oh how the time flies...).
Note to self: Next time write a proper GUI system first and never never never ever hardcode menus and input fields again. It just eats up too much time.

Today I've finished implementing all the boring stuff (the menus), so that this weekend (won't do anything at all on Friday) I can finally start implementing the fun part, which is the actual game.

progress screenshot:

_________________
0xDB
View user's profile Send private message Visit poster's website
Gil
Developer

Joined: 14 Nov 2005
Posts: 2341
Location: Belgium
PostPosted: Thu May 07, 2009 3:34 pm    Post subject: Reply with quote

I totally want a decent tank game where you write AI for the tanks, then let em battle. I have a great one lying around, but no one to play against.

It's one of those things I have a full design document for, but no time to create...
_________________
PoV: I had to wear pants today. Fo shame!
View user's profile Send private message Visit poster's website
Ren
Contributor

Joined: 31 Aug 2005
Posts: 271
Location: London, England
PostPosted: Fri May 08, 2009 6:00 am    Post subject: Reply with quote

Gil wrote:
I totally want a decent tank game where you write AI for the tanks, then let em battle. I have a great one lying around, but no one to play against.

It's one of those things I have a full design document for, but no time to create...


Not to take anything away from the main topic (it's going awesome by the way dennis :P ) but that is a freaking sweet idea. I'd love to play something like that. How would you go about writing the AI writer interface in a sensible way that would be fun for people though? I'm trying to think of some kind of parallel game but I can't offhand.
_________________
Avatar: Yu Suzuki (Virtual Fighter, Shenmue)
View user's profile Send private message Send e-mail Visit poster's website
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1670
Location: Your consciousness.
PostPosted: Sat May 09, 2009 12:22 pm    Post subject: Reply with quote

another day with good progress being made is over:
  • implemented main game loop (just missing a few things, like game over, winning condition, only way to exit so far is by escape or if the time runs out)
  • implemented shots and possibility to spawn shots
  • implemented controls (made it so that player does never have to keep any key depressed, he just hits it once to start rotating and hits it again to stop)
  • implemented all collision detection and movement of game objects
  • implemented destructible rocks
  • implemented slowdown of tanks on rubble
  • implemented all that stuff with losing/gaining heat and getting speed penalties depending on amount of armor left
  • spent three hours driving around and tweaking the default constants, then spent another hour driving around just for fun and for tweaking collisions some more, so it's not so easy to get stuck anywhere anymore :-)
I'm somewhat addicted to the driving around part... it's so smooth, just yesterday everything was so static and now the game is almost done... all that's left to do is eye-candy(smoke,explosions,etc.) and the evaluation of the scoring at the end of a match.

/me is very happy today.

todo:
  • win/lose/draw conditions and display of that (minor point, should not take long)
  • smoke and explosion particles (this might take two to three hours to get it right, I'll also need to do some more graphics for the smoke)
  • dirt track particles and shot trails (piece of cake, if the above point is implemented)
  • maybe some sound, if I'll still have time


I plan to have a playable game ready by tomorrow evening. Maybe I can even upload something for you to play around with.

some screenshots (from early this morning when I had fun debugging the shots and went a little nuts on the gun reload delay):

_________________
0xDB
View user's profile Send private message Visit poster's website
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1670
Location: Your consciousness.
PostPosted: Sun May 10, 2009 8:39 am    Post subject: The PreRelease is here! Reply with quote

progress:
  • implemented and tweaked particles for several hours and had loads of fun doing that
  • spent more hours just enjoying, driving around
  • implemented match-over and winning evaluation/scoring
  • made pre-release version
Link to windows binary of playable pre-release version:
http://freenet-homepage.de/dennisbusch/shared/TankGamePreRelease.zip (ca. 308KB)

Have fun playing around with it!

development shots from across the day:

_________________
0xDB
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9459
Location: Not Finland
PostPosted: Sun May 10, 2009 9:03 am    Post subject: Reply with quote

Cool. The game runs nice and smooth, but I just can't wrap my head around the controls. I lack the mental dexterity to effectively control both the tank and the turret at the same time via the keyboard. But for a class project this will probably smoke what everyone else does :)
View user's profile Send private message Visit poster's website
sonrisu
Moderator

Joined: 31 Aug 2005
Posts: 4998
Location: Silicon Valley!
PostPosted: Sun May 10, 2009 9:34 am    Post subject: Reply with quote

Initial impressions:
- Runs great on VM
- Love the destructible terrain
- Love how rough terrain makes you move slower
- Love the attention to detail
- Controls are crazy hard to get your fingers/mind around
- Don't like how the drive train has the "stop" in the middle but the turning and turret do not
- Maybe it would make more sense to have a "stop" if you press the opposite direction for turning or turret movement?

I want an opponent!

[edit: fix typo]
_________________
loomsoft :]


Edited by sonrisu on Sun May 10, 2009 11:19 am; edited 1 time
View user's profile Send private message Visit poster's website
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1670
Location: Your consciousness.
PostPosted: Sun May 10, 2009 10:29 am    Post subject: Reply with quote

Yeah, it takes a lot of practice to be able to control your tank correctly. I still haven't fully mastered it myself, but I can drive around and shoot ok. :-)

Still have another weekend (next weekend) before the deadline so I might be able to put in joystick controls and add sound.

sonrisu said:
- Maybe it would make more sense to have a "stop" if you press the opposite direction for tuning or turret movement?
That's worth checking out too.
_________________
0xDB
View user's profile Send private message Visit poster's website
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1670
Location: Your consciousness.
PostPosted: Mon May 11, 2009 6:45 am    Post subject: Reply with quote

Wow, today was a great day at school. I showed the game to my classmates and everybody went "oooohh aaaahh", well not everybody, some just sat there and said nothing at all. One guy even walked up to me and said "I don't believe you made that." and another one asked "how many lines of code does it have?"... well, to the first guy, after I could convince him that this was really my work, he went silent, a bit later he asked for the sourcecode, so, as he said, he could analyze it and find all my mistakes and post them on thedailywtf(seriously, what's wrong with that guy?)... to the second guy, I couldn't answer the question and after I told him, I spent about 80 hours on it, he went silent too.

But well, a few of my other classmates really liked it and I watched them play against each other and also played quite a few matches against them myself. That was very enjoyable and they seemed to enjoy it too. Some even started making their own maps.

The general consensus was though, that the controls really do need some adjustments. They and I and as sonrisu also said, think it would probably be better if pressing the opposite direction would cause the rotation to stop, in addition to the current behaviour, so to change rotation direction you'd have to TAP the opposite direction twice.

Anyway, I'm still psyched up, as this was the first time I made a multiplayer game and when I saw that it is actually fun to play, not only for me but also for my classmates, I was truly happy.

I won't have time to work on it until Thursday, because I have to prepare for my final written exams(2 * 90 minutes and 1 * 60 minutes) which are on this Wednesday.

I'd like to read about your experience if you get the chance to play this against other people.
_________________
0xDB
View user's profile Send private message Visit poster's website
Thunder
Newbie

Joined: 11 May 2009
Posts: 3

PostPosted: Mon May 11, 2009 8:04 am    Post subject: Reply with quote

Hi, I am new here. wave@all.

Just wanted to say i like TankGame, played it at school way to much. Was even able to beat Dennis a couple of times.
I guess i prefer the controls like they are, giving the trained TankCommander an edge.. ;).

and yes, i am the one who did not start his game yet.
View user's profile Send private message
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9459
Location: Not Finland
PostPosted: Mon May 11, 2009 8:10 am    Post subject: Reply with quote

Quote:

One guy even walked up to me and said "I don't believe you made that."


There's always that one guy. The one that can't stand being outdone.


Also, "Hi Thunder!"
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
Gil
Developer

Joined: 14 Nov 2005
Posts: 2341
Location: Belgium
PostPosted: Mon May 11, 2009 8:51 am    Post subject: Reply with quote

Thunder: start a Development Log here, we're really good at encouraging people to waste time on creating games :)

Dennis: Fun to hear it went that well :). I was creating some graphics for a game in class some time ago and after like ten minutes everyone was staring at my screen instead of at the teacher. Fun times :D
_________________
PoV: I had to wear pants today. Fo shame!
View user's profile Send private message Visit poster's website
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1670
Location: Your consciousness.
PostPosted: Mon May 11, 2009 9:35 am    Post subject: Reply with quote

Quote:
There's always that one guy. The one that can't stand being outdone.
I was a little irritated at first but I hold no grudges against him. Maybe he just tried to be funny and I didn't get it(I often do not get jokes.).

Hi Thunder, nice to see you decided to sign up, maybe you'll finally get to start working on actual games. ;)

Quote:
I was creating some graphics for a game in class some time ago and after like ten minutes everyone was staring at my screen instead of at the teacher. Fun times :D
Hehe, well, it's fun if there's something to show already. Other times, I can't really stand it, if everybody is watching me over the shoulder asking questions or watching me type code into the editor or when I slowly place one pixel after another and changing them back a forth a thousand times by trial and error until it looks amenable... somehow in these moments, I think they all expect that something great is going to happen any moment but I know it's usually not(writing game code involves writing lots of lines of code that don't really produce any visible results, but who am I telling you guys this :P), so I can't concentrate and fail to think straight and then I lock up and can't continue to work.


[edit]
almost forgot to mention it:
I've decided to upload the current version to the school server as it is, since I will have to restructure/cleanup and rewrite some code for additional features (powerups, different weapons, better/bigger maps, split screen, scrolling, four players, joystick support, sounds, better particle system, polished menus, options menu, controls configuration, integrated map editor, OpenGL support, maybe even network play... oh the list is growing and there's no end in sight and I don't know yet when I'll start, I feel a little exhausted.).
There are so many ideas floating around for additional features that I want to add, so I call feature freeze on v.1.0a and will then pick the next items to work on without the pressure of the deadline in my neck.
This is no longer for class, from now on.
[/edit]
_________________
0xDB
View user's profile Send private message Visit poster's website
Gil
Developer

Joined: 14 Nov 2005
Posts: 2341
Location: Belgium
PostPosted: Mon May 11, 2009 9:50 am    Post subject: Reply with quote

Just tested it. The controls do need work I guess. It's very hard for the brain to get around it. Also, the controls are very weirdly placed on an azerty keyboard. I'm imagining people with dvorak will just burn their keyboard in agony when trying to play this...
_________________
PoV: I had to wear pants today. Fo shame!
View user's profile Send private message Visit poster's website
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1670
Location: Your consciousness.
PostPosted: Tue May 12, 2009 2:43 am    Post subject: Reply with quote

That's a good point. I'm glad I haven't uploaded anything to the school server yet. I need to put in some way of re-assigning the keys and an option to toggle between the tapping-behaviour (same direction key to stop / opposite direction key to stop / both).
_________________
0xDB
View user's profile Send private message Visit poster's website
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Tue May 12, 2009 10:52 am    Post subject: Reply with quote

Dennis could I see your source code I want to find your errors and post them on thedailywtf.

I haven't tried this yet 'cause I'm a linux loser...
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1670
Location: Your consciousness.
PostPosted: Tue May 12, 2009 10:59 am    Post subject: Reply with quote

I'll soon release the current source, probably Sunday evening and after that I'll probably rewrite the game from scratch. :P

We tested it at school under wine, where it ran just as smooth as in native Windows, except that the fullscreen mode did not work.
_________________
0xDB
View user's profile Send private message Visit poster's website
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1670
Location: Your consciousness.
PostPosted: Thu May 14, 2009 12:12 pm    Post subject: Reply with quote

Just a little update on the keyboard layout issue. As I have just tested, it works just the same on azerty(French standard layout) as it does on qwerty. I think this is because I used the Allegro methods to check for pressed keys by scancode, not by ascii code. The only thing that could confuse players about it is that the manual states the keys by their letter on an American standard keyboard layout... so I should still provide a key-remapping option at some point but it's not priority right now.
_________________
0xDB
View user's profile Send private message Visit poster's website
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1670
Location: Your consciousness.
PostPosted: Sun May 17, 2009 1:44 am    Post subject: 1.0c Reply with quote

changelist
  • improved smoke rendering/z-ordering and colors
  • refactored some code
  • added a few additional maps
  • fixed code for linux and added makefiles
  • decided to not further develop this version


Version 1.0c download link: http://freenet-homepage.de/dennisbusch/dateien/TankGameV1_0c.zip (source and makefiles and win binary included)

I'm discontinuing the development of this version and will upload this to the school server as it is now.
I have not implemented an option to reconfigure the controls. Joystick is still not supported and I also did not have time to add sound.
One reason for making this decision is that I'm not feeling too well, as I've just had a headache and a sore throat and I feel burned out for the moment(yeah, I hate these heavy mood swings).
The sore throat and the headache started on the evening before my final written exams and did not stop until yesterday and I'm still feeling low and demotivated, which is because I don't think I did very well on those exams (had to take some painkiller on Wednesday, so I could even write it and I don't think I've got more than 70% of the answers right, maybe even less, felt like shit).

But the real reason for why I'm discontinuing this version, is because of all the features that I would like to add, which would be a pain in the ass to do with the current code structure, which is based on many silly design decisions made to get done as fast as possible.

So for the next version 2.0, I'll almost completely restart from scratch, except that I'll reuse a lot of the framework code that I had already written for SpaceGame. Along the way I plan to update and extend that framework as necessary, so that I will in turn be able to reuse it for SpaceGame, if I ever get around to working on that again.

But now, I'll rest for a bit, maybe even a few weeks, because I feel too broken. :-D
(see end of post for a list of features I'd like for v2.0)

screen of the compiled version running under an Ubuntu8.10 VM:


features I'd like to put into v2.0:
-OpenGL based 3D graphics (using an isometric camera)
-network play for up to sixteen players
-game modes, deathmatch(with optional timelimit, limited respawns, killlimit), team deathmatch, capture the flag, kings of the hill(hold a position for a specified amount of time), us vs. them (teamplay against gazillions of zombies)
-split screen for up to four players
-joypad and mouse support
-water(for better cooling) / hills / caves
-bigger maps with different surface types and more destructible objects (e.g. trees, bridges)
-map editor
-different tanks with different attributes for speed/armor/weapons (e.g. homing missiles, mines)
-radar
-AI controlled tanks

Ok... that's a lot of stuff and I'll have to learn a few new things to accomplish all of that, so v.2.0 will not be something that is likely to be finished anytime soon(especially, since school is over for forever now and I'll be back at work tomorrow), nor is it going to progress as quickly as v1.0 but well, I'll learn new stuff along the way. :-)
Will also not develop this as a single project at first but rather make small prototypes with very limited features.

I consider 1.0 to be the first prototype, which if nothing else, showed me that it's a fun concept.
_________________
0xDB
View user's profile Send private message Visit poster's website
Reply to topic GDR Forum Index -> Game Developer's Refuge -> Development Log - Tank Game (v:1.0e, +sound +min.fixes) Page Previous  1, 2, 3  Next
Game Developer's Refuge
is proudly hosted by,

HostGator

All trademarks and copyrights on this page are owned by their respective owners. All comments owned by their respective posters.
phpBB code © 2001, 2005 phpBB Group. Other message board code © Kevin Reems.