Vangard

I love Icelandic sagas, so I thought I would make a Norse world sim: Vangard. I am trying to avoid getting bogged down with graphics, so everything is very simple vector graphics now.

The idea of the game is that the player entity is a peer of other game entities, so all entities have the same advancement opportunities and so on. The player entity is just a blip in the world. I basically hate those RPGs where the NPCs just stand about waiting for you to interact with them. They should get a life!

The main focus has been getting the game logic fast enough. I am now handling 37,000 entities in 14ms so that is fast enough to move onto adding more content. That is, 14ms on an AMD A10 laptop APU.

Here are some screen captures of some red and black boxes chasing a brown box, and then another showing the view zoomed out to minimum zoom. Vector graphics woo!

EDIT: I started this thread 9 months ago, so it’s about time I put up a demo.

https://bitbucket.org/aclarke/headline-distribution/downloads/vangard.jar

In this version:

  • A ton of user interface work, including repository views, minimap, powerbars now have rollover text, I use multiple fonts, market trading, stashing at house, collecting from unowned entities

  • numerous stability fixes and resolution of multithreading issues

  • many new AI behaviors like CombatBehavior, ForagingBehavior, DoRecipeBehavior…

Controls:

  • to change game speed [ and ]

  • to zoom in and out: - and +

  • to switch between stats, combat, inventory, minimap, social and debug UIs, mouseover the runes at top left.

  • put player character on autopilot (AI takes over): Shift-A

  • to switch player control to a neighboring entity (you can only switch to entities that can move): Shift-S

  • to view an accessible inventory (e.g. market, home or apple tree): collide with the entity, this opens a right hand view showing the inventory of the neighboring entity

  • to stash at home: go to hovel, open the player inventory view and click the items to drop in the home, likewise click on the right to pick up the items again

  • to collect apples: walk to apple tree, and click the apples you want to collect.

  • same interaction at the market except you can get money from putting items in the market and pay (more) to get them out.

Looks interesting! (And that’s an impressive number of entities…)

Thanks! To be accurate, not all the entities do a lot yet and I may have a lot of work keeping performance up as I add new content.

The fully zoomed out view is showing about 4% of the world. I may need to make the world somewhat larger.

I couldn’t resist adding what I will loosely describe as eye-candy: I added some animated vector graphics smoke to my hovel chimneys.

Like all graphics it took me ages to get it acceptable and I promise to stay away from messing with graphics for at least the next two weeks. (When I will be staying on a farm with no computer). :slight_smile:

At least I have a simple animation framework now.

I can’t stop, I must do graphics! I added the day/night cycle and unsynched the animations, so it doesn’t look like the smokestacks in villages are doing synchronized swimming any more.

I tried to download a video recorder to share the awesomeness with youtube, but it crashed on install (BSR Screen Recorder). Any suggestions for a video recorder?

OBS seems to be the standard these days.

Getting errors when trying to intall the DirectX components required for the video recorder :frowning:

EDIT: OBS installed after installing some DirectX Runtime thingy.

Been away from a computer for a while, but I’m back and have made some updates. I added mouse events and a GUI system that at the moment consists of nothing but text boxes. In my screen grabs you can already see a GUI, but that was hardcoded in graphics library-dependent code. As the game is graphics library-independent I had to move all the logic up a level and out of the renderer.

EDIT: A day later and I have clickable buttons and a sort of low-rent radio group thing.

Haven’t got round to making that video yet…

I’ve started roughing out the user interface. I have three tabs set up so far.

  1. The stats view (here be the attributes and skills):

  1. The combat view, where you select your weapons, general strategy, and special orders… note the unique “Beg for Mercy” option!

  1. The inventory view. This hero clearly roams the Viking wastelands collecting randomized octagons… can never have enough!

In other news I increased the world size to 100 square kilometers, 4 times larger.

Anywhere we can download or watch it?? Looks good!

Thanks! It’s getting there. I want a simple village social system working then I will put up a demo.

I will upload a video tonight hopefully.

I am making nice progress with the village social structure, although it is a bit like boiling the ocean. It all breaks down into small parts though. At the moment I am defining the basic careers/roles people can follow, like beggar, laborer, peasant, woodcutter, hunter, smith, builder, farmer or chieftain (and how they can move between these roles). Then I have to define the behaviors that go with the roles, like Beg, or GatherWood, SellAtMarket… and then, theoretically, everything works!

I’m using my own markup language for the data files, because the parser is just one class and it’s a shame to waste my code! If I need to, I can convert it all to YAML easily.

That is an ambitious target but one well worth aiming for. Looking forward to following the updates on this one!

Thanks! I’ve got a long way to go…

I too am looking forward to upcoming updates and added features of this game. The graphics are looking good - you should definitely try keeping them simplistic!

Thanks! I’m going through a rough patch with the code at the moment, with some complex issues that are difficult to debug at midnight (the only time I get to work on the game). I’m working towards a working village economy and then I will put up a tech demo.

The goal is to keep the graphics simple and vector based. At the moment the game includes 0 textures and I plan to keep it that way. In my lunch breaks at work i am building a vector graphics editor to speed up the graphical side of things.

I’m really liking the whole “entities-get-a-life” thing. Looking forward to seeing progress!

I have been throwing that idea around in my head for a while (that of the non-player entities being on equal footing with the player). It’s neat to see someone trying to implement that for real. Looking forward to any progress you care to share with us. I dig the trees, by the way. Cheers!

Thanks! I’m very proud of my trees, I’m definitely breaking new ground in computer graphics with them :slight_smile: