About this blog
My opinions are great and you should read them. No, really.
Entries in this blog
Man, I can't believe it's been almost 2 years since we started working on Hyperdrive.
I guess part of the reason for that is because we used a custom engine, written by yours truly; however when the game started, it was just a personal project of mine, mostly for learning and fun; it was only when Jacob(code_zombie) entered the picture that we were able to hire some artists for graphics and music, thus making the whole thing a lot more "serious". At that point, we evaluated out choices: We could either switch to something like Unity or UDK(UE4 wasn't out at the moment), or continue with the custom engine...at the end, we decided that it would cost us more time to do a switch, so we continued with what we already had.
Anyway, this week I finally finished designing all the 8 basic race tracks that will be in the game. So now all that is left is mostly integrating the multiplayer component. In the meantime, I'll probably be working on some off-road tracks, to increase the total number of tracks to 12. I think that's a good amount of content.
Last 2 tracks I worked on were "Subzero" and "War-torn City". They are basically finished, aside from some things I plan to add on Warcity, like tanks and turrets fighting, spaceships flying above the track, and so on.
If you want to help us out with the development of the game, go to our site and sign up for the "Alpha Test".
You will receive in your mail the link to the alpha build, which you can play, and then reply to the mail with any kind of impressions or suggestions you have for the game. Some of the criticism and suggestions we have gotten so far has been really valueable!
And so, I leave you with 2 more gameplay videos, of the aforementioned tracks. Any comments, as always, are welcome.
We've made some significant progress with Hyperdrive since the last time I posted...so much in fact that we've decided it's time to engage in some playtesting, in order to test the game in various hardware configs, and get reports about bugs, glitches and the gaming experience in general.
So, if you want to participate and help us make the game release-ready, go to our site:
Follow the instructions in the thread, and post any remarks you have there. All comments will be immensely helpful!
I leave you with a couple of videos showing the game in its current state(and tracks you will be able to play with the test build)
So, this week I've got a brand new video of a new Canyon track I'm working on, which is (semi) off-road, in contrast to all the previous ones which where more confined.
Here it is! (HD option included)
The number of weapons/items I've implemented have officially reached 8 as of today...and they include the basic laser cannon, speed boost, temporary Invulnerability Shield, guided missiles, the "Scorcher Beam", which is a direct beam that sets the enemy on fire for an amount of time(draining health and preventing them from enabling shields), the "Cryo Beam", which doesn't affect health but "freezes" the weapon systems of the enemy, disabling them for some time, Landmines, and a "Shield Disruptor", which destroys the enemy's Invulnerabiliy Shield.
One interesting, I think, issue is how would the "Scorcher" and "Cryo" beam would interact. If you shoot with Cryo at an enemy already on fire, I'm thinking that maybe it should still damage the weapon systems, but also put out the fire(the latter being for your disadvantage). If you are on fire, maybe using the Cryo should make it automatically apply it to your vehicle, again with the same effects(but in this instance, disabling your weapon systems would be the con, and puting out the fire the pro). And so on. Yes, I'm in this sweet period of developing where, besides hunting bugs, I've got enough game implemented in order to play around with this kind of things.
So, enjoy the video, comment on whatever you like or don't like...you know the drill.
Since my last journal entry, we've made a somewhat significant change in the combat gameplay. More specifically, if you read the previous entries where I describe the mechanics, you'll see that we used to have a shared "energy" resource which powered all available weapons. After some thought though, we decided to go for a more traditional approach: The main mechanic of the game remains the same : Participate in championships, earn points and money, and use them to buy new vehicles/items/weapons/upgrades. Before each race, you choose your loadout that consists of 4 weapons/items you can use for that particular session.
The difference is, each weapon now has an individual ammo counter, just like more shooter games, and some have an additional "cooldown" time, mainly to prevent the player from spamming things like missiles or speed boosts. Weapons have various effects on enemy vehicles, such as (obviously) reducing their health or slowing them down, and some "special" weapons can do things like disable the invincibility shield your opponent is currently using, or his whole weapon system for a short time.
The health bar itself, for each vehicle, is divided into several sections/cells. You start with 4, but as you progress you can upgrade them. The health regenerates slowly over time, but if you lose one whole cell, you can't regenerate beyond that point. It is a system that's been used in some shooting games I've played, like Mass Effect or Chronicles of Riddick: Escape from Butcher Bay (note: amazing game!).
Anyway, we're currently working on a new track, an "Alien Colony" level, which contains a tunnel, and an open terrain section in which you have the ability, for the first time, to choose an alternative route, a feature that we'll continue to flesh out as we keep working on the game. Also some good news is that we've collaborated with a composer that will write the music tracks for each level, and also the menus, so that's one more thing scratched off our list. The following 2 gameplay videos showcase the aforementioned level, as we work on it, and the music track is one written by our composer. I hope you like them, and as always all comments are appreciated. I really could use feedback on what people like/don't like about any of the game's elements, from looks/graphics to gameplay(as much as you can infer from the video, obviously), music, level design, speed feel, anything.
So, until next time!
Wow...I checked my journal entries yesterday, and realized my last one was in May! I guess that, to an outsider, progress for Hyperdrive, the futuristic racing game me and another gamedev member, code_zombie, are making would seem kind of slow. However, it is not so: we have kept working on it this whole time, but since till now I do most of the coding work, and also have to juggle a day job and my final semesters for my CS degree, it's just delayed a bit. We are pretty sure though that we will launch it properly around january at the latest. Most of the "game" part is there, and the World Editor has now enough features to allow me to easily make new levels. Now it's just a matter of designing some good racetracks and balance things like vehicles,upgrades and weapons.
I was also pleasantly suprised a couple of weeks ago, when I found on the ouya forum a thread about our game, which contained mostly positive comments. Now I don't know what future the OUYA really will have(there have been some interesting things going on lately, like Telltale's "Walking Dead" series officially coming to it), but it's surely nice to see at least some people interesting in what we're making.
Here's the thread:
Anyway, I won't go on with more details, as I've talked about the game mechanics in previous entries, I'll just leave you with 2 gameplay videos showcasing 2 different tracks. And I'll probably update this journal before another 4 months pass(I hope!).
Greetings from the journal land!
So, as I expected, progress in Hyperdrive is somewhat slow, having to juggle quite a few things in real life, but pretty steady. We think it will be ready for release around September, including multiplayer. Vehicle and racetrack models are complete(11 vehicles and 8 track variations), background/environment models are pending. Sounds/music are still placeholders, but that'll be fixed soon.
So, here is a screenshot of the game in its current state, and a gameplay video. Enjoy, and as always comments are most welcome and appreciated.
So...I've been working on Hyperdrive the last weeks during my free time(from job and university), and progress has been good I think. Not that I still don't have a ton of things to implement(including multiplayer), and of course also to polish and "juice" the game up, but we're definately on the right track
I hope all art content will be ready relatively soon, so we can ship the game for Android,iOS and Ouya at least during this summer. As far as a PC release goes, we've been having our doubts, since the game technical department(mainly graphics, which, let's face it, are not exactly current-gen) will be of course judged more harshly on such a platform, and negative reviews might impact the success of the game on mobiles too. I guess one option is to release for mobile&tablets first, and see how it goes from there. If it has any success that provides enough funds, I could start working on an "HD" version of it, with higher-quality art and of course much more gfx than the mobiles, since on the PC I can add tons of new things, from effects(like dynamic lighting, parallax mapping,reflections,water,SSAO,God Rays,motion blur) to more detailed terrains,vegetation,more intricate particle effects, weather, more moving objects in the background(say helicopters and jets flying around in our War-Torn City map). OTOH, even if we don't get much attention, I'll at least have a finished and shipped game under my belt...granted a small indie game for mobiles, but still
I have pretty much settled on what the gameplay is going to be like. Basically, each vehicle will have an "Energy" bar, that can be spent during the race by using various weapons and devices/powerups, say plasma rifles, turbo boost, shield, missiles, mines, invisibility, autopilot and much more, each depleting a specific amount of energy. Those will be purchased in the shop with credits that the player earns when completing races/challenges. Before each race, he can assign the weapons/powerups of his choosing to 4 slots(aka buttons) and play the race using those. Of course, there will be energy cubes in the track that the player can pick up to restore energy. I think this scheme gives a nice freedom to the player to choose how he wants to race, and also adds a tactical element to it. The "main" mode will be the "Career", with your opponents each having their own portrait, personality and backstory which will unfold as the game progresses. And of course let's not forget the 3 Bosses with their very own special monster racers that you'll eventually have to defeat!
Anyway, here are 2 relatively new gameplay videos I've recorded...you'll notice of course some glitches, but those are still mostly test tracks. Soon though we're gonna start making the levels/tracks that will actually be in the game, which will be of course more interesting and..."crazy"(for example, just yesterday I implemented a Jump Pad that is pretty fun!). Also note that the vehicles depicted on those videos will NOT be the ones that will be used in the game, they're just stock art I purchased some time ago and I've been using ever since. Our 3D artist is currently making 11 different vehicle models, with multiple skins each. Here's an example of one of them:
And now the videos!
-EDIT: And here's a brand new gameplay video(with HD option available), with more detailed environment and featuring one new vehicle of those that will be actually used in the final game:
So, a lot of things have changed(to the better) since I made my last entry. I have been making some good progress on the game. But what's the real good news, is that I have engaged in a collaboration with another programmer who I met on #gamedev, and he is responsible for primarily funding the game and porting it to Android and iOS. I should note, he has already published his own successful indie game on Android, with pretty good sale numbers. For this project, he has hired a quite good and experience 3d artist who has already started churning out some nice content. The name of the project has also changed: We finally decided that "Windchasers" isn't really appropriate for a futuristic racing game featuring sci-fi vehicles, so after some thought we opted for "Hyperdrive". Yes, a few of you might remember it's also the name of a similar game by Midway. However, the copyright has expired and we're good to go :)
So now, with most of the core programming in place(I really have only the "fun" bits to do next, like adding more weapons, game modes, powerups, enemies, etc etc) it's just a question of how we want to proceed. The usual approach in this kind of games is having one of more linear "campaigns", where the players faces a series of challenges, unlocking vehicles and tracks as he goes along. While we will have that, my mind is set on a more extensive Career mode, which will incorporate some very light RPG elements. In each "round", you enter an event out of several available. Succeeding in races will earn you money and XP points, as well as enabling you to ascend the pilot ranks, which in turn you can spend in buying new vehicles, upgrades, weapons or improving your pilot's stats.
The plan is also to have 3 "boss" enemies with unique vehicles, which you have to deal with in the end. There are quite a few ideas floating around...for example I am thinking of having some amount of environment destructiblity and multiple routes/shortcuts in the tracks. I have already implemented some basic environmental "hazards", like the rotating blades you will see in the videos. Or having some out-of-the-ordinary events, like a pissed off opponent challenging you to a duel after the main racing ends. But we'll see how it goes. We don't wanna release a poorly-made and completely bland indie game, but we don't want the development to go on for ever. At some point, you draw the line and ship the game. Of course, implementing multiplayer is still a quite important goal, and my partner has already written a message broker API that we can use for various facilities.
With that said, I have recorded some new videos of how the game is right now....Note those are just test levels, with very few of the models being made by the artist for the moment(the rest are from my collection of stock models I've purchased through the years). Specifically, the artist made the track section model you see in the second video.
So here they are:
Enjoy...and as always leaving comments with impressions and suggestions is greatly appreciated! :)
Just a short gameplay video of a new track I'm playing with, which contains more variations than the previous ones.
So, for anyone that read my previous entries...I am still working on WindChasers, between job and college. Here's a gameplay video I recorded just some days ago:
I can't say I have much trouble developing the game, its biggest challenges is tweaking the physics, which is an ongoing process, and developing the 'AI' of the opponents so that races are challenging and fun. it's just that I need time to balance the gameplay, purchase more art content, designing the levels and generally polishing.
I'm unsure what I'm going to do when I finish it. Technically wise, I think the graphics have reached a point which is close to 'ok' for a game made by one person...OTOH the bar today is raised quite high and frankly even in the indie scene there are high demands. I don't think I would had much luck asking money for this game on PC, on the contrary it is more likely that if I released it as freeware at least some people would play it. It's a start. On a brighter note though, there are some plans of porting it to Android and iOS. Those platforms are a different story altogether, I think the graphics and the style of the game could justify putting a price on it.
One of the challenges with this plan is giving the incentive for someone that has the free PC version to buy the priced mobile version, and vice versa. I think having a fast-paced action racing game like that in a mobile device is an incentive in itself, as its mostly comprised of self-contained quick races/challenges that last, say, 3 or 4 minutes. You could play some rounds when in the bus or waiting in line in the bank, put it down and continue later. For the PC, a nice bonus would be to release the editor with the game, and allow players to create their own tracks. It would be an undertaking to make the editor really useable for the everyday gamer with the creative edge, but it's worth the try I think.
Lastly, I'm thinking about multiplayer. It could probably make a big difference, especially if I manage to achieve seamless multiplayer between Android/iOS/PC platforms.
That is all for today folks, as always, comments are welcome and appreciated
Hello there. Well, since the last time I posted, some things have changed with the WindChasers project. Specifically, I decided that the top-down view, while interesting and more arcade-like, would seem too outdated to some. And since the graphics and physics engine can handle it, I decided to switch to full-3D view, like most modern racing games.
Now, that means that the demands graphics-wise has increased. I think I'm honest enough to say that the game does not look like anything current-gen. However, I have added quite a few things: I have a terrain I painted using Gimp&Sculptris, which utilizes texture splatting. The idea is that I have layers of textures, which are applied accross the terrain using a mask for each layer. Right now, there are only 2 layers, ground and grass, but the idea can be extended to use more if necessary. I have also added multiple point lights across the course. Lighting is per-vertex at the moment, so I guess the logical next step is to implement per-pixel normal mapping. Lastly, to add some detail to the map, I've used instancing(or, rather, the OpenGL2.1 pseudo-instancing) to scatter little stones across the track. Theoretically, this can be done for other objects, such as bushes, lumps of grass and such. Dynamic shadows are in the plans, however they are pushed back further back, because I have more pressing issues to deal with.
The gameplay have changed somewhat too. I should mention that now the game, instead of 'Head to Head', presents a 'Quick Race' option, which enables you to race for 5 rounds against 7 AI opponents. You steer the vehicle with arrows as usual, use D to shoot and S to turbo boost(which slowly depletes your energy). Also, there is Q, which enables the rear view, especially helpful when you have enemies on your tail. Another significant change is the damage model: You now have 2 bars, the energy(red) and the shield(blue) bar. You only lose energy when the shield is (temporarily) disabled. The shield recharges itself after some time without taking hits(the energy doesn't regenerate though). The same stands for your opponents too, so to destroy them(yes, this time they explode!) you need to first take down the shields and then attack for the energy hits. There is also a timer now that indicates your lap time, and also your best lap time in the race.
So, what lies ahead? I guess it's time to put some more work on the menus. Specifically, I plan to work into incorparating a tournament mode, where you choose which race to enter our of the few available, win money, buy some upgrades between the races, and ascend the pilot ranks.
I think this will give the game a more 'official' look, as it will be a complete(albeit, for the moment, small) campaign the player can play through.
The plans for the final release of this game are still vague. Honestly, I'm a bit unsure if I could pitch this commercially as an indie. Never hurts to try, but I guess plan A is a freeware release by the end of the year, and keep the game as a piece for my portfolio. As I mentioned, I get my degree in Computer Science next summer, and I might take the risk of moving(to,say, France,Germany or UK) for a few months in search for a gamedev job. In that case, WindChasers could help me a bit. I should mention that I am, as always, in need of artists: I can't pay anything atm, but it will be a solid piece for your portfolio as well. Specifically 3D and texture artists, but also sound effect engineers and composers. Anything helps. I'm easy to work with, and as you can see I have a project that is going relatively well, so if anyone is interested in collaborating just PM here.
Anyway, without further ado, I present you the goodies. Screenshot, video, and downloadable demo. Note that the demo is *significantly* smaller than the last time, since I use compressed files. It's only 30 MB, so I hope even more people download it this time and offer their valuable comments! If you can, post some specs too, mainly the framerate you're getting and your PC specs.
-EDIT: Oh, I just realized that OpenAL needs installation instead of just including the dll. So go grab it here: http://connect.creat...s/AllItems.aspx
Since my last entry, I have worked quite a bit on the game. Mainly, I implemented a race with more than one opponents, a rudimentary but proper damage system, and some other minor stuff. I took a video of the gameplay in its current state(for some reason gamecam, which I have a registered version of, doesn't seem to record sound, sorry).
Now, what I'm wondering about is where could I go with this game. I mean, I'm not deluded, I realize that the game, at least in its current state, can be characterized as...well...'cute' or 'nice', but not anything impressive, which is quite logical for a project that doesn't have dedicated artists or is based on a grand innovative one-in-a-million idea. Furthermore, the top-down racing genre isn't exactly the most popular in town, especially for PC which is(for now) the running platform. Personally though I enjoy those games, even today fire up the classic Death Rally for a round or two, and I enjoy making the game very much. Mobiles seem to be a more fitting platform, in the long term, and there are plans for a port to Android and iOS once it's done.
To be honest, I was hoping I could achieve, even on my own, with purchased stock art (some of which you can see in the video above - most from dexsoft-games.com ) and with some smart level design(which will undoubtebly take much more time than the cheap-and-fast level I have for now) enough quality in order to pitch my game, in portals like Steam. I don't care about making 'big money', of course, and I realize both the game and the genre isn't really suited for that, but just leaving some good impressions to people(of course, if I make a buck for myself in the process, the better!). I have taken some opinions from people who have seen/played the game, and they're divided: Some think it's got potential to be 'good enough for Steam', some find it lacking, and frankly I can see their point.
Of course, the game is still early in development, so I can always hope fate(and some more nice demos/videos of course) will bring a good 3D artist or two on board. Plus, these days, there is always the option of alphafunding(unfortunately, as a non-US citizen, I don't have access to Kickstarter). A solid playable demonstration would be an advantage, but again there's the issue of a not very popular genre from an unkown developer. But there's nothing wrong with a bit of ambition here: The game is what it is, I *will* finish it(I've come too far not to) and make the best of it. Even when all other options fail, there's always the route of just release it as freeware; just people playing and enjoying it would make me content, and it would be a decent piece for my porfolio in about a year, when I will get my bachelor's(better late than never) and I'll consider doing some more serious job-hunting in the game industry.
So, all in all, I am quite optimistic about this, the project is going rather well and there are plans for the future. My living expenses are covered by my day job, plus some micro-funding of the project(I mean the occasional 30-buck expense to purchase some nice stock art that cought my eye) so there's no rush, other than avoiding wasting too much time into the dreadful 'stale state'. And I leave you with that. Till next time
Ok, it's been a while since I made a journal entry. These last few weeks I've been working AGAIN on the racing project, Windchasers. To greatly simplify things for AI,physics and graphics(and possibly to make it easier to port in mobile devices) I've now opted for a top-down racing view. I have been particularly inspired by Death Rally, a classic DOS game made by Remedy, which got a new release fo iPhone and iPad lately, with good success.
Anyway, I have for you a 30sec video of some gameplay, and an 155MB download of a first demo. Sorry for the size, I still use .BMP and .WAV uncompressed
Before launching it, read the instructions in the short Readme.txt. Let me know how it goes, if it ran properly, what kind of problems did you encounter(and if possible, your system specs). Be as harsh as you want, tell me what you don't like and what should be done differently but, you know, if you do like some bits, share that too
This question I suppose comes up every time an indie or hobbyist game developer sets upon a new project. It is particularly interesting for indies and hobbyists because, most times than not, the game you want to make and the game you can actually make are not one and the same. I'll explain what I mean.
Take my case, for instance, and my latest effort. Sure, I would love to be able to make a modern FPS, with all the bells and whistles, employing next-gen graphics, vast content, etc etc. Sadly, of course, this is close to impossible for a one-man-team, that just has hopes of expanding when the time is right. However, I believe I still can make a fun and satisfying FPS, with all the limitations that my situation imposes. In fact, instead of fighting against the limitations, my plan is to accept, embrace them and make them an integral part of the game.
Graphics, for starters, as we know, is for good or for bad a big factor in this genre. Now, I'm not deluded enough to think I can even compete with the monsters out there(Unreal3,COD,BF3,Crysis,Rage). Heck, I don't even think I can compare to,let's say, previous-gen engines(Doom3,HL2). The problem lies not so much in the technology available(after all, I could ditch my little pet engine and use UDK or the newly-released CryEngine3 Sandbox if I want), but in the content. Those games have terrific engines, sure(from a visual standpoint, at least), but they look this good mostly because of terrific art. I have invested some of nice Euros(thanks to a new job, I can now do that) to buying some art, but let's face it, it's not of AAA quality.
So, if the graphics are surely not going to be next-gen, non current-gen, and probably can only begin to compare to previous-gen, what are am I even talking about? Well, I decided that all the comparing is not worth the effort. The game will be what the game will be, and that is the best that *I* can make. And here come the limitations I was talking about. Based on those, I decided for some general guidelines, for graphics,gameplay, but also about the 'marketing' itself. Those are, in no particular order:
1) The game will be freeware. I used to think I could maybe pitch a game of mine, if I ever finished it, to Steam for a low price, say $9.99. But now that I think of it, even that is maybe too much to ask for a game competing in an overpopulated genre as first person shooters. My purpose, after all, is to finish a game and have as many people playing it as possible. Build a fanbase, so to speak. If I can achieve that, then we can maybe begin about commercially pitching any sequels or subsequent games. What I'm a bit worrying about is whether that will enable the 'if it's freeware it's crap' mentality that many have. Comments on this?
2) It will run on older hardware. If it's not graphically that impressive, it should at least compensate in that department. Targetting an audience that can't afford(or want to afford) the next Crysis may prove to have some pleasent surprises.
3)It will mostly feature outdoor, natural environments. Now, this is due to the limitations of the project. Comparatively, nature scenes a-la Far Cry as somewhat easier and cheaper to make. An urban environment, for instance, needs lots of content. Not that nature scenes are light on content, no, but it is my impression that you can achieve more varied results with less effort.
4) The gameplay will be mostly old-school. This is mostly due to my personal preferences. I'm starting to get tired of the same pattern on nearly all shooters- cover, regenerated health, limited weapons at a time, checkpoints, etc etc. So the game will be a return to the roots, and will speak to those that seek a new fresh shooter that plays by the old rules. So it will have a health counter and not regenerated health, powerups and healthpacks, and probably quicksave/quickload capability. At the same time, I will throw in the mix some slight RPG elements. By taking down enemies and completing objectives, you will gain points which you can use to 'buy' some upgrades, like bigger health bar, more stamina, speed, agility, aiming.
All that said, the game is still in its infancy. I worked this week and finally got shaders up and running. I implemented basic terrain texture splatting using a simple shader, and the immediate plans for next weeks are:
1)Normal mapping, parallax mapping.
6)optimize the particle system
There isn't anything on that list that I haven't implemented, on way or another, on past projects. I especially expect that vegetation and shadows will really live up the scenes. For vegetation, I will probably use a technique I had used in an older project of mine: Basically, you create a patch of grass, and you repeatedly render it around the camera, ofsetting the height of each billboard by sampling the heightmap in the vertex shader. Using also a vegetation map, you can define what areas have vegetation and at what density. Here it is, as it was implemented on one of my previous projects:
I got pretty good performance with that on my old NV6800, so I expect that things will be even better in my 9800(which, by todays standards, is low-end anyway).
Ok, that's it...I close with 3 screenshots of the game and one of the editor(which is not WYSIWYG yet). Any comments are appreciated!
I don't have much new things going on...I worked a day or two on cleaning up the code, now I can say I work with it with much more confidence. I have implemented some new enemy behaviour and some post-processing effects but that's it. I also experiment with various environment types, and have gotten into learning a bit 3D modelling for my needs. The plan is always to finish, until Christmas, a small-ish demo featuring the engine and the game mechanics, and from there seek artistic help - concept artists, 3D modellers, audio guys...Btw, if any art-talented people, especially 3d modellers, is interested in participating in creating the demo, give me a shout, it would be a tremendous help and a nice addition to your portfolio!
Anyway I promised myself to update the journal every a few days, to keep track of my progress, so here's the obligatory screenshot...until next time!
It's been about 3 weeks I officially started working on this project, and I can say I'm moderately happy about its progress. I could have done more, but real life and job get in the way. In any case, I have made some progress since the last time, as I have finally implemented skeletal animation, an main title screen, and some basic dynamic lighting. On top of that, I purchased from dexsoft-games.com a pretty cool sci-fi modelpack, consisting of several blocks for creating maps, and a small sample corridor level. I imported it into my engine without the least of a problem, which was a pleasant surprise.
I also started working on the editor, it's not much yet, but I can load maps and place entities on them. I have decided to decouple the run-time game code from the editor code, even if it means I would need to duplicate things a little(not much, though), since I realized, based on conversations I've had with members here and a tweet from Carmack on the subject, that it would benefit me in the long run, as in-editor objects usually have different requirements from their runtime counterparts.
So here's another video, showing the player walking around in the level and shooting some bad guys:
One problem I had was with the physics: I'm using Newton and, for some reason, doing raycast seems pretty expensive. It's not like I'm doing *much* of raycasting either, I cast a ray to check if the player is visible from the enemy's pov, and there aren't more than a dozen of enemies on the whole level. So there's definately something fishy here. I'm getting more than 100fps of course, but it's not like the engine is stressing a lot anyway. So I probably need to check what is going on. One thing I'm thinking is that I'm using the old Newton version, so maybe switching to 2.x would fix the problem somewhat. We'll see.
Other than that, I have sketched up a basic story for the game, which I titled "The Black Sector"(probably for good). It's basic run-of-the-mill shooter stuff, and I'll probably revise it, but it's better than nothing. Here it is, taken straight from the story screen, which you can select on the title menu:
The year is 2220.
You are Mike Shooter, a skilled bounty hunter, responsible for bringing more than 120 notorious galactic
criminals to the highest bidder.
One morning, as you are enjoying your usual Nova Espresso(tm), your telecom notifies you that you have a message.
It's Jake Stone, prominent member of the Galactic Council for Peace and Prosperity(GCPP). Turns out, he
has a job for you, the most dangerous, but at the same time profitable, of your career.
He wants you to chase after the well-known and feared criminal known simply as "The Lizard".
He has already assasinated a member of the Galactic Congress, and it is rumored that he now targets the Princess herself.
Unfortunately, he has managed to found refuge in the black sector.
The black sector is a small region close to the outer boundaries of the Milky Way. Little is known
about it, since it's occupied almost completely of the most dangerous and demented criminals and pirates from all
galactic races, making its charting extremely dangerous. It is there you must go and capture the Lizard, bringing him
and all of his allies down. Not an easy task, but if anyone can do it, it's you.
And the reward is more than you could ever dream...
So, what are you waiting for? Go ahead...the black sector awaits...
In other news, next week I'll start tutoring some highschool students on computers&programming, for some extra income. I am going to get the school material and read it though to be prepared. As about programming, I'll probably start with Python to better teach them the basics, but other than that my goal is to generally teach them some good practices, such as:
Be it from books, the internet, MSDN, help files, I will teach them how to search for what they want to accomplish on their own. I consider this a pretty strong skill for a programmer, which as we all know needs to do most of his learning on his own.
2)Use the debugger.
Very important in my eyes. And generally use their tools to full effect, most notably their IDE. Also understand the compiling&linking process so they can solve whatever problems arise in that department on their own.
This might come a bit later, but it also very important. I haven't decided which I will use as a teaching tool, but I'm thinking git. Opinions on this?
Of course, it all depends on whether the student wants to learn some solid stuff, that is he's interested in the field, or whether he just wants to pass the highschool course. I'm not going to give extra work to anyone that doesn't want it
And yes, I know I promised a working demo last time, but honestly there isn't much gameplay and it wouldn't be worth it to download a >200MB file(all those assets and stuff). So that'll wait when I have more in the game going on.
That's all folks, thanks for tuning in, and feel free to leave any comments that come to your mind!
I worked a bit today, and I at last have some basic gameplay going on. Basically you walk around an a desert terrain/village scenery, and shoot evil alien spawns that explode into pieces! I have decided, for good or for bad, to go with that style of game: Serious Sam-like. I have also given the game the temp title "Alien Hunter"
So, check it out!
Next entry I'll probably post a working demo for you guys to try.
It is my goal, for the last few years, to finish a decently sized game. Of course, relatively speaking, decently sized for a hobbyist programmer. While I have started many projects, for some reason or another I always give up. Be it lack of discipline, boredom, or lack of good art, it mostly ends up like this. But I still want to create a game, not so much to try and sell it, but just put something finished under my belt and enrich my portfolio, as it has been my secret wish to be employed some day in a game developing company, slim as the chance may be in my country, which isn't really full of those.
So the last week I have started a new project. I juggled a lot of ideas for a while: A shmup, a platformer, a metroidvania clone, a racing game. At the end, I chose to try to make an FPS game. As challenging as those games are, technically speaking, it's the genre I have the most fun with and play the most the last years. So I thought that I should try that way.
As usual, I'm making it with C++ and OpenGL. I am a bit reluctant to work with C++ and I would prefer, say, C#, but I am using too many C/C++ libraries(Newton,OpenGL,Cal3D,OpenAl,SOIL) and I wanted to avoid the headache of interfacing with them. I am making the 'engine' myself, for no other reason than that I like doing it, I learn some stuff, and that I'd like to say that I made this all on my own. Practically speaking, it's not the most wise choice. If you strictly want to make a game as fast and as well as you can, your best bet *is* an existing engine, such as UDK or Unity3D(or the newly released CryEngine3). But, as I said, I'm interested in the technical aspects, so I went with making my own engine, which of course can't possibly compare to those beasts, but at least I can boast that I made it by myself
One of the biggest obstacles have been the lack of art. Fortunately, over the past years I have piled up a good amount of texture and model art. I have bought mainly from dexsoft-games.com some very nice texture packs, sci-fi prop and machinery models, and various animated character models(including an elite trooper, a futuristic warrior-infiltrator, a mecha warrior, and a sci-fi orc enemy). I think those will suffice to make one good sized game level. After that I will probably go to the usual place, Help Wanted, and see if I can get artists to form a team, but I am adamadant this time around to complete most of the game coding before I do that. So, for the time being, I will do the level design. It won't be the best, but, given I invest some time in it, it could be enough for a showcase.
So, without further ado, a video of a very very early state of the game:
The level is something I mocked up in a few minutes, for testing purposes. Right now, not much is there: There is basic texturing and static lighting(but not dynamic), there are basic physics so you can look around, you can use your gun, and there are enemies placed in various places. The enemies can actually follow you around and even shoot, but I turned that off for this video. Next important milestone is to integrate Cal3D animation into the game. I have used that library many times so I don't expect any major problems there, I'm just worried a bit in case some models happen to not play nice with the format. But all that is mostly fixable anyway.
Finally, one other thing I'm doing is playing some new and old FPSes, and get a feeling of their level design and enemy placement, which is pretty important. I'm trying to decipher what makes a good level, and how the enemies are best placed and move, as to offer a good challenge and a good gaming experience in general. I am scanning the net for some articles on that subject too. It's not an easy one, but it is the factor that, among some others, makes or breaks the game.
So, let's see where this effort leads me...
Wow, it's been forever since I last wrote a journal entry. Thank god for the new GDNet which allows me to do so for free!
So, what's new. I did my mandatory army service, and now I'm back in school to get(FINALLY!) my degree. It's strange to be in school at the age of 29, but I have only myself to blame, I wasted precious time, partly by working on the side and neglecting the courses, mainly by being lazy. I did good this semester though, and if this continues, I should have my degree at the end of the year. I also have some job interviews lined up, just in case. We'll see.
About game development...the futuristic racer Windchasers is always on mind, but it's a big project, so it takes time. In the meanwhile, I have decided to make some smaller games, for my portfolio, in case I decide to apply to the 2-3 gamedev companies that exist in Greece. As a first effort, I decided to make a remake of the classic ASCII game "Island of Danger". For those that don't know it, you control a hovercraft and maneuver through various islands and obstacles in order to reach and destroy missile launchers. It's a really fun game. For my clone, I decided to substitute the hovercraft with a helicopter instead, and on top of the homing missiles, I will have other aircraft too as enemies. Here's an early screenshots, only 2 days work:
I'm making it using C#, SDL and OpenGL. It will include an editor for making your own levels, and, probably, the ability to generate random levels.
That is all. Until next time!
Long time no see. For the time being, I have put the Fighter game in the backburner, I plan to return on it during the summer. The reason for that is so i can work on only 2 project, a team one which I will not yet talk about, and a personal one, a futuristic racing game which is going pretty well so far(just a few days into development). It's a game a-la fzero, where the player can compete in various tournaments for money and upgrade his vehicle. Also, there will be tournaments which weapons can be used. If anyone is interested, I am looking for graphic and sound artists.
So, here's a screenshot and a video, and...that's all :)
It's been a while since I made an entry, but I have been rather busy. I'm working on the character editor for God Complex, and at the same time developing the 'engine'(more like a collection of libraries/subsystems really) I will use for both God Complex and another small-ish FPS I'm thinking of making.
So, here's the Editor:
And some test with the engine:
Finally, a video:
I'm also joining a new team with some other people, but I don't want to talk about it until it's definate and we got something to show.
So, busy busy busy! Got to get some sleep :P
Almost a month has passed since my last update. I've made some progress with the game, but first I have some thoughts I want to unleash to the world.
For some reason, after the coming of the new year I've been thinking about my skills in the one thing that I considered to do well in my life: programming. I've been programming since 13, and the admiration of elders and peers, even bosses and coworkers about my programming "achievements" had convinced me, once and for all, that I was a gifted programmer, or at least that I had the potential to be.
After 13 years, I realize that, sadly, it isn't so.
Sure, if I compare myself to the hordes out there that call themselves "programmers" then I guess I'm pretty good. I can write programs more involved than "Hello World" without literally destroying the world :). But when I compare myself to the more advanced posters in this forum and on #gamedev irc, the results are utterly disheartening. Even more so because those posters are on my age, even younger. It isn't an exxageration to say that, when I post code snippets on irc, every time the conclusion is that the code is awful and I'm trying to do things a bit(or a lot) over my head. Especially on irc, I've had some debates with several posters about technical matters that I now realize were a waste of time; I guess I wanted to convince myself that I was somehow a part of the "good programmers" on this forum, so I pretended that my opinion was as valuable and valid as their own. That was a mistake. I should have just listened, instead of arguing.
Now, even if I compare my skills, not with anyone in particular, but with what they should have been given the years I've been programming, the results are again not so great. Even though I've passed the Algorithms and Data Structures classes in my uni with good grades(years ago), I realize that my 'formal' education in them is pretty much zero. I've never read a book outside of school about them, and basically all I do is look up in the internet when I fail to find a library that implements a data structure for me. I know very little abour RB trees, graphs, and so on. Same for things like design patterns. I've dedicated at most about 2 hours on the GoF book, and I only use it when I can't remember something. I don't know many of the patterns, and the ones I know I suspect I don't know very well, because of my laziness. And let's just not speak about OO principles, which would be completely unknown to me if Washu hadn't hinted their existing a couple of years ago.
Now, in light of all this, I've reached some decisions. I will stop giving advices on the forums on serious matters; I can probably advise people how to fix their OpenGL lighting, but I don't think it would be helpful to spread my erroneous beliefs in matters such as design or data structures. And I'll try to avoid those useless technical arguments with members better than me, I'll just listen. Lastly, I've bookmarked some important books and other material for this year, mainly about CS,algorithms and data structures, and slowly, I will try to study them in my spare time so I actually become better.
End of rant. Now, about the good stuff. I've made quite a progress on God Complex since the last update. I can now load the environments in the game, render the characters, and have some gameplay(not AI yet,basically the human-controlled character can make some moves). I am trying to make the game as data-driven as possible, so the definition of characters is done in text files. For reference, here is the file that defines zeus, zeus.chr:
name = zeus
class = Fighter
skeleton = c:\zeus\zeus_all\skel.xsf
mesh = body c:\zeus\zeus_all\zeus.001.xmf
material = c:\gods\zeus.mat
anim = stance c:\zeus\zeus_all\stance.xaf
anim = run c:\zeus\zeus_all\run.xaf
anim = walk c:\zeus\zeus_all\walk.xaf
anim = punch_strong c:\zeus\zeus_all\punch_strong.xaf
anim = uppercut c:\zeus\zeus_all\uppercut.xaf
anim = kick_strong c:\zeus\zeus_all\kick_strong.xaf
anim = duck_enter c:\zeus\zeus_all\Duck.xaf
anim = duck_idle c:\zeus\zeus_all\Duck_idle.xaf
anim = jump_enter c:\zeus\zeus_all\jump_Enter.xaf
anim = jump_idle c:\zeus\zeus_all\jump_Idle.xaf
anim = jump_kick c:\zeus\zeus_all\jump_and_kick.xaf
anim = kick_sweep c:\zeus\zeus_all\kick_sweep.xaf
anim = duck_punch c:\zeus\zeus_all\duck_punch.xaf
anim = punch_light c:\zeus\zeus_all\punch_light.xaf
anim = kick_light c:\zeus\zeus_all\kick_light.xaf
anim = hit c:\zeus\zeus_all\hit.xaf
Here is a material file(zeus.mat):
texture = 0 c:\zeus\zeus_all\zeus.bmp
texture = 1 c:\zeus\zeus_all\zeus_normal_map.bmp
texture = 2 c:\zeus\zeus_all\zeus_gloss.bmp
glsl = c:\gods\phong.glsl
And lasty, the phong.glsl file, which defines the vertex and pixel shaders to load, as long as setting some uniform values for the program.
vs = c:\gods\phong.vs
ps = c:\gods\phong.ps
uniform = diffuseMap 0
uniform = normalMap 1
uniform = glossMap 2
All this result that by doing LoadFighter("zeus.chr"), you get Zeus all done and ready for action :)
I had some trouble with normalmapping earlier this week. Especially on Zeus, there were some very weird shadows on the mesh, and there were problems with other characters, basically sometimes the bumpmaps seemed "inversed". At last, I found the problem deep inside Cal3D itself. Cal3D supplied the tangent vectors, and it was supposed to set tangent.w to 1 if the texcoords were not mirrored, and to -1 if they were. However, it just set it to 1. I fixed that, and now the lighting seems consistent.
Without further delay then, here is a screenshot:
And here's a video I uploaded on youtube:
Any comments are welcome :)
Well, since this is my first *proper* entry, I might as well give some information what's this all about. I'm a long time poster on GDNet, but I decided to keep a journal only recently mainly because I wanted to document the development of my first 'serious' game project, and create some awareness about it. Outside my day job as a software developer, I have created many half-finished projects(engines,puzzle games,shmups,FPS clones, you name it), and only a handful complete ones, but I consider this to be my first really serious game attempt. Let's see how that goes.
The game has the temporary title 'God Complex'. It's a 3D fighting game, similar to those like Tekken or Virtua Fighter. The rendering engine is created in C++ and OpenGL, with thoughts of integrating Python or Lua for things like the game logic and AI. The twist here is that it features gods from several mythologies fighting each other. So far, I have plans to release a 4-character demo. Those four characters are Zeus,Lucifer/Satan,Anubis and Charon(or the Grim Reaper). Each of those characters has his own stage(for example, Lucifer has Hell, Zeus has mount olympous, and so on).
The choice for only a 4-character demo was, of course, because of limited funds. I plan to create a site when the project is almost complete it, and release it there for free, charging a small price like $5 for the multiplayer version. Of course, I will look for any publishers that might be interested, even though the chances of that are pretty slim. Also, I'm thinking about entering the IGF contenst next year, if the demo is ready.
I am collaborating with 2 great artists that create the art of this game, both found right here in gdnet. Karan_s creates the characters and ChewyBunny the environments. Collaborations via internet always have their difficulties, but I think we are doing well and it will get only better as we learn each other's way of working in the future.
To be honest, the artists so far have completed more work than I have. We already have 3 characters completed(Zeus,Lucifer and Anubis) and one stage(Hell), whereas I haven't done much in reference to coding. I've written though a 10-page design document that details the scenario(although it will be revised because, well, it sucks), the characters, their moves and so on.
Anyway, yesterday I found some free time and implemented importing the environments and rendering them. The first task was to chose a format. I initially went for 3DS, and was going to use a free library I found on the internet that's worked before. Unfortunately, it didn't handle local transformations very well, so some objects were really off. Both me and the artist tried some things that didn't work, and in the end I decided, instead of writing my own loader for such a complex format like 3DS, to write a loader for the human-readable ASE format, which would convert the data into a binary format of my own that I could use with OpenGL easily.
It didn't take too many hours to create a quick-and-dirty utility that did this. There were some problems with importing the per-vertex normals, and in the end decided to calculate them myself, which turned out good. So yeah, now I have screenshots:
It's just basic per-vertex lighting for now,as I have decided to not work with fancy shaders and effects yet, and focus in gameplay for the next weeks. My next task is to create a Character Editor, where the developer create entirely new characters.
The Editor will work somewhat like this: The developer will load meshes,animations and materials. Then he will assign the animations to the few "basic" moves, like walking,running,crouching and so on. Then, he will be able to define entirely custom moves. Let's consider one arbitrary move, like "Kick". The developer will first load the "Kick" animation into the editor. Then, he will define the "hit areas". Those will probably be spherical regions that inflict some damage to the opponent. The developer can define their position relative to the character's skeleton, their moment of appearance and their duration, their strengths, the counter-moves that can block them, and so on. He will also be able to define other parameters, like forces or impulses upon the character's body, particle effects, emitting projectiles and that kind of stuff.
My ultimate goal is to be able to add a new character to the game simply by creating the character in the Editor and drop its file to the correct folder. Then the game will analyze the available moves of the character, and be able to AI control it, just like that. I figure, if I actually manage this, it will be great for the modding community, if of course the game actually attracts some attention.
Of course, creating that Editor will be a long process, so I don't plan on waiting until I finish it in order to start working on the actual game. I will work with both simultaneously, completing the parts I need at the time, and making changes as I go. This technique has proven fairly useful in the past, at least for me.
Well, that was a long post... Time to rest :)
-EDIT: And now we're done with the important stuff, something on the side: A ">video showing one of the stages of my WIP fighting game, made by non other than gamedev's very own and very talented Chewybunny. Curious? Well wait until I make a proper entry, that is when I stop being lazy!
No, seriously. Just wait. I'm gonna break your balls talking about this game over the next few months. Brace yourselves.